Unknown macro: {hivestonebreadcrumb}
Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 64 Next »

Overview

You can make use of following APIs during a payment scenario. This section explains about all RESTful operations including their request and response parameters.

Payment exceptions occur when an API operation fails to process a request payload. See Error Codes to know more about exception response codes.

Operation: Create a Transaction

This operation enables you to create a transaction.

Functional Behaviour

POST

/v1.0/sodexo/transactions

Input Parameters

ParametersDescription

apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

requestId

Transaction Request ID
This is generated by the requester. Should be globally unique. Zeta will reject a duplicate transaction ID.

sourceId (Optional)

Can be passed when transaction is created with a saved source.
Source is a representation of customer’s instrument like card, etc using which he/she pays to the merchant. A source provides convenience for a customer so as not to type in the card details every time while completing a transaction. If the customer chooses to get the card details saved (along with a set of permissions like getBalance, etc) during a transaction, then the get transaction details API response returns the sourceId. This sourceId can be saved by merchant for showing the saved cards to the customer.

amount

Possible values supported for currencies “INR” for now.
Value is in Rupees.

merchantInfo

Information of the merchant (payee) for which payment is requested
aid: acquirer ID given by Sodexo

mid:  merchant ID given by Sodexo

tid: terminal ID given by Sodexo

purposes

Each purpose should have amount (in the base currency of transaction).
Possible purpose are “FOOD”, “FUEL”, etc.

failureUrl

Requester’s URL where Zeta will redirect on failed transaction authorization

successUrl

Requester’s URL where Zeta will redirect on successful transaction authorization

Request Header
{
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}
Request Body
{
      "requestId": "req_spar_vbdjkahffoasdh874627wqufid",
      "sourceId": "src_wqe47hxfjksor89y4",
      "amount": {
      "currency": "INR",
      "value": "20.00"
      },
      "merchantInfo": {
        "aid": "sodexo",
      	"mid": "usdfhaki879yh",
      	"tid": "56273158bj",
      },
      "purposes": [
		{
				"purpose": "FOOD",
        		"amount": {
      				"currency": "INR",
      				"value": "20.00"
    			}
		}             
      ],
      "failureUrl": "http://merchant-site/failed.php",
      "successUrl": "http://merchant-site/success.php"
}

Output Parameters

ParametersDescription

transactionId

Transaction ID generated by Zeta

requestId

Same as in request payload

transactionState

'WAITING_FOR_CONSENT' OR 'WAITING_FOR_SOURCE'

redirectUserTo

URL where requester should redirect the user to complete authorization of transaction.
The redirection returns a HTML page which collects the user’s vector in the form of phoneNo, CardDetails, etc along with authentication details like PIN, password, OTP, etc. In cases where sourceId is already passed while creating a transaction user’s vector are not collected and only authentication details are collected.
After authorization Zeta redirects back to requester’s success/failure Url.

Response Sample
{
   "transactionId": "txn_hfsadh98iadsofi",
   "requestId": "req_spar_vbdjkahffoasdh8746",
   "amount": {
       "currency": "INR",
       "value": "20.00"
   },
   "transactionState": "WAITING_FOR_CONSENT",
   "sourceId": "src_iwuehy89yhlfkjfd",
   "redirectUserTo":  "https://ecom.zetaapps.in/v1.0/sodexo/transactions/initiate?q=8o32hjsfad930uklfsajdfo"
}

Error Codes

Possible error codes are - ER000, ER007, ER011, ER012, ER013, ER014, ER015, ER016, ER017, ER019, ER024
For more details refer to Error Codes section below.

Operation: Cancel a Transaction

This operation enables you to cancel a transaction.
A transaction can be cancelled only before the user attempts to authorise it. Given this a transaction in any of the following states can be cancelled:

  • CREATED
  • WAITING_FOR_SOURCE
  • WAITING_FOR_CONSENT

Functional Behaviour

POST

/v1.0/sodexo/transactions/{transactionId}/cancel

Input Parameter

ParametersDescription

apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

Request Header
Headers:
{
	"apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}

Output Parameters

ParametersDescription

cancellationStatus

SUCCESS, FAILED

reason

Reason in case of cancellation failure

Response Sample
{
	"transactionId" : "txn_hfsadh98iadsofi",
	"cancellationStatus" : "SUCCESS",
	"reason" : null
}

Error Codes

Possible error codes are - ER000, ER007, ER008, ER010, ER023
For more details refer to Error Codes section below.

OperationGet Transaction Details

This operation enables you to retrieve the transaction details.

This API should be used only for Purchase transactions and not for Refund transactions.

Functional Behaviour

GET

/v1.0/sodexo/transactions/{transaction_id}

/v1.0/sodexo/transactions/request_id/{request_id}

/v1.0/sodexo/transactions/token_request_id/{token_request_id}

Input Parameters

ParametersDescription

apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

Request Header
Headers:
{
	"apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}

Output Parameters

ParametersDescription

transactionState

(For detailed description, refer to Transaction States)

WAITING_FOR_SOURCE, WAITING_FOR_CONSENT, CANCELLED, CANCELLED_BY_USER_AGENT, 

WAITING_FOR_AUTHORIZATION, AUTHORIZED, CLEARANCE_INITIATED, CLEARED,

UNAUTHORIZED,

REFUND_INITIATED, REFUND_FAILED, REFUND_COMPLETED, REFUND_DROPPED

retrievalReferenceNumber

The retrievalReferenceNumber (RR Number) for the transaction. Its always a 12-digit number.

transactionReceipt

Transaction receipt object with receiptID, payerInfo, payeeInfo and other details.

Response Sample
{
  "transactionId": "txn_hfsadh98iadsofi",
  "requestId": "req_spar_vbdjkahffoasdh8746",
  "amount": {
    "currency": "INR",
    "value": "21"
  },
  "purposes": [
    {
      "purpose": "FOOD",
      "amount": {
        "currency": "INR",
        "value": "21"
      }
    }
  ],
  "transactionState": "AUTHORIZED",
  "failureReason" : null,
  "sourceId": "src_iwuehy89yhlfkjfd",
  "requestTime": "1505637992486",
  "retrievalReferenceNumber": "107461827462",
  "transactionReceipt": {
    "authorisedAmount": {
      "amount": "21",
      "currency": "INR"
    },
    "debits": [
      {
        "ifi": 156699,
        "postingID": "852730",
        "value": {
          "amount": "20",
          "currency": "INR"
        },
        "productType": "Meal"
      },
      {
        "ifi": 156699,
        "postingID": "852731",
        "value": {
          "amount": "1",
          "currency": "INR"
        },
        "productType": "Meal"
      }
    ],
    "credits": [
      {
        "ifi": 156699,
        "postingID": "4254095",
        "value": {
          "amount": "21",
          "currency": "INR"
        }
      }
    ],
    "receiptID": 58275009977,
    "payeeInfo": {
      "name": "Mountain Trail Foods P",
      "location": "Bangalore",
      "type": "EXTERNAL_BUSINESS"
    },
    "payerInfo": {
      "imageURL": "",
      "name": "Archit Verma",
      "type": "ZETA_INDIVIDUAL"
    },
    "authorisationTime": 1505637992488
  }
}

Error Codes

Possible error codes are - ER000, ER007, ER010, ER013, ER017, ER019

For more details refer to Error Codes section below.

Operation: Generate a Chargeable Token

This operation enables you to generate a chargeable token needed to authorize a transaction in the next API operation.


Functional Behaviour

POST

/v1.0/sodexo/tokens

Input Parameters

ParametersDescription
apiKeyapiKey will be shared by Zeta with requester during the on-boarding process.
requestIdThis is generated by the requester. Should be globally unique. Zeta will reject a duplicate token generation request id. 
sourceId (Optional) 

Can be passed optionally when token is created with a saved source. If the sourceId is passed, then Zeta doesn't prompt the user to enter the card details and directly allows user to enter the authentication page.

Source - is a representation of customer’s instrument like card and so on using which he/she pays to the merchant. A source provides convenience for a customer so as not to type in the card details every time while completing a transaction. If the customer chooses to get the card details saved (along with a set of permissions like getBalance and others) during a transaction, then the get transaction details API response returns the sourceId. This sourceId can be saved by merchant for showing the saved cards to the customer. 

amountPossible values supported for currencies is “INR” as of now. Value is in Rupees
failureUrlZeta redirects if the users fails to authenticate the token generation. 
Request Header
{  
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo" 
}
Request Body
{        
 "requestId": "req_spar_vbdjkahffoasdh874627wqufid",        
 "sourceId": "src_wqe47hxfjksor89y4",        
 "amount":{        
		"currency": "INR",        
		"value": "2000"
		 },        
 "failureUrl": "http://merchant-site/token_generation_failure.php" 
} 

Output Parameters

ParametersDescription
tokenIdToken ID generated by Zeta 
requestIdSame as in request payload 
redirectUserTo

URL where requester should redirect the user to complete generation of chargeable token.
The redirection returns a HTML page which collects the user’s vector in the form of phoneNo, CardDetails and more along with authentication details like PIN, password, OTP and so on. In cases where sourceId is already passed while creating a token user’s vectors are not collected and only authentication details are collected.

After authentication, Zeta redirects back the user to a page with bar/QR code rendered for the user.

In case if the user fails to authenticate the token generation, Zeta redirects the user to tokenGenerationFailureUrl
This token expires after a pre-agreed period of time.

Response Sample
{    
 "tokenId": "token_hfsadh98iadsofi",    
 "requestId": "req_spar_vbdjkahffoasdh874627wqufid",    
 "amount":{        
		"currency": "INR",        
		"value": "2000"    
		},  
		"redirectUserTo": 
		"https://ecom.zetaapps.in/v1.0/sodexo/gen_token/initiate?q=req_spar_vbdjkahffoasdh874627wq ufid" 
} 

Error Codes

Possible error codes are - ER000, ER007, ER012, ER013, ER014, ER017, ER019

For more details refer to Error Codes section below.

Operation: Authorize a Transaction

This operation enables you to make a transaction request by passing a valid token code which is obtained using the Generate a Chargeable Token API and corresponding flow.

Functional Behaviour

POST

/v1.0/sodexo/transactions/authWithToken

Input Parameters

ParametersDescription
apiKeyapiKey will be shared by Zeta with requester during the on-boarding process.
tokenCodeThis is the 9-digit code that Zeta generates and provides in the form of Bar/QR after pin collection and authentication flow. 
requestIdThis is generated by the requester and is globally unique. Zeta will reject a duplicate transaction ID. 
amountPossible values supported for currencies is “INR” as of now. Value is in Rupees
merchantInfo

Information of the merchant (payee) for which payment is requested.

aid: acquirer ID given by Sodexo

mid: merchant ID given by Sodexo

tid: terminal ID given by Sodexo 

purposesEach purpose should have amount (in the base currency of transaction). Possible purposes are “FOOD”, “FUEL”, and so on. 
failureUrlRequester’s URL Zeta redirects on failed transaction authorization 
successUrlRequester’s URL Zeta redirects on successful transaction authorization 
Request Header
{            
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo" 
}
Request Body
{                
 "tokenCode": "984628479",        
 "requestId": "req_spar_vbdjkahffoasdh8746",        
 "amount":{        
		"currency": "INR",        
		"value": "2000"        
},        
"merchantInfo":{         
		"aid": "sodexo",        
		"mid": "usdfhaki879yh",        
		"tid": "56273158bj"        
},        
"purposes": [ 
			{ 
				"purpose": "FOOD",             
				"amount":{        
							"currency": "INR",        
							"value": "2000"      
						 } 
			}  
       ],        
	"failureUrl": "http://merchant-site/failed.php",        
	"successUrl": "http://merchant-site/success.php" 
} 

Output Parameters

ParametersDescription
transactionState

WAITING_FOR_SOURCE, WAITING_FOR_CONSENT, CANCELLED, CANCELLED_BY_USER_AGENT, 

WAITING_FOR_AUTHORIZATION, AUTHORIZED, CLEARANCE_INITIATED, CLEARED,

UNAUTHORIZED,

REFUND_INITIATED, REFUND_FAILED, REFUND_COMPLETED, REFUND_DROPPED

tokenGenerationRequestId

The request id shared by requester while calling Generate Chargeable Token API.
transactionReceiptTransaction receipt object with receiptId, payerInfo, payeeInfo and other details
sourceId

sourceId is returned in one of the following conditions:
-If the user has chosen to "Save the Card for Future Transactions"
-If the sourceId is already been passed during token creation 

requestTimeTimestamp when the transaction was requested.
Response Sample
{
  "transactionId": "txn_hfsadh98iadsofi",
  "requestId": "req_spar_vbdjkahffoasdh8746",
  "amount": {
    "currency": "INR",
    "value": "21"
  },
  "purposes": [
    {
      "purpose": "FOOD",
      "amount": {
        "currency": "INR",
        "value": "21"
      }
    }
  ],
  "transactionState": "AUTHORIZED",
  "sourceId": "src_iwuehy89yhlfkjfd",
  "requestTime": "1505637992486",
  "tokenGenerationRequestId": "req_spar_vbdjkahffoasdh874627wqufid",

  "transactionReceipt": {
    "authorisedAmount": {
      "amount": "21",
      "currency": "INR"
    },
    "debits": [
      {
        "ifi": 156699,
        "postingID": "852730",
        "value": {
          "amount": "20",
          "currency": "INR"
        },
        "productType": "Meal"
      },
      {
        "ifi": 156699,
        "postingID": "852731",
        "value": {
          "amount": "1",
          "currency": "INR"
        },
        "productType": "Meal"
      }
    ],
    "credits": [
      {
        "ifi": 156699,
        "postingID": "4254095",
        "value": {
          "amount": "21",
          "currency": "INR"
        }
      }
    ],
    "receiptId": 58275009977,
    "payeeInfo": {
      "name": "Mountain Trail Foods P",
      "location": "Bangalore",
      "type": "EXTERNAL_BUSINESS"
    },
    "payerInfo": {
      "imageURL": "",
      "name": "Archit Verma",
      "type": "ZETA_INDIVIDUAL"
    },
    "authorisationTime": 1505637992488
  }
}

Error Codes

Possible error codes are - ER000, ER007, ER010, ER013, ER017, ER019, ER022, ER024

For more details refer to Error Codes section below.

Operation: Get a Source

This operation enables you to retrieve the details of a source.

Functional Behaviour

GET

/v1.0/sodexo/sources/{sourceId}

Input Parameters

ParametersDescription

apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

Request Header
Headers:
{
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}

Output Parameters

ParametersDescription

sourceId

source id for which details are fetched

sourceType

CARD, WALLET [Phone, Email]

sourceDetails

maskedPan: Attribute specific to source with type ‘CARD’. Represents masked Pan Hash for the card

accountBalances

Balance for various accounts that user has with Zeta.

Response Sample
{
  "sourceId": "src_iwuehy89yhlfkjfd",
  "sourceType": "CARD",
  "sourceDetails": {
    "maskedPan": "360846xxxx4739",
    "ownerName": "Mrinal Trivedi",
    "cardIssuer": "ZETA"
  },
  "accountBalances": [
    {
      "account": "121928192891829",
      "productType": "MEALPASS",
      "currency": "INR",
      "balance": "200.00",
      "ifi": "16382"
    }
  ]
}

Error Codes

Possible error codes are - ER000, ER007, ER013, ER014, ER017, ER019
For more details refer to Error Codes section below.

Operation: Refund a Transaction

The operation enables you to partially or fully refund the amount during a pre and post clearance process.

When refund happens?
If full refund is requested before the clearance the transaction would be refunded immediately.
If the refund is requested post clearance or a partial refund is requested, then refund will be done in next 2-3 days.

Functional Behaviour

POST

/v2.0/sodexo/transactions/refund

Input Parameters

ParameterDescription
requestIdRefund transaction request ID. This is unique across transactions.
amountTotal or partial amount to be refunded.

transactionId

Transaction ID returned by Zeta for purchase transaction
Request Header
{
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}
Request Body
{
 "requestId" : "requestIdStage10000026",
  "amount" : {
       "currency" : "INR",
       "value" : "6.00"
        },
 "transactionId" : "txn_69a2f3a5-0afb-46a3-86d2-1ec62881e067", 
        "purposes" : [
            {
                "purpose" : "FOOD",
                "amount" : {
                    "currency" : "INR",
                    "value" : "6.00"
                }
            }
        ]
    }

Output Parameters

ParameterDescription
requestIdRequest ID echoed back from the request payload itself.
purchaseTransactionIdPurchase transaction ID of the requested refund. This parameter is mandatory to get the refund status.
refundTransactionIdRefund transaction ID of a requested refund.
Response Sample
{
  "requestId": "requestIdStage10000026",
  "purchaseTransactionId": "txn_28802c2f-2943-4bfc-bb87-a70dfbd936de",
  "refundTransactionId": "txn_f2a7802c-ef84-43c3-8615-5f706b995c23",
}

Error Codes

Possible refund-related error codes are - ER041, ER042. For more details refer to Error Codes section below.

Operation: Get Refunds

The operation enables you to retrieve the details on the state of the refunds.

Functional Behaviour

GET

/v2.0/sodexo/transactions/{purchaseTransactionId}/refunds

Input Parameters

ParameterDescription
apiKeyapiKey will be shared by Zeta with requester during the on-boarding process.
purchaseTransactionIdPurchase transaction ID of the requested refund from the Refund a Transaction operation.


Request Header
Headers:
{
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}

Output Parameters

ParameterDescription

refundTransactionId

Refund transaction ID of a refund transaction

requestId

Purchase transaction request ID.

amount

The amount associated with a particular refund.

refundState

State of the refund


Response Sample
{
    "refundStatusDetails": {
  "txn_6e5d9703-53fa-4cde-b631-30c0ab81af97": {                           
  "refundTransactionId": "txn_6e5d9703-53fa-4cde-b631-30c0ab81af97",  
         "requestId": "requestIdStageV2Refund10002",
        "refundState": "REFUND_COMPLETED",
                "amount": {
                    "currency": "INR",
                    "value": "3.00"
                },
                "requestTime": 1513788119505,
                "purposes": [
                    {
                        "purpose": "FOOD",
                        "amount": {
                            "currency": "INR",
                            "value": "3.00"
                        }
                    }
                ]
            },
   "txn_c80aa393-c003-4ecd-9649-2e5fb381a6c3": {                           
  "refundTransactionId": "txn_c80aa393-c003-4ecd-9649-2e5fb381a6c3",  
  "requestId": "requestIdStageV2Refund10004",
    "refundState": "REFUND_COMPLETED",
       "amount": {
                    "currency": "INR",
                    "value": "1.00"
                },
                "requestTime": 1513788236585,
                "purposes": [
                    {
                        "purpose": "FOOD",
                        "amount": {
                            "currency": "INR",
                            "value": "1.00"
                        }
                    }
                ]
            }
        }
    }

This version will soon be deprecated. Please refer to Version 2 for partial and full refund API.

This operation enables you to fully refund a transaction. Currently, refund is executed by end of day during the clearance process. The payer gets the refunded money back in 2-3 working days.

Functional Behaviour

POST

/v1.0/sodexo/transactions/refund

Input Parameters

ParametersDescription

transactionId

Transaction ID returned by Zeta after transaction authorization

amount

Total amount to be refunded

Request Header
{
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}
Request Body
{
  "transactionId": "txn_hfsadh98iadsofi",
  "amount": {
      "currency": "INR",
      "value": "20.00"
  }
}

Output Parameters

ParametersDescription

refundStatus

SUCCESS

In case of a failure scenario, the API throws error with one of the error codes associated with this API.

transactionId

Transaction ID echoed back from the request payload itself.

requestId

Purchase transaction request ID.

amount

Total amount to be refunded.

Response Sample
{
 "refundStatus": "SUCCESS",
 "transactionId": "txn_hfsadh98iadsofi",
 "requestId": "req_spar_fhskjdahfiojkfnsdakj",
 "amount": {
      "currency": "INR",
      "value": "20.00"
	}
}

Error Codes

Possible error codes are - ER000, ER007, ER010, ER017, ER021, ER022, ER023

For more details refer to Error Codes section below.

Operation: Save a Card

This operation enables you to save a card.

This API call debits Rs 0.01 from the user’s card.

Functional Behaviour

POST

/v1.0/sodexo/sources/save

Input Parameters

ParametersDescription

apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

requestId

Transaction Request ID
This is generated by the requester. Should be globally unique. Zeta will reject a duplicate transaction id.

failureUrl

Requester’s URL where Zeta will redirect on failure of authentication

successUrl

Requester’s URL where Zeta will redirect on successful authentication

Request Header
{
 "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}
Request Sample
{
      "requestId": "req_spar_vbdjkahffoasdh874627wqufid",       
      "failureUrl": "http://merchant-site/cardsavefailed.php",
      "successUrl": "http://merchant-site/cardsavesuccess.php"
}

Output Parameters

ParametersDescription

requestId

Same as in request payload

redirectUserTo

URL where requester should redirect the user to complete the card save flow.
The redirection returns a HTML page which collects the user’s vector in the form of phoneNo, CardDetails, etc along with authentication details like PIN, password, OTP, etc.
After authorization Zeta redirects back to requester’s success/failure Url.

Response Sample
{
  "requestId": "req_spar_vbdjkahffoasdh8746",
  "redirectUserTo":  "https://ecom.zetaapps.in/v1.0/sodexo/transactions/initiate?q=8o32hjsfad930uklfsajdfo"
}

Error Codes

Possible error codes are - ER000, ER007, ER010, ER013, ER017, ER019, ER023

For more details refer to Error Codes section below.

Operation: Remove a Saved Card

This operation enables you to remove a saved card.

Functional Behaviour

POST

/v1.0/sodexo/sources/unsave

Input Parameters

ParametersDescription

apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

sourceId

Source ID of the saved card

Request Header
{
  "apiKey" : "w9e75yifheq09tyehqriofhy0q349htorehtlGJKHu095338kehqo"
}
Request Body
{
  "sourceId": "src_wqe47hxfjksor89y4"  
}

Output Parameters

ParametersDescription

status

SUCCESS or FAILURE

Response Sample
{
  "status": "SUCCESS",
  "sourceId": "src_wqe47hxfjksor89y4"
}

Error Codes

Possible error codes are - ER000, ER007, ER013, ER017, ER019

For more details refer to Error Codes section below.

Operation: Get Token Details

This operation enables you to retrieve the details of a Token.

Functional Behaviour

GET

/v1.0/sodexo/tokens/ { tokenId }

Input Parameters

ParametersDescription
apiKey

apiKey will be shared by Zeta with requester during the on-boarding process.

Request Header
Headers:
{
  "apiKey" : "7687fyjasdhf98yfiasdkfjhdsgilouafoih=="
}

Output Parameters

ParametersDescription
tokenIdToken ID generated by Zeta
requestIdTransaction Request ID
This is generated by the requester. Should be globally unique. Zeta will reject a duplicate transaction ID.
transactionIdTransaction ID generated by Zeta
amountPossible values supported for currencies “INR” for now.
Value is in Rupees.
tokenStatusCHARGED, CHARGE_FAILED, CHARGEABLE, CANCELLED, TIMEDOUT, UNCHARGEABLE
sourceId

Can be passed optionally when token is created with a saved source. If the sourceId is passed, then Zeta doesn't prompt the user to enter the card details and directly allows user to enter the authentication page.

Source - is a representation of customer’s instrument like card and so on using which he/she pays to the merchant. A source provides convenience for a customer so as not to type in the card details every time while completing a transaction. If the customer chooses to get the card details saved (along with a set of permissions like getBalance and others) during a transaction, then the get transaction details API response returns the sourceId. This sourceId can be saved by merchant for showing the saved cards to the customer. 

failureReasonReason in case of failure
Response Sample
{
    "tokenId": "token_8bb897b3-d7f7-4c5c-bc68-45d719d7c6a7",
    "requestId": "Jio21",
    "transactionId": null,
    "createdAt": 1512999823462,
    "amount": {
        "currency": "INR",
        "value": "0.01"
    },
    "tokenStatus": "CANCELLED",
    "sourceId": "src_6576f5db-a199-46b6-80cf-98dbbe96021e",
    "failureReason": null,
    "pinAttempts": 1
}

Operation: Retieve Bulk Transaction Details

This operation enables you to retrieve details of Bulk Transactions via Token Generation Request ID.

Functional Behaviour

 GET/v1.0/sodexo/transactions/token_request_id?tokenRequestIds={ requestIds}

Input Parameters

ParametersDescriptionm
apiKeyapiKey will be shared by Zeta with requester during the on-boarding process.
Request Header
Headers:
{
  "apiKey" : "7687fyjasdhf98yfiasdkfjhdsgilouafoih=="
}

Output Parameters

ParametersDescription
transactionIdTransaction ID generated by Zeta
requestIdThis is generated by the requester and is globally unique. Zeta will reject a duplicate transaction ID. 
amountPossible values supported for currencies “INR” for now.
Value is in Rupees.
sourceId

Can be passed optionally when token is created with a saved source. If the sourceId is passed, then Zeta doesn't prompt the user to enter the card details and directly allows user to enter the authentication page.

Source - is a representation of customer’s instrument like card and so on using which he/she pays to the merchant. A source provides convenience for a customer so as not to type in the card details every time while completing a transaction. If the customer chooses to get the card details saved (along with a set of permissions like getBalance and others) during a transaction, then the get transaction details API response returns the sourceId. This sourceId can be saved by merchant for showing the saved cards to the customer. 

transactionState

WAITING_FOR_SOURCE, WAITING_FOR_CONSENT, CANCELLED, CANCELLED_BY_USER_AGENT, 

WAITING_FOR_AUTHORIZATION, AUTHORIZED, CLEARANCE_INITIATED, CLEARED,

UNAUTHORIZED,

REFUND_INITIATED, REFUND_FAILED, REFUND_COMPLETED, REFUND_DROPPED

failureReasonReason in case of failure
transactionReceiptTransaction receipt object with receiptID, payerInfo, payeeInfo and other details.
retrievalReferenceNumberThe retrievalReferenceNumber (RR Number) for the transaction. Its always a 12-digit number.
Response Sample
{
    "Jio20": {
        "transactionId": "txn_09246d1e-be29-4a15-8bfc-a2e5aa4b953e",
        "requestId": "Jiotest109",
        "amount": {
            "currency": "INR",
            "value": "0.01"
        },
        "purposes": [
            {
                "purpose": "FOOD",
                "amount": {
                    "currency": "INR",
                    "value": "0.01"
                }
            }
        ],
        "sourceId": "src_6576f5db-a199-46b6-80cf-98dbbe96021e",
        "transactionState": "CLEARANCE_INITIATED",
        "failureReason": null,
        "requestTime": 1512646668576,
        "transactionReceipt": {
            "authorisedAmount": null,
            "debits": null,
            "credits": null,
            "receiptID": null,
            "payeeInfo": {
                "name": "JIO",
                "location": "Bangalore",
                "type": "EXTERNAL_BUSINESS"
            },
            "payerInfo": null,
            "authorisationTime": null
        },
        "retrievalReferenceNumber": "000000001599"
    },
    "Jio21": null,
    "Jio19": null
}

Transaction States

The following transaction statuses are shown to the merchant side post Zeta authorization:

StateDescription

WAITING_FOR_SOURCE

Transaction is waiting for user identification vectors. For example, card details, phone number and so on.
WAITING_FOR_CONSENT Waiting to validate users' authenticity via OTP, PIN and so on.
CANCELLED - Cancelled by the requester by calling Cancel a transaction API.
CANCELLED_BY_USER_AGENT Cancelled by user by clicking on 'Cancel' option provided on Zeta hosted client pages.
WAITING_FOR_AUTHORIZATION User entered the authentication factor. Waiting for transaction to get authorized. Transaction in this state should not be considered as authorized. If a transaction is in 'WAITING_FOR_AUTHORIZATION' state for more that 30 seconds it will get auto-reversed in 3 days, if in case money got debited.
AUTHORIZEDTransaction is authorised by the processor.
CLEARANCE_INITIATED This is an already authorised transaction and the clearance phase for this transaction has already initiated
CLEAREDCleared transaction. Only authorized transactions enter this state.
UNAUTHORIZEDTransaction is unauthorized by the processor. See getTransactionDetails API response to know the reason for failure under the 'failureReason' field.
REFUND_INITIATEDRefund for transaction in AUTHORIZED or WAITING_FOR_AUTHORIZATION states has been initiated. For transaction in AUTHORIZED state, refund initiation happens when the client calls the refund API. For transaction in WAITING_FOR_AUTHORIZATION state, an 'auto-reversal' of this transaction is attempted which marks the transaction as REFUND_INITIATED
REFUND_FAILEDRefund has failed. This rarely happens, when the transaction stuck in 'WAITING_FOR_AUTHORIZATION' was not authorized by the processor in the initial authorization attempt.
REFUND_COMPLETED Refund of the transaction is processed successfully.
REFUND_DROPPEDRefund is dropped after fixed automated N number of attempts to get transaction refunded. In rare cases, if refund is required for a valid use-case, it needs to be handled through manual process.

To resolve any transaction related issues, you may need to share the transaction status displayed at your end with Zeta.

On this page:

  • No labels