RazorpayX Announcements - December 03, 2019

Announcement about changes to RazorpayX with effect from December 03, 2019.


List of changes in the APIs and webhooks payloads with effect from December 03, 2019.

Payout Mode is now Mandatory🔗

It is now mandatory to select a payout mode while creating the payout. This field cannot be left blank.

The payout modes available to you are: IMPS, NEFT, RTGS and UPI.

Handy Tips
The payout modes are case sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.

Fund Account API Changes🔗

The details parameter has been deprecated with effect from December 03, 2019. It duplicated information that was available in the bank_account, vpa and card parameters.

The details parameter:

  • Could be used in the request body.
  • Was part of the response body.
  • Was part of the webhook payloads.

You can use the bank_account, vpa or card parameter instead, according to your requirement.


The details parameter was used in the following APIs and webhooks:

  • Fund account APIs
    • Create fund account (for a contact's bank account, VPA and card)
    • Activate or deactivate a fund account
    • Fetch all fund account details
    • Fetch fund account details by id
  • Webhook payloads
    • payout.pending
    • payout.queued
    • payout.initiated
    • payout.processed
    • payout.reversed

Refer to the fund account API section for more details.

API Change🔗

The create fund account API is used as an example to show the change. The details parameter, which duplicated information in the bank_account, vpa or card parameter, will be removed.

Bank Account🔗




VPA🔗




Card🔗




Webhook Change🔗

The payout.processed webhook is used as an example to show the change. The details parameter, which duplicated information in the bank_account or vpa parameter, will be removed.

Bank Account🔗



VPA🔗



Cards🔗



Handling Duplicate Contact Creation🔗

Going forward, a new contact will be created only if the contact attributes are unique. That is, the details are different from existing contacts in your database. Contact notes are NOT considered for the duplicate check.

Earlier, creating a contact meant a new contact was always created, irrespective of whether the details already existed in your database.

All Unique parameters - new contact created🔗

In the below example, all request parameters are unique. We are trying to create a contact for the first time.

Here, a new contact is created and you get a 201 OK response.

All parameters same as before - existing contact id returned🔗

In the below example, all the request parameters, except notes, are the same as the contact created before.

Here, a new contact is NOT created.

Instead, you get a 200 OK response with the contact id of the existing contact. In case the system has multiple contacts with the same details, details of the most recently updated contact are returned.

Some parameters unique, some same as before - new contact created🔗

In the below example, some request parameters are the same as the contact created before, while other details such as type, contact and reference_id are different.

Here, a new contact is created and you get a 201 OK response.

Handling Duplicate Fund Account Creation🔗

Going forward, a new fund account will be created only if the fund account attributes are unique. That is, the details are different from existing fund accounts in your database. Fund account notes are NOT considered for the duplicate check.

Earlier, creating a fund account meant a new fund account was always created, irrespective of whether the details already existed in your database.

Bank Account🔗

All Unique parameters - new fund account created🔗

In the below example, all request parameters are unique. We are trying to create a fund account for the first time.

Here, a new fund account is created and you get a 201 OK response.

All parameters same as before - existing fund account id returned🔗

In the below example, all the request parameters are the same as the fund account created before.

Here, a new fund account is NOT created.

Instead, you get a 200 OK response with the fund account id of the existing fund account. In case the system has multiple fund accounts with the same details, details of the most recently updated fund account are returned.

Some parameters unique, some same as before - new fund account created🔗

In the below example, the contact_id parameter in the request is the same as before, while the ifsc, bank_name and account_number parameters have new (unique) values.

Here, a new fund account is created and you get a 201 OK response.

VPA🔗

All Unique parameters - new fund account created🔗

In the below example, all request parameters are unique. We are trying to create a fund account for the first time.

Here, a new fund account is created and you get a 201 OK response.

All parameters same as before - existing fund account id returned🔗

In the below example, all the request parameters are the same as the fund account created before.

Here, a new fund account is NOT created.

Instead, you get a 200 OK response with the fund account id of the existing fund account. In case the system has multiple fund accounts with the same details, details of the most recently updated fund account are returned.

Some parameters unique, some same as before - new fund account created🔗

In the below example, contact_id is the same as before, while the address parameter has a new (unique) value.

Here, a new fund account is created and you get a 201 OK response.

payout.created Webhook Deprecated🔗

The payout.created webhook has been deprecated with effect from December 03, 2019. You can use the payout.initiated webhook instead.

The payout.initiated webhook has the same parameters as the payout.created webhook, except the event name. The payout.initiated webhook will be fired whenever the status of a payout changes to processing.

If you were using the payout.created webhook, you can deselect this and select the payout.initiated webhook from the Webhook section under Settings → Developer Controls. Refer to the short animation below for more information.










×