Instant Transfer

On this page, the details of Instant Transfer are shown with examples, API endpoints to work with.

Summary

An instant transfer is a type of money transfer where both of accounts are in the same bank. In this type, as the name sounds, the money is sent to the receiver's account instantly as the money stays within the same bank.

Contacts (contacts-controller)

Users must provide Contact Permission to use this feature. The contacts are sent in bulk to check if the data is associated with any account by the middleware.

A person can have multiple accounts, which might have the person's email address or phone number associated with them. For example, One person might have an account associated with email and another account with a phone number.

The in-app contact list will be empty for first-time users as the app doesn't have any contacts imported from the device. The first step is to ask for contact permission on the app so that you can get the list of people and send them to the middleware to check for available accounts. To make a transfer request, you must choose a contact first. To find the available contacts, make a POST request using the /v1/contacts-discovery endpoint.

The phone numbers and email addresses have to be sent using the SHA256 method after hashing. A sample request body is given below:

[    
    // this is a single entry from the contact list of the device
    {
        "id": "dev123",
        "emailHash" : "da4ea0932830481fb85ca8208da7983d7e51d780ec48db49d44ec89b82da2bcc",
        "phoneNumberHash": "653eb668de2d0073a67f01770f6a272861c9976551a018f9058b198b90048787" 
    }, 
    // this is another one
    {
        "id": "dev456",
        "emailHash" : "da4ea0932830481fb85ca8208da7983d7e51d780ec48db49d44ec89b82da2bcc",
        "phoneNumberHash": "653eb668de2d0073a67f01770f6a272861c9976551a018f9058b198b90048787" 
    }
]

The successful response will contain the list of the account with the email or phone associated with the account.

Make the transfer

After the available accounts are found, the user can choose an account to make the transfer. To start the transfer process, make a POST request with the data required for the initialisation. There are some options available for the users to choose from. For example, if the user wants to attach some images, then the attachment object should be used. Users can add multiple attachments in a transfer.

Users can set up the transfer as a recurring payment as well by providing the 'schedule' property in the body. There can be an end date for the recurring payment, but it's not a mandatory one. Users can cancel or change the scheduled date later on.

The mandatory fields are marked with a * sign.

On the initiation of the transfer, you can set the transfer as a recurring payment but if you want to change the scheduled time of the transfer then make a PATCH request to /v1/transfer/{id} endpoint. Here, the id is the id of the transfer request.

For this request, you have to make sure that a challenge id is available as 'X-AAZZUR-DEVICE-CHALLENGE' and a signature is available as 'X-AAZZUR-SIGNATURE'. To know more about how to generate it, please read through the process available on the Device Verification Page.

Last updated