Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduction
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.
Note |
---|
Payment exceptions occur when an API operation fails to process a request payload. See Error Codes to know more about exception response codes. |
Terminology Used
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. |
Integration
The Sodexo E-Com integrationMethods
You can integration for payments using phone number as well as card provides the checkout flow and save card flow. The details of each flow is described below.
Mobile Flow
Card Flow
Phone Number Integration
Checkout
- User adds items to the cart on the e-commerce application and goes to the checkout page.
- User clicks on PayWithSodexo option for the payment.
- The requester’s/merchant's server creates a transaction on Zeta and in return gets redirectUserTo URL (this is a Zeta domain page where user completes the authorization of the transaction). Post this the authorization step is completed in Zeta’s domain.
In case of already Saved Source: the Create a Transaction API call needs to be called with value of parameter sourceId. This sourceId is an identifier of tokenized source available with the requester.
In case of a New Source: Merchant can call any of the below APIs based on scenario:
If the merchant wants to collect phone number of the user in their domain then the transaction can be created using Create transaction with SourceInfo API.
If the merchant wants to use Zeta’s default phone number entry page, then the merchant can 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. User can also choose whether to allow saving of details for future transactions.
Info title Note Skip this step, if you have followed steps 3a or 3b (ii).
Image AddedUser is redirected to User Authentication page in Zeta domain where he/she is prompted to enter the OTP (which is 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.
Image AddedBased on authorization success or failure, the user is taken to Zeta’s success or failure page. Post this the user gets redirected to requester’s/merchant’s successUrl or failureUrl.
Image Added Image Added
Save Card
Card Integration
Below are the payment flows which depict the non-compliancy and compliancy with the PCI DSS Standards.
Checkout
Div | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Save Card
User clicks on "Save Sodexo Card" button on merchant’s/requester’s website.
The merchant’s/requester’s server makes a ‘Save a Card’ API call and in return gets
redirectUserTo
URL (a Zeta domain secured page where user completes the card authentication process) .The requester/merchant redirects the user to "
redirectUserTo
" page.The user enters the card number, cvv2 and expiry date.
User gets redirected to ACS page where he/she is 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
orfailureUrl
.In 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 thesourceId
which can be saved for future to get the maskedPan details, balance and other info by calling the "Get a Source" API.
Note |
---|
Save card flow debits Rs 0.01 from the user’s account. |
Panel | ||||||
---|---|---|---|---|---|---|
|