• 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.

Create Account Holder

Use the /newIndividual API to create an Application for a new Account Holder. Users have to provide Account Holder’s personal contact and KYC information in the request body. 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 It represents a unique identifier assigned to the ifi (eg. 304876).
formID Form id has to be unique per request, if added in payload (it’s an optional field).
individualType It represents whether account holder is LAH or RAH.
firstName This represents the first name of the Account Holder. The name should be same as mentioned in the OVD details.
dob User needs to provide the year, month & day fields.
authData User needs to provide OVD (it can be PAN, DL, Voter ID).
vectors Users need to provide the value as contact number or email id. The vector type will be of 2 type; p for phone number & e for email.
spoolID 3deb5a70-311c-11ea-978f-2e728ce88125. (Should be same for all requests).
X-Zeta-AuthToken, ifiID needs to update as mentioned in the Prerequisite table.

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request POST 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/applications/newIndividual' \
--header 'X-Zeta-AuthToken: {{token}}' \
--data-raw '{
  "ifiID": "304876",
  "formID": "007453",
  "applicationType": "CREATE_ACCOUNT_HOLDER_01",
  "spoolID": "3deb5a70-311c-11ea-978f-2e728ce88125",
  "individualType": "REAL",
  "salutation": "Mr",
  "firstName": "Akshay",
  "middleName": "",
  "lastName": "Kumar",
  "profilePicURL": "",
  "dob": {
      "year": 1993,
      "month": 11,
      "day": 21
  },
  "gender": "",
  "mothersMaidenName": "",
  "kycDetails": {
      "kycStatus": "MINIMAL",
      "kycStatusPostExpiry": "KYC_EXPIRED",
      "kycAttributes": {},
      "authData": {
          "PAN": "CPPPMNB456"
      },
      "authType": "PAN"
  },
  "vectors": [
      {
          "type": "p",
          "value": "+919843543896",
          "isVerified": true
      }
  ],
  "pops": [],
  "customFields": {
      "entity_id": "ABCD0001"
  }
}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "applicationID": "244585",
  "formID": "007453",
  "ifiID": 304876,
  "spoolID": "3deb5a70-311c-11ea-978f-2e728ce88125",
  "status": "APPROVED",
  "individualID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
  "applicationType": "REAL",
  "salutation": "Mr",
  "firstName": "Akshay",
  "middleName": "",
  "lastName": "Kumar",
  "profilePicURL": "",
  "dob": {
      "year": 1993,
      "month": 11,
      "day": 21
  },
  "gender": "",
  "mothersMaidenName": "",
  "vectors": {
      "52b38123-f958-4df7-bb82-e68676bc49d5": {
          "type": "pan",
          "value": "CPPPMNB456",
          "aetherID": "52b38123-f958-4df7-bb82-e68676bc49d5",
          "isVerified": false
      },
      "da34849f-dfdc-417e-a838-ad747271c8a7": {
          "type": "p",
          "value": "+919843543896",
          "aetherID": "da34849f-dfdc-417e-a838-ad747271c8a7",
          "isVerified": false
      }
  },
  "tags": {
      "ae9f4d26-6909-40de-a9ee-fa5732289bce": {
          "type": "vbo-id",
          "value": "ea4f06a3-6b9f-4948-bc75-e4bdb4d6cc9b",
          "attributes": {}
      }
  },
  "kycDetails": {
      "kycStatus": "MINIMAL",
      "updateTime": "Jul 27, 2020 3:25:27 PM",
      "expiryTime": "Jul 4, 2119 3:25:27 PM",
      "kycStatusPostExpiry": "MINIMAL",
      "authType": "PAN",
      "authData": {
          "PAN": "CPPPMNB456"
      },
      "kycAttributes": {
          "pan": "CPPPMNB456",
          "authType": "PAN",
          "kycType": "MINIMAL"
      }
  },
  "customFields": {
      "entity_id": "ABCD0001"
  },
  "createdAt": "Jul 27, 2020 3:25:27 PM",
  "updatedAt": "Jul 27, 2020 3:25:27 PM",
  "source": "Fusion",
  "statusDetails": {},
  "headers": {}
}
 
Code Copied
The following parameters will be received in response & will be used in further APIs.
|Parameters|API Involved| |———-|————| |individualID|Get Account Holder Info, Get Account Holder Info By User Vector| |vectorType|Get Account Holder Info By User Vector| |vectorValue|Get Account Holder Info By User Vector|

Account Holder details

The account holder’s details can be fetched in two ways; using account holder Id or Vectors.

Using Account Holder ID (Get Account Holder Info)

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 Unique identifier of the Account Holder. Same as individuaID. (From newIndividual API).

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/accountHolders/8f481b75-afff-4ef2-ab9b-97b3e08fb17c' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{cookie}}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "requestID": "48dfe572-396c-48a2-b239-31993641a4c3",
  "id": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
  "ifiID": 304876,
  "accountHolderProviderID": "a11aad62-db13-48dd-bc36-fb969a0eae9c",
  "vectors": [
      {
          "id": "52b38123-f958-4df7-bb82-e68676bc49d5",
          "accountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "ifiID": 304876,
          "status": "ENABLED",
          "type": "pan",
          "value": "CPPPMNB456",
          "verified": false,
          "createdAt": "Jul 27, 2020 3:25:27 PM",
          "updatedAt": "Jul 27, 2020 3:25:27 PM",
          "headers": {}
      },
      {
          "id": "da34849f-dfdc-417e-a838-ad747271c8a7",
          "accountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "ifiID": 304876,
          "status": "ENABLED",
          "type": "p",
          "value": "+919843543896",
          "verified": true,
          "createdAt": "Jul 27, 2020 3:25:27 PM",
          "updatedAt": "Jul 27, 2020 3:25:27 PM",
          "headers": {}
      }
  ],
  "type": "REAL",
  "status": "ENABLED",
  "KYCStatus": {
      "ifiID": 304876,
      "accountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
      "kycStatus": "MINIMAL",
      "updateTime": {
          "date": {
              "year": 2020,
              "month": 7,
              "day": 27
          },
          "time": {
              "hour": 15,
              "minute": 25,
              "second": 27,
              "nano": 122448000
          }
      },
      "expiryTime": {
          "date": {
              "year": 2119,
              "month": 7,
              "day": 4
          },
          "time": {
              "hour": 15,
              "minute": 25,
              "second": 27,
              "nano": 0
          }
      },
      "standardUpdateTime": "2020-07-27T15:25:27.122448Z",
      "standardExpiryTime": "2119-07-04T15:25:27Z",
      "attributes": {
          "pan": "CPPPMNB456",
          "kycType": "MINIMAL",
          "authType": "PAN"
      },
      "headers": {}
  },
  "salutation": "Mr",
  "firstName": "Akshay",
  "middleName": "",
  "lastName": "Kumar",
  "profilePicURL": "",
  "dob": "Nov 21, 1993",
  "gender": "",
  "mothersMaidenName": "",
  "pops": [],
  "tags": [
      {
          "type": "vbo-id",
          "value": "ea4f06a3-6b9f-4948-bc75-e4bdb4d6cc9b",
          "attributes": {}
      }
  ],
  "attributes": {
      "entity_id": "ABCD0001"
  },
  "createdAt": {
      "date": {
          "year": 2020,
          "month": 7,
          "day": 27
      },
      "time": {
          "hour": 15,
          "minute": 25,
          "second": 27,
          "nano": 122448000
      }
  },
  "updatedAt": {
      "date": {
          "year": 2020,
          "month": 7,
          "day": 27
      },
      "time": {
          "hour": 15,
          "minute": 25,
          "second": 27,
          "nano": 122448000
      }
  },
  "headers": {}
}
 
Code Copied
The account holder’s details will be received in response of this API.

Vectors (Get Account Holder Info by vector)

Vectors are unique identifiers, like phone and email, used to identify an Account Holder. Use the /individualByVector API and pass the Account Holder’s Vector as a path parameter to fetch their details. 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.
vectorType Allowed values: p for phone number; e for email (Passed while creating the Account Holder).
vectorValue Value based on vector type specified. As provided while creating the Account Holder. Ex - if vectorType is p, specify Account Holder’s phone number; if vectorType is e, specify email ID.

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET 'https://fusion.gw.zetapay.in/api/v1/ifi/304876/individualByVector/p/+919843543896' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie: {{cookie}}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "requestID": "48dfe572-396c-48a2-b239-31993641a4c3",
  "id": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
  "ifiID": 304876,
  "accountHolderProviderID": "a11aad62-db13-48dd-bc36-fb969a0eae9c",
  "vectors": [
      {
          "id": "52b38123-f958-4df7-bb82-e68676bc49d5",
          "accountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "ifiID": 304876,
          "status": "ENABLED",
          "type": "pan",
          "value": "CPPPMNB456",
          "verified": false,
          "createdAt": "Jul 27, 2020 3:25:27 PM",
          "updatedAt": "Jul 27, 2020 3:25:27 PM",
          "headers": {}
      },
      {
          "id": "da34849f-dfdc-417e-a838-ad747271c8a7",
          "accountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
          "ifiID": 304876,
          "status": "ENABLED",
          "type": "p",
          "value": "+919843543896",
          "verified": true,
          "createdAt": "Jul 27, 2020 3:25:27 PM",
          "updatedAt": "Jul 27, 2020 3:25:27 PM",
          "headers": {}
      }
  ],
  "type": "REAL",
  "status": "ENABLED",
  "KYCStatus": {
      "ifiID": 304876,
      "accountHolderID": "8f481b75-afff-4ef2-ab9b-97b3e08fb17c",
      "kycStatus": "MINIMAL",
      "updateTime": {
          "date": {
              "year": 2020,
              "month": 7,
              "day": 27
          },
          "time": {
              "hour": 15,
              "minute": 25,
              "second": 27,
              "nano": 122448000
          }
      },
      "expiryTime": {
          "date": {
              "year": 2119,
              "month": 7,
              "day": 4
          },
          "time": {
              "hour": 15,
              "minute": 25,
              "second": 27,
              "nano": 0
          }
      },
      "standardUpdateTime": "2020-07-27T15:25:27.122448Z",
      "standardExpiryTime": "2119-07-04T15:25:27Z",
      "attributes": {
          "pan": "CPPPMNB456",
          "kycType": "MINIMAL",
          "authType": "PAN"
      },
      "headers": {}
  },
  "salutation": "Mr",
  "firstName": "Akshay",
  "middleName": "",
  "lastName": "Kumar",
  "profilePicURL": "",
  "dob": "Nov 21, 1993",
  "gender": "",
  "mothersMaidenName": "",
  "pops": [],
  "tags": [
      {
          "type": "vbo-id",
          "value": "ea4f06a3-6b9f-4948-bc75-e4bdb4d6cc9b",
          "attributes": {}
      }
  ],
  "attributes": {
      "entity_id": "ABCD0001"
  },
  "createdAt": {
      "date": {
          "year": 2020,
          "month": 7,
          "day": 27
      },
      "time": {
          "hour": 15,
          "minute": 25,
          "second": 27,
          "nano": 122448000
      }
  },
  "updatedAt": {
      "date": {
          "year": 2020,
          "month": 7,
          "day": 27
      },
      "time": {
          "hour": 15,
          "minute": 25,
          "second": 27,
          "nano": 122448000
      }
  },
  "headers": {}
}
 
Code Copied
The account holder’s details will be received in response of this API.

Create Account Holder Point of Presence

cURL Sample
Switch Theme
Expand More
Copy
curl -X POST \
https://fusion.gw.zetapay.in/api/v1/ifi/304876/applications/newIndividual \
-H 'X-Zeta-AuthToken: {{token}}' \
-d '{
{
"label": "Home",
"address": {
  "line1": "Diamond District",
  "line2": "Tower C",
  "city": "Bangalore",
  "state": "Karnataka",
  "postCode": "560818",
  "country": "India",
  "latitude": 0,
  "longitude": 0
},
"contactList": [
  {
    "firstName": "Abhinav",
    "lastName": "Shukla",
    "vectors": [
      {
        "type": "p",
        "value": "p:+971322354485",
        "attributes": {
        },
        "verified": true
      }
    ],
    "attributes": {
     }
  }
],
"attributes": {
},
"default": true
}
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
"id": "2b412023-8dc3-4ae8-890f-662b75627bf7",
"ifiID": 304876,
"label": "Home",
"entityID": "379e233c-7a1a-4c00-8e6b-bc2e5abff188",
"entityType": "account_holder",
"address": {
  "line1": "Diamond District",
  "line2": "Tower C",
  "city": "Bangalore",
  "state": "Karnataka",
  "postCode": "560818",
  "country": "India",
  "isDefault": false
},
"contactList": [
  {
    "firstName": "Abhinav",
    "lastName": "Shukla",
    "vectors": [
      {
        "ifiID": 0,
        "type": "p",
        "value": "p:+971322354485",
        "attributes": {}
      }
    ],
    "attributes": {}
  }
],
"status": "ENABLED",
"isDefault": false,
"attributes": {},
"createdAt": {
  "date": {
    "year": 2019,
    "month": 11,
    "day": 12
  },
  "time": {
    "hour": 10,
    "minute": 12,
    "second": 19,
    "nano": 265132000
  }
},
"modifiedAt": {
  "date": {
    "year": 2019,
    "month": 11,
    "day": 12
  },
  "time": {
    "hour": 10,
    "minute": 12,
    "second": 19,
    "nano": 265132000
  }
},
"headers": {}
}
 
Code Copied

Get Account Holder Points of Presence

cURL Sample
Switch Theme
Expand More
Copy
curl -X GET \
https://fusion.gw.zetapay.in/api/v1/ifi/304876/individualApplications/379e233c-7a1a-4c00-8e6b-bc2e5abff188/pops/2b412023-8dc3-4ae8-890f-662b75627bf7 \
-H 'X-Zeta-AuthToken: {{token}}' \
Headers:
Account_holder_id: 379e233c-7a1a-4c00-8e6b-bc2e5abff188
POP ID: 2b412023-8dc3-4ae8-890f-662b75627bf7
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
"id": "2b412023-8dc3-4ae8-890f-662b75627bf7",
"ifiID": 304876,
"label": "Home",
"entityID": "379e233c-7a1a-4c00-8e6b-bc2e5abff188",
"entityType": "account_holder",
"address": {
  "line1": "Diamond District",
  "line2": "Tower C",
  "city": "Bangalore",
  "state": "Karnataka",
  "postCode": "560818",
  "country": "India",
  "isDefault": false
},
"contactList": [
  {
    "firstName": "Abhinav",
    "lastName": "Shukla",
    "vectors": [
      {
        "ifiID": 0,
        "type": "p",
        "value": "p:+971322354485",
        "attributes": {}
      }
    ],
    "attributes": {}
  }
],
"status": "ENABLED",
"isDefault": false,
"attributes": {},
"createdAt": {
  "date": {
    "year": 2019,
    "month": 11,
    "day": 12
  },
  "time": {
    "hour": 10,
    "minute": 12,
    "second": 19,
    "nano": 265132000
  }
},
"modifiedAt": {
  "date": {
    "year": 2019,
    "month": 11,
    "day": 12
  },
  "time": {
    "hour": 10,
    "minute": 12,
    "second": 19,
    "nano": 265132000
  }
},
"headers": {}
}
 
Code Copied