Switch to dark theme

Switch to light theme

Prerequisites

Parameter nameParameter value
IFI IDeg:304876
API endpointhttps://fusion.gw.zetapay.in/api/v1
Access token{{token}}
Bundle ID{{BundleID}}
Simulator for card paymentshttps://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.

Account Holder

An Account holder is a real / legal Fusion customer. Drawing from the real world analogy, an account holder could be an actual person who holds an account at a bank or could be a legal entity like a corporate, merchant, etc. Account-holders can also be headless(anonymous),in which case we may not be able to ascertain the identity of the customer using identifiable documents.

  1. Account Holder Creation

    Creating Account Holder using User’s Personal information and KYC Details is the first step in the user journey

  2. Account Holder Details

    Fetching Account Holder Details of the accounts created using Mobile number or email id

  3. Account Holder Point of Presence Creation

    Creating Account Holder Point of Presence Details in the sytem using account holder’s OVD address.

  4. Account Holder Point of Presence Details

    Fetching Account Holder Point of Presence Details using Account holder id.

Accounts

An account corresponds to one single liability or asset ledger and represents monetary value in a given currency. In the above example the account ID is dc97c156-1fed-44c0-a7e4-5158f1fac042 Account is the actual entity that would hold money for the account holder. This is the actual account that would exist at, for example, HDFC bank in MG Road branch. Following are the set of APIs that would enable you to carry out various activities with regards to the accounts of an account holder.

  1. Get Account Holder Accounts List

    List of Accounts an Account holder holds can be fetched from Account holder ID

  2. Get Account Balance

    Account balance of the accounts created for an account holder can be fetched from Account holder id.

  3. Account to Account Fund Transfer

    Transferring funds between one account holder account to another account holder account can be done by debit and credit account id along with the amount that needs to be transferred.

  4. Get Transactions of an Account holder

    List of all transactions performed by an account holder can be fetched from Account Id and in return we will receive transaction id corresponding to each transaction.

  5. Reversing money to Account holder

    Return the money involved in any transaction to the account holder using the transaction id associated with that particular transaction.

  6. VBO Account Funds Transfer

    Transferring Money to a dummy Acccount can be done using the Account to Account fund transfer API with a different transfer code.

Bundle

Above, when you would have tried to get accounts for the account holder, you would have realized that currently, it is empty. This is because you have to manually assign a bundle to the account holder and issue accounts using that bundle.Bundle is a concept that enables financial institutes to create and combine several products that could be sold together. Examples include an ICICI Salary account which gives you a Savings account bundled with a VISA Coral Debit card.It is also a manifestation of the application form and workflow (more on this in a later section). Importantly a product can only be availed by an end-customer through the construct of a bundle. After creating an account holder, you would need to assign a bundle to him/her.

  1. Issue Bundle

    By issue Bundle we are issuing one account and one payment product to an Account Holder.

  2. Issue Account Product

    Issue Account product helps in issuing multiple account products to the account holder.

  3. Issue Payment Product

    Issue Payment Product helps in issuing multiple payment products to the account holder.

  4. Get Bundle

    Details of the bundle created can be fetched from bundle id we use

Card

As explained in the docs, when a bundle is issued, depending upon the type of product being bundled, the account holder is issued a payment product (usually) along with the account product. The payment product is manifested through a one-to-one mapping to the resource product which is nothing but an authenticable entity on behalf of an account holder. The resource product is internally mapped to ‘n’ number of payment instruments or form factors. One of these form factors is a card and another is a mobile.

  1. Get Resource

    Resource Details which in turn has the payment product details can be fetched using resource id. Payment products are internally mapped to a phone number and a card

  2. Update Resource State

    Resource Product State can be updated using the Status field, it can be changed to Active or Inactive.

  3. Get Card Details

    Card Details can be fetched using Form factor ID which we receive as response of Get Resource Details API

  4. Update form factor State

    Form Factor State can be updated using the Status field, it can be changed to Active or Inactive or delete the form factor entirely.

  5. Simulate Card Transactions

    You can Simulate card transaction with the help of the card information you receive from Cards SDK.

  6. Dispatch Card

    To Dispatch the physical card to the relevant address we can use this API, In case of Digital card we can make the address as blank.

  7. Replace Card

    In order to replace a card we need to fetch the card reference number of the existing card along with order id.

Bulk Card Orders

There are many practical real-world use cases and scenarios where you would want to bulk issue cards to your account holders.Fusion has a bulk card issuance API that allows you to solve for each of the above-mentioned pain points.

  1. Bulk card Order

    Bulk card order lets you order multiple cards for multiple account holders by mentioning the quantity of the cards.

  2. List Card Details

    Card Details can be listed by using the order id received from Bulk card order API

  3. Account Holder creation

    Once Bulk order is placed, Account holder creation can be done using the account holder API

  4. Issue Bundle

    Once an account holder is created, we use issue bundle to create account product with no form factor associated with it

  5. Get Card by CRN

    Card details/ Order details for a specific order can be fetching using Card Reference Number

  6. Get Resource Details

    Resource Details which in turn has the payment product details can be fetched using resource id. Payment products are internally mapped to a phone number and a card

  7. Associate card form factor with resource

    Form factor id (card) can be associated with a resource product using this API since while issuing a bundle we have not associated any form factor with it.

  8. Associate phone form factor with resource

    Form factor id (Phone) can be associated with a resource product using this API since while issuing a bundle we have not associated any form factor with it.

  9. Generate Pin

    To generate Pin after associating form factor with resource, user needs to opt for preferred mode mobile/email.

Beneficiary

A beneficiary is like your real-world beneficiaries whom you may want to transfer real funds to. This is similar to the list of entities that you may have in your savings bank account system along with some identifier which may include (UPI VPA ID, Bank account number + IFSC code, etc.)

  1. Beneficiary Creation

    Creating Beneficiary is the first step to enable transfers to Beneficiary account

  2. Get Beneficiary Details

    Created Beneficiary Details can be extracted from the Beneficiary ID

  3. Get Beneficiary Account Details

    Beneficiary Account Details which would be used while transferring the funds can be extracted from here

  4. Beneficiary Addition

    Adding Beneficiary would be the step 2 just after creating the Beneficiary in order for us to transfer funds

  5. Fund Transfer to Beneficiary

    Fund transfer can be done once we have added an account holder as a beneficiary.

  6. Get Beneficiary account List

    List of Accounts which a beneficiary owns can be pulled from Account holder ID and Beneficiary Id of the beneficiary.

Transaction Policies

Transaction Policy aka TPolicy is composed of a set of rules. Each rule validates if a transaction should be permitted. A policy permits a transaction when all rules of the policy permit the transaction. An account may have multiple policies applicable on it at any point in time.

Transaction Category

Transaction Category has the ability to group or identify a set of transactions based on the attributes present in a posting event.A transaction category is a base filter to identify a set of transactions. The category would then be used in a Transaction Policy to apply rules & restrictions.

  1. Create Transaction Category

    Create Transaction code with the help of transaction attributes and a unique Code.

  2. Get Transaction Category

    Transaction codes created can be fetched by using Account holder id and transaction category code.

  3. Create Transaction Policy

    Transaction Policy creation is done using Transaction category codes and by formulating some rules.

  4. Get Transaction Policy

    Created Transaction policies will be fetched by providing transaction policy ID.

  5. Update Transaction Policy

    Updation of Transaction policies is as simple as updating the rules which allows or declines a transaction.