This article serves as an integration guide for developers/product managers of any business who use Sodexo and Zeta money as a payment instrument on their user payment flows.
Payment exceptions occur when an API operation fails to process a request payload. See Error Codes to know more about exception response codes. |
Entity | Description |
---|---|
User | The customer who purchases products on the e-commerce application. |
Merchant | The Sodexo merchant whose products are being purchased. |
Requester | A merchant aggregator who sells goods/services of Sodexo acquired merchants and requests transactions on merchant’s behalf. |
Zeta provides payment integration methods for phone number and card. Both methods consist of a Checkout Flow and Save Source Flow.
redirectUserTo
URL (a Zeta domain page where user completes the authorization of the transaction). Post this the authorization step is completed on Zeta’s domain.Saved Source: Call Create a Transaction API with sourceId
parameter (a unique identifier of tokenized source available with the requester).
New Source: Call any of the below APIs based on the scenario:
To collect phone number of the user in their domain, create a transaction using the Create transaction with SourceInfo API.
To use Zeta’s default phone number entry page, call the Create a Transaction API. This API call should have sourceId
as null.
The requester/merchant redirects the user to redirectUserTo
page to complete the authorization.
User enters the Sodexo registered phone number. They can also choose whether to allow saving of details for future transactions.
Skip this step, if you have followed steps 3a or 3b (ii). |
User is redirected to user authentication page on Zeta domain where they are prompted to enter the OTP (automatically sent to the user when they land on the User Authentication page). User enters the OTP and submits it to complete transaction authentication and authorization.
Based on authorization's success or failure, the user is taken to Zeta’s success or failure page respectively. Post this, the user is redirected to requester’s/merchant’s successUrl
or failureUrl
page respectively.
In above redirection, the requester gets q=<xxxxx>
as a query parameter. The requester/merchant calls Get Transaction Details API to validate the transaction state and amount for the transaction created with requestId = xxxxx
. Only after successful validation, the merchant/requester should consider the transaction as completed.
If the user has chosen to Securely save phone number for future in step 5, Get Transaction Details response will also return the sourceId
that can be saved and used in future transactions.
redirectUserTo
URL (a Zeta domain secured page where user completes the authentication process).redirectUserTo
page.successUrl
or failureUrl
page respectively.q=<xxxxx>
as a query parameter. The requester/merchant calls Get Transaction Details API with saveSourceRequestId = xxxxx
and this returns the sourceId
which can be saved and used for future transactions.Checkout flow is different for PCI DSS and non-PCI DSS compliant requesters/merchants, as explained below:
|
User clicks on Save Sodexo Card button on merchant’s/requester’s website.
Merchant’s/requester’s server makes a Save Source API call and in return gets redirectUserTo
URL (a Zeta domain secured page where user completes the card authentication process) .
Requester/merchant redirects the user to redirectUserTo
page.
User enters the card number, CVV, and expiry date.
User gets redirected to ACS page where they are prompted to enter the card/super card PIN based on the issuer of the card. User enters the PIN and submits it. This step completes the authentication.
Based on authentication success or failure the user gets redirected to requester’s/merchant’s successUrl
or failureUrl
page respectively.
In the above redirection, the requester gets the q=<xxxxx>
as a query parameter. The requester/merchant calls Get Transaction Details API with requestId
= xxxxx.
This returns the sourceId
which can be saved for future to get the maskedPan
details, balance, and other info by calling the Get a Source API.
Save card flow debits Rs 0.01 from the user’s account. |
|