Transactions API
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:
- A payment is authorized externally through Stripe.
- The transaction is POSTed to BigCommerce using the
/v3/payments/transactions/authorizationsendpoint. - 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:
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
codeandmessage) set tonull
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_idoverride_method_id