Select
We have specific products for countries and we are growing fast across the globe
Fusion PrepaidFor India
Fusion CreditFor U.S
By creating an Application, you bring Account Holders onto Fusion. The process of creating an Application is analogous to that of opening a bank account in real life.
A person or entity who is permitted to conduct transactions on behalf of an account is known as an account holder. He is the account’s proprietor. Any VBO will be able to create an application for the creation of an account holder, which will then proceed through the issuer’s application lifecycle, with the application accepted i.e account holder being provisoned or the application being rejected as the end result.
The steps in the Creating Application procedure are as follows:
Spool has the details of what kind of a relationship will be formed if an application is approved. Or what kind of details might be required to fill the application. Spool will also specify the workflow by which the application will be processed.
Keep the following points in mind before making calls to Fusion APIs:
An Account Holder with a unique identifier is created on Fusion. Call the Get account holder API to see if the account holder already exists for a given vector.
curl --location --request GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/individualByVector/p/+919818416528' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie:
{
"requestID": "93334bdb-c498-4473-bb04-d023f042cfad",
"id": "ac0790b2-8dfd-478a-8f82-64bc54936b25",
"ifiID": 140793,
"accountHolderProviderID": "a11aad62-db13-48dd-bc36-fb969a0eae9c",
"vectors": [
{
"id": "27aa6a38-ee78-4960-a315-30ef28b50c54",
"accountHolderID": "ac0790b2-8dfd-478a-8f82-64bc54936b25",
"ifiID": 140793,
"status": "ENABLED",
"type": "p",
"value": "+919818416528",
"verified": true,
"createdAt": "Apr 9, 2021 9:59:56 AM",
"updatedAt": "Apr 9, 2021 9:59:56 AM",
"headers": {}
}
],
"type": "REAL",
"status": "ENABLED",
"KYCStatus": {
"ifiID": 140793,
"kycStatus": "AADHAAR_XML",
"updateTime": {
"date": {
"year": 2021,
"month": 4,
"day": 9
},
"time": {
"hour": 10,
"minute": 1,
"second": 48,
"nano": 369025000
}
},
"expiryTime": {
"date": {
"year": 2022,
"month": 4,
"day": 9
},
"time": {
"hour": 10,
"minute": 1,
"second": 48,
"nano": 0
}
},
"kycStatusPostExpiry": "MINIMAL",
"attributes": {
"kycType": "MINIMAL",
"authType": "AADHAAR"
}
},
"firstName": "Aparna",
"middleName": "",
"lastName": "",
"dob": "Nov 21, 1992",
"gender": "",
"mothersMaidenName": "",
"pops": [],
"createdAt": {
"date": {
"year": 2021,
"month": 4,
"day": 9
},
"time": {
"hour": 9,
"minute": 59,
"second": 56,
"nano": 94461000
}
},
"updatedAt": {
"date": {
"year": 2021,
"month": 4,
"day": 9
},
"time": {
"hour": 10,
"minute": 1,
"second": 48,
"nano": 346522000
}
}
}
In order to create an application for the defined spool, Create Application API call will be used and application can be created by both issuer and VBO. An application is a request by the applicant for making a connection with the issuer so as to avail the various offerings that issuer has to offer.
In addition, the application will include other details that the issuer may require prior to making that partnership.
The following details need to be input in order to create the application
If the fintech wants to receive the notification every time an application completed event is published, webhooks can be configured.
curl --location --request POST 'https://cosmos-ahp.preprod.zeta.in/api/v1/ifi/140793/spool/12b66d97-c5c5-4a38-b896-b1790a6a6845/application' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}' \
--data-raw '{
"requestId": "instagift-1612bn949670949-abcdefg120702",
"sections": {
"Personal": {
"type": "CreateRealAccountHolder",
"name": "Personal",
"details": {
"PersonalDetails": {
"status": "ENABLED",
"firstName": "Aparna",
"lastName": "",
"individualType": "REAL",
"applicationType": "CREATE_ACCOUNT_HOLDER"
}
}
},
"Vectors": {
"type": "CreateRealAccountHolder",
"name": "Vectors",
"details": {
"VectorDetails": [
{
"type": "p",
"value": "+919818416528",
"isVerified": true
}
]
}
}
},
"vectors": [
{
"type": "p",
"value": "+919818416528",
"attributes": {}
}
]
}
'
{
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"ifiId": 140793,
"requestId": "instagift-1612bn949670949-abcdefg120702",
"status": "DATA_CAPTURE_INITIATED",
"sections": {
"Personal": {
"sectionId": "9bbde556-c049-4d53-a881-3ec8b7f3213f",
"ifiId": 140793,
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"name": "Personal",
"type": "CreateRealAccountHolder",
"details": {
"PersonalDetails": {
"status": "ENABLED",
"lastName": "",
"firstName": "Aparna",
"individualType": "REAL",
"applicationType": "CREATE_ACCOUNT_HOLDER"
}
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
"Vectors": {
"sectionId": "ba242aff-fe9c-42fe-81d2-c538bde96d15",
"ifiId": 140793,
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"name": "Vectors",
"type": "CreateRealAccountHolder",
"details": {
"VectorDetails": [
{
"type": "p",
"value": "+919818416528",
"isVerified": true
}
]
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
}
},
"vectors": [
{
"vectorId": "6e8a4fee-5f6d-49b1-a1e5-642226589804",
"ifiId": 140793,
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"type": "p",
"value": "+919818416528",
"status": "ENABLED",
"attributes": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
}
],
"stages": [
{
"stageId": "2d726730-58fc-41ce-8456-f7f1a01ccaba",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "ASSESSMENT",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
{
"stageId": "ad8fa02e-6fc2-413a-9ccc-2611ea83b48a",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "DATA_CAPTURE",
"status": "INITIATED",
"details": {},
"result": {
"validationPassed": {
"validation": "successful"
}
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:57.153+05:30"
},
{
"stageId": "558245fc-cf79-457d-a6b5-71838537cfc6",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "ENRICHMENT",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
{
"stageId": "d5f0d23c-fc51-4b77-a847-6160533c7fa1",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "PROVISIONING",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
{
"stageId": "4c8caae5-006e-47cc-b7e1-2671006db2d1",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "REVIEW",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
}
],
"tags": [
{
"type": "spool-id",
"value": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"attributes": {}
},
{
"type": "vbo-id",
"value": "26c28ca6-4202-464c-9806-b788989762d4",
"attributes": {}
}
],
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:57.103+05:30"
}
Once the application is created, it is mandatory to mark the application as complete. When you mark data collection as complete, the state of the application changes to ENRICHMENT INITIATED.
Note - After this use the Get account holder API to check the account holder details
curl --location --request POST 'https://cosmos-ahp.preprod.zeta.in/api/v1/ifi/140793/spool/12b66d97-c5c5-4a38-b896-b1790a6a6845/application/998e0a82-c071-41a0-bec5-f3656805b70d/stage/DATA_CAPTURE/complete' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}
{
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"ifiId": 140793,
"requestId": "instagift-1612bn949670949-abcdefg120702",
"status": "ENRICHMENT_INITIATED",
"sections": {
"Personal": {
"sectionId": "9bbde556-c049-4d53-a881-3ec8b7f3213f",
"ifiId": 140793,
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"name": "Personal",
"type": "CreateRealAccountHolder",
"details": {
"PersonalDetails": {
"status": "ENABLED",
"lastName": "",
"firstName": "Aparna",
"individualType": "REAL",
"applicationType": "CREATE_ACCOUNT_HOLDER"
}
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
"Vectors": {
"sectionId": "ba242aff-fe9c-42fe-81d2-c538bde96d15",
"ifiId": 140793,
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"name": "Vectors",
"type": "CreateRealAccountHolder",
"details": {
"VectorDetails": [
{
"type": "p",
"value": "+919818416528",
"isVerified": true
}
]
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
}
},
"vectors": [
{
"vectorId": "6e8a4fee-5f6d-49b1-a1e5-642226589804",
"ifiId": 140793,
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"type": "p",
"value": "+919818416528",
"status": "ENABLED",
"attributes": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
}
],
"stages": [
{
"stageId": "2d726730-58fc-41ce-8456-f7f1a01ccaba",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "ASSESSMENT",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
{
"stageId": "ad8fa02e-6fc2-413a-9ccc-2611ea83b48a",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "DATA_CAPTURE",
"status": "COMPLETED",
"details": {},
"result": {
"validationPassed": {
"validation": "successful"
}
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:09:34.786+05:30"
},
{
"stageId": "558245fc-cf79-457d-a6b5-71838537cfc6",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "ENRICHMENT",
"status": "INITIATED",
"details": {},
"result": {
"validationPassed": {
"validation": "successful"
}
},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:09:35.040+05:30"
},
{
"stageId": "d5f0d23c-fc51-4b77-a847-6160533c7fa1",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "PROVISIONING",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
},
{
"stageId": "4c8caae5-006e-47cc-b7e1-2671006db2d1",
"ifiId": 140793,
"applicationId": "998e0a82-c071-41a0-bec5-f3656805b70d",
"spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"name": "REVIEW",
"status": "NOT_INITIATED",
"details": {},
"result": {},
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:07:56.986+05:30"
}
],
"tags": [
{
"type": "spool-id",
"value": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
"attributes": {}
},
{
"type": "vbo-id",
"value": "26c28ca6-4202-464c-9806-b788989762d4",
"attributes": {}
}
],
"createdAt": "2021-07-12T15:07:56.986+05:30",
"updatedAt": "2021-07-12T15:09:34.828+05:30"
}
Get Bundle API will be used in order to get Payment product related details which will be further used to issue payment instruments.
curl --location --request GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/bundles/df14e2e6-e76e-4b2e-9417-514e4a114eda' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie:
{
"id": "df14e2e6-e76e-4b2e-9417-514e4a114eda",
"ifiID": 140793,
"vboID": "26c28ca6-4202-464c-9806-b788989762d4",
"name": "EBIX VBO Payment Bundle",
"accountProducts": [],
"paymentProducts": [
{
"id": "291bafca-065e-49ef-934f-e198eb1e195a",
"productName": "PAYMENT_PRODUCT_EBIX",
"description": "PAYMENT_PRODUCT_EBIX",
"productID": "9dca23d0-aef9-4de9-8df0-0aaa63093e54",
"type": "PAYMENT",
"programIDs": "",
"ifiID": 140793,
"attributes": {}
}
],
"status": "active",
"attributes": {},
"createdAt": "Nov 5, 2020 5:23:49 PM",
"updatedAt": "Nov 5, 2020 5:23:49 PM",
"shortCode": "BUNIN0511"
}
Issue payment product API can be used to generate single or multiple payment products. The payment product id that needs to be used is fetched from the Get bundle API call. Here , we need to keep the disable formfactor creation flag as true. As a result of which, a resource id will be generated with only phone formfactor products.
curl --location --request POST 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/bundles/df14e2e6-e76e-4b2e-9417-514e4a114eda/issuePaymentProducts' \
--header 'Content-Type: application/json' \
--header 'Postman-Token: f23355e1-93e6-466a-80c8-0baf6158028c' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'cache-control: no-cache' \
--header 'Cookie:
--data-raw '{
"requestID": "issue_payment_product_ebix120702",
"accountHolderID": "ac0790b2-8dfd-478a-8f82-64bc54936b25",
"issuePaymentProductRequests": [
{
"paymentProductID": "291bafca-065e-49ef-934f-e198eb1e195a",
"phoneNumber": "+919818416528",
"disableCardFFCreation":true,
"attributes": {}
}
]
}
'
[
{
"bundleID": "df14e2e6-e76e-4b2e-9417-514e4a114eda",
"resourceID": "8dbf4d5a-1e10-4fc8-8625-6e4da330bdd5",
"targetUri": "account://null",
"status": "ACTIVE"
}
]
After the issuance of a payment product, a resource id is created. Since the formfactor creation is disabled, user will be able to get details of phone formfactor only.
curl --location --request GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/resources/8dbf4d5a-1e10-4fc8-8625-6e4da330bdd5' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie:
{
"ifi": 140793,
"id": "8dbf4d5a-1e10-4fc8-8625-6e4da330bdd5",
"resourceProductId": "18453d87-d25d-4a40-b08f-9d0bc83e4e9c",
"resourceProduct": {
"ifi": 140793,
"id": "18453d87-d25d-4a40-b08f-9d0bc83e4e9c",
"code": "RESOURCE_PRODUCT_EBIX",
"name": "RESOURCE_PRODUCT_EBIX",
"description": "RESOURCE_PRODUCT_EBIX",
"formFactorProducts": [
{
"ifi": 140793,
"id": "9c99ffdf-9adc-4263-a282-fb37a38dae22",
"code": "PMS_EBIX",
"name": "PMS_EBIX",
"description": "PMS_EBIX",
"type": "phoneNumber",
"policies": {
"issuancePolicies": [],
"paymentPolicies": []
},
"provider": "PMS",
"skuID": "RUPAY_60827122_PHYSICAL_EBIX",
"tags": [
"tag://vbo/26c28ca6-4202-464c-9806-b788989762d4"
],
"attributes": {},
"issuanceStatus": "ACTIVE",
"paymentStatus": "ACTIVE",
"createdAt": "Oct 12, 2020 1:33:46 PM",
"modifiedAt": "Oct 12, 2020 1:33:46 PM",
"headers": {
"tenantID": "140793",
"object": "[email protected]"
}
},
{
"ifi": 140793,
"id": "aa59c220-2173-4244-92fd-2f7fee17bea5",
"code": "CMS_EBIX",
"name": "CMS_EBIX",
"description": "CMS_EBIX",
"type": "card",
"policies": {
"issuancePolicies": [],
"paymentPolicies": []
},
"provider": "CMS",
"skuID": "RUPAY_60827122_PHYSICAL_EBIX",
"tags": [
"tag://vbo/26c28ca6-4202-464c-9806-b788989762d4"
],
"attributes": {},
"issuanceStatus": "ACTIVE",
"paymentStatus": "ACTIVE",
"createdAt": "Oct 12, 2020 1:31:23 PM",
"modifiedAt": "Oct 12, 2020 1:31:23 PM",
"headers": {
"tenantID": "140793",
"object": "[email protected]"
}
}
],
"tags": [
"tag://vbo/26c28ca6-4202-464c-9806-b788989762d4"
],
"policies": {
"issuancePolicies": [],
"paymentPolicies": []
},
"status": "ACTIVE",
"createdAt": "Oct 12, 2020 1:35:14 PM",
"modifiedAt": "Oct 12, 2020 1:35:14 PM",
"headers": {}
},
"targetURI": "account://null",
"formFactors": [
{
"id": "42f029d8-aab9-4410-b323-da0fdbdf93cf",
"ifi": 140793,
"formFactorProductID": "9c99ffdf-9adc-4263-a282-fb37a38dae22",
"formFactorID": "+919818416528",
"targetURI": "account://null",
"tags": [],
"attributes": {
"phoneNumber": "+919818416528"
},
"policies": {
"issuancePolicies": [],
"paymentPolicies": []
},
"status": "ACTIVE",
"createdAt": "Jul 12, 2021 9:51:50 AM",
"modifiedAt": "Jul 12, 2021 9:51:50 AM",
"headers": {}
}
],
"tags": [],
"vectors": [
"vector://ACCOUNTHOLDER/ac0790b2-8dfd-478a-8f82-64bc54936b25"
],
"policies": {
"issuancePolicies": [],
"paymentPolicies": []
},
"attributes": {},
"status": "ACTIVE",
"createdAt": "Jul 12, 2021 9:51:50 AM",
"modifiedAt": "Jul 12, 2021 9:51:50 AM",
"headers": {}
}
A card program defines the set of rules applicable to all cards issued under the program. The rules define transaction limits (daily, monthly), validity of funds, restrictions on creditors, restrictions on the debitors and various types of triggers for transactions.
Creation of card program includes the mentioned details:
curl --location --request POST 'https://venus.preprod.zeta.in/api/v1/ifi/140793/cardprogram' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"requestId" : "206pm4nov20-z2080702",
"businessId" : 123,
"businessName" : "instagiftTest2",
"productType" : "GIFT",
"productID" : "106416973871899211",
"cardDesign": {
"logo": "https://card-program-files.s3.amazonaws.com/transparent.png",
"bg": "https://card-program-files.s3.amazonaws.com/meal_new_8.jpeg",
"bgColor": "#FAA300",
"offerColor": "#FFFFFF",
"textColor": "#FFFFFF"
},
"voucherProgram": {
"voucherName": "Meal Voucher",
"voucherDesign": "http://x.y.z",
"voucherValidity": "THREE_YEARS"
},
"reimbursementProgram": {
"printedBillRequired": false,
"mandatorySpendThroughZeta": false,
"maxValuePerBill": 5000000.0,
"maxValuePerMonth": 1.0E7,
"approval": "ZETA",
"userDeclarationText": "You declare that the value you are claiming is spent by you and for food and non-alcoholic beverages only. You authorize Zeta to approve an amount up to the claimed value based on the company policy.",
"extraReimbursementProgramConfig": {
"allowRules": [
{
"rule": "biller.allowBlurredBills",
"value": false
},
{
"rule": "biller.allowLastFinancialYearBills",
"value": false
},
{
"rule": "biller.allowBillDatePastUploadDate",
"value": false
},
{
"rule": "biller.allowTamperedBills",
"value": false
},
{
"rule": "biller.allowOtherLanguageBills",
"value": false
},
{
"rule": "biller.allowHandWrittenBills",
"value": false
},
{
"rule": "biller.allowGroceryBills",
"value": true
},
{
"rule": "biller.allowSupermarketBills",
"value": true
},
{
"rule": "biller.allowNonFoodBill",
"value": false
},
{
"rule": "biller.allowAlcoholicBeverages",
"value": false
},
{
"rule": "biller.allowMultipleBills",
"value": false
},
{
"rule": "biller.allowWithoutSTN",
"value": false
}
],
"requireRules": [
{
"rule": "biller.requireBillDate",
"value": true
},
{
"rule": "biller.requireBillNumber",
"value": true
},
{
"rule": "biller.requireMerchantName",
"value": true
}
]
}
},
"issuanceConfiguration": {
"types": [
"VOUCHER"
],
"issuer": "[email protected]",
"requiresExclusiveVirtualSuperCard": true,
"expiryBehaviour": "moveToExpiry",
"extraIssuanceConfig": {
"corpben.financialYear": "2016-17"
}
},
"spendConfiguration": {
"spendDeclaration": "You declare that you are buying food and non-alcoholic beverages only",
"allowedMerchants": [
"mcc:5311",
"mcc:5411",
"mcc:5422",
"mcc:5441",
"mcc:5451",
"mcc:5462",
"mcc:5499",
"mcc:5811",
"mcc:5812",
"mcc:5814",
"amc:5812",
"amc:5499"
],
"disallowedMerchants": [
"mcc:5813",
"mcc:5921",
"amc:5813"
],
"channels": {
"allowSuperCard": true,
"allowReimbursement": false,
"allowZetaApp": true
},
"limits": {
"transactionLimit": 1.0E7,
"monthlyLimit": 2000000.0
},
"transactionConstraints": {
"minTransactionValue": 0,
"maxTransactionValue": 10000000,
"allowedParticipation": {
"type": "PERCENT_OF_VALUE",
"value": 100,
"valueCap": 1000000
}
}
}
}
'
{
"id": "221bb5e2-32d2-4b18-96f0-6d34e943fcec",
"businessName": "instagiftTest2",
"businessId": 123,
"requestId": "206pm4nov20-z2080702",
"businessDetails": {
"businessID": 123.0,
"businessName": "instagiftTest2"
},
"productType": "GIFT",
"cardDesign": {
"bg": "https://card-program-files.s3.amazonaws.com/meal_new_8.jpeg",
"logo": "https://card-program-files.s3.amazonaws.com/transparent.png",
"bgColor": "#FAA300",
"textColor": "#FFFFFF",
"offerColor": "#FFFFFF"
},
"voucherProgram": {
"voucherName": "Meal Voucher",
"voucherDesign": "http://x.y.z",
"voucherValidity": "THREE_YEARS"
},
"reimbursementProgram": {
"approval": "ZETA",
"maxValuePerBill": 5000000.0,
"maxValuePerMonth": 1.0E7,
"printedBillRequired": false,
"userDeclarationText": "You declare that the value you are claiming is spent by you and for food and non-alcoholic beverages only. You authorize Zeta to approve an amount up to the claimed value based on the company policy.",
"mandatorySpendThroughZeta": false,
"extraReimbursementProgramConfig": {
"allowRules": [
{
"rule": "biller.allowBlurredBills",
"value": false
},
{
"rule": "biller.allowLastFinancialYearBills",
"value": false
},
{
"rule": "biller.allowBillDatePastUploadDate",
"value": false
},
{
"rule": "biller.allowTamperedBills",
"value": false
},
{
"rule": "biller.allowOtherLanguageBills",
"value": false
},
{
"rule": "biller.allowHandWrittenBills",
"value": false
},
{
"rule": "biller.allowGroceryBills",
"value": true
},
{
"rule": "biller.allowSupermarketBills",
"value": true
},
{
"rule": "biller.allowNonFoodBill",
"value": false
},
{
"rule": "biller.allowAlcoholicBeverages",
"value": false
},
{
"rule": "biller.allowMultipleBills",
"value": false
},
{
"rule": "biller.allowWithoutSTN",
"value": false
}
],
"requireRules": [
{
"rule": "biller.requireBillDate",
"value": true
},
{
"rule": "biller.requireBillNumber",
"value": true
},
{
"rule": "biller.requireMerchantName",
"value": true
}
]
}
},
"issuanceConfiguration": {
"types": [
"VOUCHER"
],
"issuer": "[email protected]",
"requiresExclusiveVirtualSuperCard": true,
"expiryBehaviour": "moveToExpiry",
"extraIssuanceConfig": {
"corpben.financialYear": "2016-17"
}
},
"spendConfiguration": {
"spendDeclaration": "You declare that you are buying food and non-alcoholic beverages only",
"allowedMerchants": [
"mcc:5311",
"mcc:5411",
"mcc:5422",
"mcc:5441",
"mcc:5451",
"mcc:5462",
"mcc:5499",
"mcc:5811",
"mcc:5812",
"mcc:5814",
"amc:5812",
"amc:5499"
],
"disallowedMerchants": [
"mcc:5813",
"mcc:5921",
"amc:5813"
],
"channels": {
"allowSuperCard": true,
"allowReimbursement": false,
"allowZetaApp": true
},
"limits": {
"transactionLimit": 1.0E7,
"monthlyLimit": 2000000.0
},
"transactionConstraints": {
"minTransactionValue": 0,
"maxTransactionValue": 10000000,
"allowedParticipation": {
"type": "PERCENT_OF_VALUE",
"value": 100,
"valueCap": 1000000
}
}
},
"ifi": 140793,
"productID": "106416973871899211",
"tags": [
{
"type": "vbo-id",
"value": "26c28ca6-4202-464c-9806-b788989762d4",
"attributes": {}
}
]
}
Cloudcard is a wrapper of the ledger which includes what kind of transactions can be done on the ledger, what features and restrictions does a ledger have.This is achieved using card program.
curl --location --request POST 'https://venus.preprod.zeta.in/api/v1/ifi/140793/cloudcard' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"requestId": "203pm4nov20-z2120702",
"cardProgramId": "221bb5e2-32d2-4b18-96f0-6d34e943fcec",
"productID": "106416973871899211",
"receiver": "p:+919818416528",
"attributes" : {}
}
'
{
"ifiId": 140793,
"id": "c55a349b-5f7f-4fd3-a141-5ceee0d5a76d",
"ledgerId": "4814097359399755573",
"accountId": "9d26e927-6455-4ea1-bd1c-6da549f72d44",
"accountHolderId": "ac0790b2-8dfd-478a-8f82-64bc54936b25",
"cardProgramId": "221bb5e2-32d2-4b18-96f0-6d34e943fcec",
"attributes": {
"zeta.card-program-id": "221bb5e2-32d2-4b18-96f0-6d34e943fcec",
"zeta.business-id": "123"
},
"createdAt": "2021-07-12T10:11:09.392229",
"updatedAt": "2021-07-12T10:11:09.392229"
}
A card reference number is a unique numeric identity provided to individual cards that makes it easier to discover and identify them.
All card-related details linked with the CRN are fetched using the Get card by CRN API.
curl --location --request GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/cards/193678564709' \
--header 'Authorization: Bearer {{token}}
--header 'Content-Type: application/json' \
--header 'Cookie: '
{
"cardID": "b5969174-0d94-41ed-b021-e65db074e954",
"crn": "193678564709",
"cardType": "VIRTUAL",
"maskedPan": "608271-xxxxxx-0061",
"cardStatus": "DISABLED",
"orderDetails": {
"orderID": "instagift-vnp-pgoid-398",
"cardSkuID": "RUPAY_60827133_VIRTUAL_EBIX",
"cardSku": {
"cardSkuId": "RUPAY_60827133_VIRTUAL_EBIX",
"productID": "205120873182861",
"ifi": "140793",
"bin": "608271",
"plasticCode": "WHITEC",
"vendorID": "NA",
"tags": [
"tag://vbo/26c28ca6-4202-464c-9806-b788989762d4"
],
"range": "33"
},
"plasticCode": "WHITEC",
"fourthLineEmbossing": "ZETA - RUBIX - T&E",
"expiry": {
"month": "1",
"year": "24"
},
"deliveryAddress": {
"country": "",
"city": "",
"postalCode": "",
"contactNumber": "",
"addressLine1": "",
"addressLine2": "",
"addressLine3": "",
"state": "",
"addressLine4": ""
},
"tenantAttributes": {},
"orderStatus": "CARD_DATA_GENERATED"
},
"binRange": {
"bin": "608271",
"range": "33"
}
}
The account id we get after generating a cloudcard is linked to the cardID we get from the Get card by CRN API call.
In response to this API, the resource and the associated form factor get linked to the account id.
curl --location --request POST 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/resources/8dbf4d5a-1e10-4fc8-8625-6e4da330bdd5/form_factors' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}' \
--header 'Cookie:
--data-raw '{
"formFactorProductID": "aa59c220-2173-4244-92fd-2f7fee17bea5",
"formFactorID": "b5969174-0d94-41ed-b021-e65db074e954",
"targetURI": "account://9d26e927-6455-4ea1-bd1c-6da549f72d44",
"status": "ACTIVE",
"vectors": [
"vector://ACCOUNTHOLDER/ac0790b2-8dfd-478a-8f82-64bc54936b25"
]
}
'
{
"id": "5791dea1-ea9f-4866-b79c-97e420a6a13f",
"ifi": 140793,
"formFactorProductID": "aa59c220-2173-4244-92fd-2f7fee17bea5",
"formFactorID": "b5969174-0d94-41ed-b021-e65db074e954",
"targetURI": "account://9d26e927-6455-4ea1-bd1c-6da549f72d44",
"tags": [],
"attributes": {},
"policies": {
"issuancePolicies": [],
"paymentPolicies": []
},
"status": "ACTIVE",
"createdAt": "Aug 19, 2021 7:29:42 AM",
"modifiedAt": "Aug 19, 2021 7:29:42 AM",
"headers": {}
}
This completes the gifting flow on fusion. Now the account has been linked with the payment instrument and the account holder can utilise the gift card for transactions.