Transactions API

Note: This API is currently in beta.

The Transactions API allows you to create transaction records in BigCommerce for payments that were processed externally. This enables merchants to use BigCommerce for post-order actions such as capture, void, and refund on transactions that originated outside of BigCommerce.

Supported providers

Initially, this API supports importing transactions from the following payment providers:

  • Adyen
  • Authorize.net
  • Braintree
  • PayPal Commerce Platform
  • Stripe

Before using this API, these providers must first be configured on the merchant’s store using the same credentials as those being used to process payments externally.

Supported payment methods

The following payment methods are supported:

  • ACH (Adyen, Braintree, PayPal Commerce Platform, and Stripe only)
  • Apple Pay
  • Credit Card
  • Google Pay
  • iDEAL
  • PayPal (Braintree and PayPal Commerce Platform only)

Prerequisites

To perform post-order actions such as capture or void on a transaction, the payment provider used to process the payment outside of BigCommerce must already be configured within BigCommerce at the time the transaction is created. The payment provider must be enabled and configured with the same channel and currency that the order is placed against.

This is because the payment provider ID is stored against the transaction at time of creation.

Provider configuration required If the payment provider is not configured

in BigCommerce when the transaction is created, no provider ID will be stored against the transaction. This means BigCommerce will not know which provider to call when attempting to capture or void the transaction.

Example scenario

Consider the following scenario:

  1. A payment is authorized externally through Stripe.
  2. The transaction is POSTed to BigCommerce using the /v3/payments/transactions/authorizations endpoint.
  3. Stripe is not yet configured within BigCommerce for the currency and channel the order was created against.

In this case, when an attempt is made to capture the authorized transaction within BigCommerce, BigCommerce does not know which provider to call to capture the transaction.

Endpoints

Individual endpoints are available for creating single transactions:

EndpointDescription
POST /v3/payments/transactions/authorizationsCreate an authorization transaction
POST /v3/payments/transactions/purchasesCreate a purchase transaction

Future endpoints The following endpoints are planned for future phases: -

/v3/payments/transactions/captures - /v3/payments/transactions/voids - /v3/payments/transactions/refunds

Batch processing

These endpoints do not currently support batch processing. Support for batch processing may be provided in a future phase.

Security

These endpoints are secured in the same way as other BigCommerce REST endpoints as described in Authentication.

Required OAuth scopes

The OAuth2 scope required for these endpoints is store_v2_transactions, which is the same as the modify scope of /v3/orders/{order_id}/transactions.

This scope can be granted when creating a store-level API account in the control panel.

Payload notes

AVS and CVV results

The avs_result and cvv_result fields must either:

  • Be omitted entirely
  • Be null
  • Have all property values (such as code and message) set to null

Provider data

The provider_data field varies by provider and payment instrument. Accepted keys are filtered server-side based on the provider.

For example, depending on the payment instrument, the provider_data keys for Stripe might include:

  • mandate_method_id
  • override_method_id

Articles