Assembly allows you to authenticate credit cards to ensure that all credits cards registered on your platform are valid. When pre-authentication is enabled on a platform, the API calls Verify Card and Authorize Payment initiate the pre-authentication for a credit card and a payment for an item, respectively.
If you want to enable pre-authentication on your platform, contact Assembly support.
How it works
When enabled on your platform, pre-authentication is executed on two levels. You can pre-authenticate credit cards independently of any item transaction, as well as pre-authenticate a credit card payment for an item transaction.
Both card-level and item-level pre-authentication have a card authorization amount defined. This is the amount that Assembly holds, with no actual transfer of funds, to verify a card or authorize an item transaction.
- For a card-level pre-authentication, this amount is configurable by Assembly. The default amount is $1.00 and is released immediately. Contact Assembly support to adjust the default value.
- For an item-level pre-authentication, this amount is the item amount.
A key aspect of pre-authentication is that your platform has control over the amount held when a payment for an item is authorized.
You can verify a credit card by using the Verify Card API call. When a card is verified, the card account enters a verified state.
The workflow below illustrates a scenario where card-level pre-authentication is used in the context of an item transaction. Please note that you do not need an item transaction to verify a card.
If the verification for a card account is unsuccessful, then the card account retains its previous state and can be subjected to verification again.
Where an item transaction is involved, you can authorize a credit card payment using the Authorize Payment API call. Once an authorization is successful, you can then proceed to Capture Payment or Void Payment.
Note that when an authorization is successful, the platform holds the item amount for capture, but there is no transfer of funds happening.
If the payment authorization is unsuccessful, then the item retains its previous state and can be subjected to payment authorization again.
Lastly, a successful payment authorization does not affect the verification state of the credit card account, nor does it automatically authorize subsequent item transactions.
Capturing an authorized payment
After a payment is successfully authorized, you can use the Capture Payment API call to complete the payment for the transaction. This is similar to the Make Payment API call for the card-level pre-authentication. However, Capture Payment for an Item is used in conjunction with an authorized payment.
The workflow shown below illustrates a scenario where item-level pre-authentication is used to successfully complete a payment.
Voiding an authorized payment
When you want to cancel an authorized payment, you can use the Void Payment API call to remove an item’s payment_authorized status. When you do so, the item enters a void state, and you can authorize it again if needed using the Authorize Payment API call.
The workflow shown below illustrates a scenario where item-level pre-authentication is voided.
Note: Not all payment gateways support the Void Payment API call. In this case, you can wait until a payment authorisation expires. A payment authorisation expires after:
- 7-10 business days for debit cards
- 5 days for credit cards
Specific times vary dependant on the card issuer.