dist/codex/bigcommerce-commerce/skills/bc-payments/SKILL.md
Integrate BigCommerce payments — Payment Processing API, stored payment instruments, payment methods, server-side payment processing for headless, and PCI considerations. Use when building custom payment flows or processing payments programmatically.
npx skillsauth add orcaqubits/agentic-commerce-claude-plugins bc-paymentsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fetch live docs:
https://developer.bigcommerce.com/docs/integrations/payments for payments guidesite:developer.bigcommerce.com payments processing api for Payment Processing APIbigcommerce payment methods api configuration for payment method managementBigCommerce handles payment gateway connections:
GET /v3/payments/methodsPOST /v3/payments/access_tokensPOST https://payments.bigcommerce.com/stores/{hash}/paymentsGET /v3/payments/methods?order_id={id} — returns accepted methods for an order:
{
"data": [
{
"id": "stripe.card",
"name": "Stripe",
"supported_instruments": [
{ "instrument_type": "VISA", "verification_value_required": true }
],
"test_mode": false,
"type": "CARD"
}
]
}
POST /v3/payments/access_tokens:
{
"order": { "id": 12345 }
}
Returns a single-use access token for the Payments endpoint.
POST https://payments.bigcommerce.com/stores/{hash}/payments
Headers:
Authorization: PAT {payment_access_token}Content-Type: application/json{
"payment": {
"instrument": {
"type": "card",
"number": "4111111111111111",
"expiry_month": 12,
"expiry_year": 2025,
"name": "John Doe",
"verification_value": "123"
},
"payment_method_id": "stripe.card"
}
}
Important: Sending raw card data requires PCI DSS compliance. Most implementations should use tokenized payment methods instead.
Customers can save payment methods for future purchases:
GET /v3/payments/methods?customer_id={id} — list stored instruments{
"payment": {
"instrument": {
"type": "stored_card",
"token": "abc123tokenvalue",
"verification_value": "123"
},
"payment_method_id": "stripe.card"
}
}
Payment methods configured in BigCommerce admin:
GET /v3/payments/methods — list configured payment methods:
Via V3 Payment Actions API:
POST /v3/orders/{id}/payment_actions/refund_quotes — get refund optionsPOST /v3/orders/{id}/payment_actions/refunds — process refundFor gateways supporting authorize-then-capture:
POST /v3/orders/{id}/payment_actions/void — void authorizationPOST /v3/orders/{id}/payment_actions/capture — capture authorized paymentIf you use the Payment Processing API with raw card data (type: "card"), your infrastructure must be PCI DSS compliant.
Fetch the BigCommerce Payment Processing API documentation for exact endpoints, request formats, and supported payment methods before implementing.
development
Build with Spree's headless Next.js storefront — the official `spree/storefront` repo (Next.js 16 App Router with Server Actions and Turbopack, React 19 Server Components, Tailwind CSS 4, TypeScript 5, `@spree/sdk`, Sentry), server-only auth (httpOnly JWT cookies + publishable key), MeiliSearch faceted catalog, one-page checkout with Apple/Google Pay/Klarna/Affirm/SEPA, multi-region market routing, GA4 + JSON-LD SEO, and Vercel/Docker deployment. Use when forking or customizing the storefront, or evaluating headless adoption.
tools
Build Spree extensions as Rails engines — gem scaffolding, `bin/rails g spree:extension`, mounting routes/migrations/assets, the modern `prepend` decorator pattern (`*_decorator.rb` with `self.prepended(base)`), generators (`spree:model_decorator`, `spree:controller_decorator`), the four customization surfaces in preference order (Events > Webhooks > Dependencies > Decorators), Spree::Dependencies for swapping service objects, gem release/versioning, and the deprecated Deface engine. Use when building a reusable Spree extension or adding non-trivial customization to an app.
development
Build with Spree's event bus and Webhooks 2.0 — `Spree::Events` publication, `Spree::Subscriber` DSL with `subscribes_to` and `on`, wildcard matching, lifecycle events (`{model}.created/.updated/.deleted` via `publishes_lifecycle_events`), the canonical event catalog (order.*, payment.*, shipment.*, product.*), Webhooks 2.0 endpoints, HMAC-SHA256 signing (`X-Spree-Webhook-Signature`), exponential-backoff retries, and Sidekiq job orchestration. Use when wiring event-driven business logic, building webhook consumers, or replacing ActiveSupport callback chains.
tools
Cross-cutting Spree development patterns — the customization preference hierarchy (Events > Webhooks > Dependencies > Decorators), `Spree::Dependencies` service-object swapping, the `_decorator.rb` + `prepend` + `self.prepended` idiom, idempotent subscribers and webhook receivers, multi-store scoping discipline, prefixed IDs, calculator polymorphism (shipping/promotion/tax share the base), service-object composition with `dry-monads` or simple results, why to avoid `class_eval` reopening and Deface, and Spree-on-Rails idioms (Hotwire/Turbo Stimulus, ActiveStorage, Action Cable, Sidekiq). Use when designing the architecture of a Spree extension or solving cross-cutting concerns.