A merchant may want to initiate a zero-amount authorization for the following reasons:
- Storing card details for future use: International payment systems strongly recommend sending a zero-amount authorization before storing card credentials for subsequent transactions.
- Card verification: A merchant may advance a potential customer to the next stage in the sales cycle by requesting their card details. This step confirms the card validity without any charges and also gauges the customer’s intent to finalize a purchase.
- Card registration: Occasionally, customers must register a card with their account. This action ensures that the card undergoes verification for potential future charges. An example would be registering a card at the outset of an evaluation period, ensuring its verification for possible charges when the period ends.
- Free trial offers: Merchants might offer their subscribers a trial period for their products at no cost or a discounted rate. This involves initiating a zero-amount authorization transaction before starting regular billing cycles.
- Fraud prevention: Assess the risk associated with a payment card before initiating high-value transactions. This reduces the likelihood of fraudulent activities.
Furthermore, a successful zero-amount payment does not guarantee subsequent charge requests will receive approval, such as in cases of the
The customer’s card balance has insufficient funds. 3.02 Insufficient funds payment failure.
Request configuration
To perform a zero-amount payment, configure the payment request with the following settings:
- amount field to 0
- type field to auth
Otherwise, your request will be declined with the
“Invalid data” code message is used for validation errors, with the reason for the validation triggering specified in the body (object error) of the response. Also, the code message “Order not found” is used as a decline on orders in case of API response to request on non-existent order. 2.01 General reason error code.
Authorization with 3D Secure
To process a zero-amount
This process is designed to enable secure and reliable payment processing through the use of 3D Secure authentication, which provides an additional layer of security to prevent fraudulent transactions.
authorization as a 3D Secure payment
, pass the
force3ds
parameter as a boolean with a default value of
true
. Be aware that 3D Secure may be initiated either by our side or by the payment processor.
Authorization with auto-settle
Auto-settle is a feature that automatically settles orders if you provide a settle_interval value in your charge requests with the type auth.
Auto-settle feature
is not available for zero-amount payment requests.
Auto-settle will not be created if you send value in settle_interval field. When you initiate a zero-amount charge API , Google Pay API or Apple Pay API request, we recommend sending null as the value for the settle_interval field.
Response outcomes
If the zero-amount payment is successful, the final
Orders can also go through various other states, such as 3ds_verify, approved, declined, refunded, etc.
order status
displays the
auth_ok
value. Should the payment be unsuccessful due to an
The customer entered an incorrect card number.
invalid
or
Card is expired.
expired
card, the final order status shows the
auth_failed
value.
Note that if your payment provider does not support this API method, the zero-amount payment will be declined, resulting in the
An error occurred due to the processor not supporting the requested API method.
5.10 Processor does not support requested API method
error code.
Void and settle
A zero-amount authorization is a specific payment and merchants must not
AThis process involves the merchant obtaining authorization to hold a Customer’s funds, Solidgate communicating with the acquirer to process the transaction, and the merchant settling the transaction.
settle
or
The process involves the merchant obtaining authorization to hold the Customer’s funds and initiating a void operation if needed.
void
such payments.
Should you attempt to settle or void a pre-existing zero-amount transaction, expect to receive the
“Invalid data” code message is used for validation errors, with the reason for the validation triggering specified in the body (object error) of the response. Also, the code message “Order not found” is used as a decline on orders in case of API response to request on non-existent order.
2.01 General reason
error code.