Two stages: authorize, then capture
The Bango Platform uses two-step transactions for payments: authorization, and then capture. This section describes how transactions and payments work.
To allow an identified user to purchase an item, your store must perform the following steps:
Starting and completing a transaction are always separate Bango Payment API requests, and each request might not succeed for various reasons. Starting a transaction may require the store to take further action, such as redirecting the user, before the payment is authorized.
Using two separate steps – authorize, then capture – fits the requirements of most payment providers, and is considered best practice. As some payment providers require capture to take place only after an item is shipped, there may be minutes, hours, or days between authorization and capture.
The Bango Platform automatically handles the differences between payment providers, whether their own systems support two-step payments or one-step payments.
Your store must always perform both steps to complete a transaction, even if working with a payment provider that supports only one-step payments.
You can cancel a transaction that has been started but not completed. This releases any reserved funds. You can also refund a completed transaction, where payment providers support refunds.
The Bango Platform currently supports two payment methods:
Not all payment methods are available in every payment scenario. To improve the user experience you can perform an optional initial API call to check for available payment methods before starting the transaction.
The Bango Platform supports idempotency in the Bango Payment API for transactions. With idempotency, the Bango Platform guarantees to return the same response given a duplicate request. For example, if a store makes an API request to authorize payment for an item, and then makes the same API request again, the response to the second request will be identical to the response to the first request: the second request does not create a new transaction. This feature helps you avoid double-charging and double-refunding.
To enable idempotency, contact Bango Support. When idempotency is enabled, in your transaction-related API requests you must include a persistent
externalTransactionId parameter. This parameter lets the Bango Platform identify repeated requests.
In this section: