• Select

  • Select

Prerequisites

Parameter name Parameter value
Ifi id 304876
API endpoint https://fusion.gw.zetapay.in/api/v1
Access token {{token}}
Bundle id {{BundleID}}
Simulator for card payments https://prod-card-simulator.gw.zetapay.in/
Funding Account ID {{FundingAccountID}}
Vbo id {{VboID}}
cardSkuIDs {{SkuID}

About Fusion

Fusion is an API-based Platform-as-a-Service (PaaS) offering. It enables fintechs to build and manage financial products for unique use-cases. Fusion offers seamless integration with banks, payment networks, card printers, push servers, and several other services.

Fusion APIs solve many use-cases like customer loyalty cards, employee benefits, corporate gifting, expense management, merchant payouts, just-in-time account funding, and so on.

Get instant access to the complete financial environment via simple and powerful API integrations with Fusion.

Pre-requisites

  • Access token to be embedded as a header in X-Zeta-AuthToken.
  • The system will not take in requests unless this auth token is passed as part of the header.
  • The API endpoint that needs to be called for testing is https://fusion.gw.zetapay.in/api/v1.
  • There are several steps to do if you want to orchestrate a user journey for a fintech user on Zeta’s system. We will give you sample curls throughout the document to go through the journey points as mentioned below.
  • For all the following APIs, invocation has to be driven through the issuer (or the bank). In this case, fintech has to use a static, assigned IFI id of 304876.
  • Also, for most of the APIs you can use either postman or curl. We have provided curl examples for now in the documentation.
  • Mandatory Fields Highlighted Colour.
  • Response used in other API Highlighted Colour.

Get Accounts by Account Holder

This API will list all the accounts which are linked to that particular individual account holder. Below are the list of mandatory parameters that need to be added in the request body:

Parameters Description
X-Zeta-AuthToken It should be same as mentioned in the prerequisite table.
ifiID Unique identifier of the IFI.
individualID/accountHolderID It is received from Create Account Holder/new individual API.

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/individuals/8f481b75-afff-4ef2-ab9b-97b3e08fb17c/accounts' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{Cookie}}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "accounts": [
      {
          "id": "1cd911fd-0894-4aed-880d-a7124a5bbe4a",
          "vectors": [],
          "accessors": [],
          "relationships": [],
          "ifiID": 304876,
          "ownerAccountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "accountProviderID": "8451380a-8979-49e4-baf9-f71af5d956bf",
          "name": "Parent_savings",
          "productFamilyID": 2140941378257639093,
          "productID": 6178734290235544095,
          "programIDs": [],
          "ledgerID": 5474275113084006114,
          "status": "ENABLED",
          "attributes": {
              "zeta.business-id": "304876",
              "zeta.card-program-id": ""
          },
          "createdAt": {
              "date": {
                  "year": 2020,
                  "month": 7,
                  "day": 28
              },
              "time": {
                  "hour": 11,
                  "minute": 20,
                  "second": 29,
                  "nano": 503009000
              }
          },
          "updatedAt": {
              "date": {
                  "year": 2020,
                  "month": 7,
                  "day": 28
              },
              "time": {
                  "hour": 11,
                  "minute": 20,
                  "second": 29,
                  "nano": 503009000
              }
          },
          "headers": {}
      },
      {
          "id": "c934cbe4-df6e-44f2-8fe0-2ac7e7767262",
          "vectors": [],
          "accessors": [],
          "relationships": [],
          "ifiID": 304876,
          "ownerAccountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "accountProviderID": "8451380a-8979-49e4-baf9-f71af5d956bf",
          "name": "Parent_current",
          "productFamilyID": 2140941378257639093,
          "productID": 6178734290235544095,
          "programIDs": [],
          "ledgerID": 1109478357847137299,
          "status": "ENABLED",
          "attributes": {
              "zeta.business-id": "304876",
              "zeta.card-program-id": ""
          },
          "createdAt": {
              "date": {
                  "year": 2020,
                  "month": 7,
                  "day": 28
              },
              "time": {
                  "hour": 11,
                  "minute": 20,
                  "second": 29,
                  "nano": 432112000
              }
          },
          "updatedAt": {
              "date": {
                  "year": 2020,
                  "month": 7,
                  "day": 28
              },
              "time": {
                  "hour": 11,
                  "minute": 20,
                  "second": 29,
                  "nano": 432112000
              }
          },
          "headers": {}
      },
      {
          "id": "dc97c156-1fed-44c0-a7e4-5158f1fac042",
          "vectors": [],
          "accessors": [],
          "relationships": [],
          "ifiID": 304876,
          "ownerAccountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "accountProviderID": "8451380a-8979-49e4-baf9-f71af5d956bf",
          "name": "VBO_bundle",
          "productFamilyID": 2140941378257639093,
          "productID": 6178734290235544095,
          "programIDs": [],
          "ledgerID": 4009385172360054756,
          "status": "ENABLED",
          "attributes": {
              "bundle.name": "PaySeva wallet bundle (minKYC with PAN)",
              "zeta.business-id": "304876",
              "zeta.card-program-id": ""
          },
          "createdAt": {
              "date": {
                  "year": 2020,
                  "month": 7,
                  "day": 28
              },
              "time": {
                  "hour": 10,
                  "minute": 39,
                  "second": 2,
                  "nano": 974289000
              }
          },
          "updatedAt": {
              "date": {
                  "year": 2020,
                  "month": 7,
                  "day": 28
              },
              "time": {
                  "hour": 10,
                  "minute": 39,
                  "second": 2,
                  "nano": 974289000
              }
          },
          "headers": {}
      }
  ],
  "headers": {}
}
 
Code Copied
In response you will get details of all the accounts that are linked with the provided individual ID.

Get Account balance

This API will help in fetching the account balance details by providing the accountID. Below are the list of mandatory parameters that need to be added in the request body:

Parameters Description
X-Zeta-AuthToken It should be same as mentioned in the prerequisite table.
ifiID Unique identifier of the IFI.
accountID It is received while issuing a bundle or from the issue account product API.

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/accounts/dc97c156-1fed-44c0-a7e4-5158f1fac042/balance' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{Cookie}}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "balance": 0,
  "currency": "INR",
  "lastTransactionID": "20200728103903290_10809_Hzyj0Q==",
  "accountingType": "LIABILITY",
  "headers": {}
}
 
Code Copied
The following parameters will be received in response & will be used in further APIs.
|Parameters|API Involved| |———-|————| |lastTransactionID|ID of the last transaction done.|

Account to Account Transfer

This API is used to transfer money from one account to another. The money is transferred from debit account to credit account by providing their respective ID. Below are the list of mandatory parameters that need to be added in the request body:

Parameters Description
X-Zeta-AuthToken It should be same as mentioned in the prerequisite table.
ifiID Unique identifier of the IFI.
amount User needs to specify the amount that needs to be transferred. (In Paisa).
currency It shows the currency in which the money is transferred. (Length 16 characters).
transfer code (Length 240 characters)
debit account id individualID of the debited account.
credit account id individualID of the credited account.
remarks (Length 256 characters)

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request POST 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/transfers' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{Cookie}}' \
--data-raw '{
  "requestID" : "test_abcd_1aadflkjhdjh_123658",
  "amount": {
      "currency" : "INR",
      "amount" : "10000"
  },
  "transferCode": "ATLAS_P2M_AUTH",
  "debitAccountID": "dc97c156-1fed-44c0-a7e4-5158f1fac042",
  "creditAccountID": "03a60325-e8a4-4c84-b094-30bfb130502b",
  "transferTime": 12324254832342,
  "remarks": "TEST",
  "attributes": {}
}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "requestID": "test_abcd_1aadflkjhdjh_123658",
  "transferID": "20200806123348502_15770_test_abcd_1aadflkjhdjh_123658",
  "status": "SUCCESS"
}
 
Code Copied
The following parameters will be received in response & will be used in further APIs.
|Parameters|API Involved| |———-|————| |transferID|This can be used further used in Account to Account Reversal API (transactionID) for reversal.|

Get Transactions by Account ID

Below are the list of mandatory parameters that need to be added in the request body:

Parameters Description
X-Zeta-AuthToken It should be same as mentioned in the prerequisite table.
ifiID Unique identifier of the IFI.
accountID It is received while creating an account.

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/accounts/dc97c156-1fed-44c0-a7e4-5158f1fac042/transactions?pageSize=2&pageNumber=1' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{Cookie}}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "accountTransactionList": [
      {
          "accountID": "dc97c156-1fed-44c0-a7e4-5158f1fac042",
          "transactionID": "20200806123348502_15770_test_abcd_1aadflkjhdjh_123658",
          "postingID": "158073",
          "reversalTransactionIDs": [],
          "previousBalance": 41000,
          "newBalance": 31000,
          "timestamp": 1596717227998,
          "amount": 10000,
          "currency": "INR",
          "recordType": "DEBIT",
          "remarks": "TEST",
          "attributes": {
              "account.pd-id": "6178734290235544095",
              "zeta.card-program-id": "",
              "debitAuthSignatory": "[\"[email protected]/1\"]",
              "aura.coa-id": "6221687368577586252",
              "account.pf-id": "2140941378257639093",
              "bundle.name": "PaySeva wallet bundle (minKYC with PAN)",
              "policies": "{}",
              "account.account-holder-id": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
              "journal.voucherCode": "ATLAS_P2M_AUTH",
              "journal.self": "false",
              "zeta.card-program-ids": "",
              "aura.parent-node-id": "5154468505745539829",
              "isForced": "false",
              "payment.captured": "true",
              "zeta.ifi": "304876",
              "zeta.ppi-type": "OPEN",
              "zeta.product-type": "Generic",
              "zeta.ifi-product-type": "MCC_VOUCHER_RECIPIENT",
              "athena.account-provider-id": "8451380a-8979-49e4-baf9-f71af5d956bf",
              "zeta.business-id": "304876",
              "isP2PTransfer": "false"
          },
          "headers": {}
      },
      {
          "accountID": "dc97c156-1fed-44c0-a7e4-5158f1fac042",
          "transactionID": "20200806123126773_15767_test_abcd_1aadflkjhdjh_123457",
          "postingID": "158072",
          "reversalTransactionIDs": [],
          "previousBalance": 51000,
          "newBalance": 41000,
          "timestamp": 1596717086278,
          "amount": 10000,
          "currency": "INR",
          "recordType": "DEBIT",
          "remarks": "TEST",
          "attributes": {
              "account.pd-id": "6178734290235544095",
              "zeta.card-program-id": "",
              "debitAuthSignatory": "[\"[email protected]/1\"]",
              "aura.coa-id": "6221687368577586252",
              "account.pf-id": "2140941378257639093",
              "bundle.name": "PaySeva wallet bundle (minKYC with PAN)",
              "policies": "{}",
              "account.account-holder-id": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
              "journal.voucherCode": "ATLAS_P2M_AUTH",
              "journal.self": "false",
              "zeta.card-program-ids": "",
              "aura.parent-node-id": "5154468505745539829",
              "isForced": "false",
              "payment.captured": "true",
              "zeta.ifi": "304876",
              "zeta.ppi-type": "OPEN",
              "zeta.product-type": "Generic",
              "zeta.ifi-product-type": "MCC_VOUCHER_RECIPIENT",
              "athena.account-provider-id": "8451380a-8979-49e4-baf9-f71af5d956bf",
              "zeta.business-id": "304876",
              "isP2PTransfer": "false"
          },
          "headers": {}
      }
  ],
  "totalRecord": 4,
  "headers": {}
}
 
Code Copied
The following parameters will be received in response & will be used in further APIs.

Parameters API Involved
transactionID This is further used in Account to Account Reversal API (transactionID) for reversal.

Account to Account Reversal API

This API is used to reverse the funds transfer using transactionID Below are the list of mandatory parameters that need to be added in the request body:

Parameters Description
X-Zeta-AuthToken It should be same as mentioned in the prerequisite table.
ifiID Unique identifier of the IFI.
transactionID Received in response of get transactions by accountID.

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request POST 'https://fusion.gw.zetapay.in/api/v1/ifi/140827/transactions/20200806123348502_15770_test_abcd_1aadflkjhdjh_123658/reversal' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{token}}' \
--data-raw '{
  "requestID": "497cd983-c91a-4a1d-a112-276986f7e54676",
  "currency": "INR",
  "amount": 20000,
  "doPartialReversal": true,
  "transferCode": "A2A_VBOPayout-VBO2E_AUTH-REVERSAL",
  "remarks": "l3 to l1 reversal for txn id: 20200807150927713_625_b0c20f22-71a4-478f-b0c6-c4168b2110cd"
}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "requestID": "497cd983-c91a-4a1d-a112-276986f7e54676",
  "paymentType": "REVERSAL",
  "transactionID": "20200806123348502_15770_test_abcd_1aadflkjhdjh_123658",
  "amount": 20000,
  "currency": "INR",
  "status": "FAILED",
  "statusDetails": {
      "message": "Invalid reversal value: INR 20000",
      "errorCode": "INTERNAL_ERROR"
  }
}
 
Code Copied
Status - Failed As for Min KYC transfer does not work.

Transfer dummy balance to the account of the account Holder

Below are the list of mandatory parameters that need to be added in the request body:

Parameters Description
X-Zeta-AuthToken It should be same as mentioned in the prerequisite table.
ifiID Unique identifier of the IFI.
amount User needs to specify the amount that needs to be transferred. (In Paisa).
currency It shows the currency in which the money is transferred.
(Length 16 characters).
transfer code (Length 240 characters)
debit account id Funding Account ID
credit account id individualID of the credited account.
remarks (Length 256 characters)
cURL Sample
Switch Theme
Expand More
Copy
 
 curl --location --request POST 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/transfers' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{cookie}}' \
--data-raw '{   "requestID" : "8439e4b6-1b63-4a28-afa1-34206a44425afkljfa",
   "amount": {
       "currency" : "INR",
       "amount" : "50000"
   },
   "transferCode": "ATLAS_P2M_AUTH",
   "debitAccountID": "03a60325-e8a4-4c84-b094-30bfb130502b",
   "creditAccountID": "dc97c156-1fed-44c0-a7e4-5158f1fac042",
   "transferTime": 1574741608000,
   "remarks": "AH-1 VBO  a/c",
   "attributes": {}
}'
 
 
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
 
 {
   "requestID": "8439e4b6-1b63-4a28-afa1-34206a44425afkljfa",
   "transferID": "20200806082840923_14534_8439e4b6-1b63-4a28-afa1-34206a44425afkljfa",
   "status": "SUCCESS"
}
  
Code Copied