The auto-debit functionality or future payment takes advantage of token-based approach to obtain one-time authorization and user consents for future payments from Zeta users. The user token works conceptually similar to OAuth access tokens. This functionality allows you to save user payment details (including the user token) once and use the stored details to charge Zeta user for any future transactions.
A typical auto-debit payment flow would be as follow:
Merchant requests for user authorization code or OTP
Zeta sends OTP to user that he/she shares with merchants
Merchant verifies the OTP and obtain the user token from Zeta
Merchant generates a payment request to Zeta using the user token
Zeta authorizes the payment and returns payment status back to merchant application
The user token is valid for 3 months only.
Auto-Debit functionality requires a complex secured integration and is only available to selected merchant partners. Contact Zeta for more details.
Provision a Zeta developer account that enables you to securely communicate with Zeta payment server and invoke API requests.
Integration Flow
Account Creation: Create a developer account with Auto-Debit whitelisted.
We can also provide the same permission to an existing account as well.
Link Zeta Account: A first time user has to open the Developer/Merchant app and select the option to authenticate with Zeta. Please follow the save source flow to enable the linking of zeta details of the user to your account.
While saving a source for the purpose of Auto-debit flow please request for the following permissions - "SAVE_FOR_FUTURE", "GET_BALANCE", "AUTO_DEBIT". Refer to the Save a source API in the API reference for more details.
Create Transaction: The merchant can then make any transaction for the user (upto a configurable amount limit preset during on-boarding) without a 2nd factor authentication.
As per the designed checkout flow of the merchant, whenever the merchant needs to collect payment from user, merchant will call Charge With Auth API (v2.0) using the sourceId received in the Save Source flow.
Once the transaction is done, you can get the details of the transaction from Get Transaction details API.
Refund Transaction: The merchant can issue a refund to the user using the Refund a transaction API