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.
Some issuing banks do not support zero-amount transactions and may decline the request even when the card details are correct.

Furthermore, a successful zero-amount payment does not guarantee subsequent charge requests receive approval, such as in cases of the 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
    If set to null , the default fallback value 0 be used.
  • type field to auth

The value of 0 in the amount field is valid in the request:

Otherwise, your request be declined with the 2.01 General reason error code.

Authorization with 3D Secure

To process a zero-amount authorization as a 3D Secure payment, pass the force3ds parameter as a boolean true value. Be aware that 3D Secure may be initiated either by your side or by the payment processor.

Authorization with auto-settle

Auto-settle feature is not available for zero-amount payment requests.

Auto-settle is not be created if you send value in settle_interval field. When you initiate a zero-amount charge API , recurring API , resign API , Google Pay API or Apple Pay API request, is recommend sending null as the value for the settle_interval field.


Response outcomes

If the zero-amount payment is successful, the final order status displays the auth_ok value. Should the payment be unsuccessful due to an invalid or 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 are be declined, resulting in the 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 settle or void such payments.

Should you attempt to settle or void a pre-existing zero-amount transaction, expect to receive the 2.01 General reason error code.