Payout Wallet - Amazon

Find APIs to make payouts via an Amazon Pay Gift Card.


You can make payouts to multiple Fund Accounts of your Contacts including wallets. Using the Payout Wallet APIs, make payouts to your Contact's Amazon Pay Gift Card wallet from

. You can process payouts up to ₹10,000 per transaction multiple times in a day. Know more about and their .

Explore the Payout Wallet API collection in the Razorpay Postman Public Workspace. Fork the workspace and test the APIs with your

.

Before you create a payout to an Amazon Pay wallet or

, you must:

Or, if you already know which Contact you want to make the payout to, keep their Fund Account id (for example, fund_account_id: fa_00000000000001) available.

Before you fire APIs, keep your Key id and Key Secret available. You can

in Live Mode or in on the .

API EndpointDescription
includes:
Creates a normal payout to your Contact's Amazon Pay Gift Card.
Create a Contact, Fund Account and make the payout to your Contact's Amazon Pay Gift Card in a single API call using .

Following are the best practices to follow when using Payout Wallet APIs.

Use Composite Payout API

Composite API allows you to make a payout using a single API call. This reduces the number of calls you would otherwise need to create a payout.

Payout Idempotency

Idempotency allows you to safely retry or send the same request multiple times without fear of performing the same action more than once.

Know more about

.

Improve Payout Processing Time

We recommend that you create the Contact and Fund account before making a payout. Doing this helps you improve payout processing time.

You can continue to use the Contact and Fund account details (instead of Ids) in the

to make payouts. This does not create duplicate Contacts or Fund accounts in your system.

All the entities for creating a Contact, Fund Account and payout are listed in this entity table.

Handy Tips

Parameters for Contact and Fund Account are present within the payouts entity table. fund_account will contain the Contact and Fund Account details.

id

string The unique identifier of the order.

entity

string The entity being created. Here, it will be payout.

fund_account_id

string The unique identifier linked to the fund account. For example, fa_00000000000001.

fund_account

object Contact and fund account details to which the payout was made.

id

string The unique identifier linked to the fund account. For example, fa_00000000000001.

entity

string Here it will be fund_account.

contact_id

string The unique identifier linked to the contact. For example, cont_00000000000001.

contact

object Details of the contact to whom the payout is being made.

id

string The unique identifier linked to the contact. For example, cont_00000000000001.

entity

string The entity being created. Here, it will be contact.

name

string The contact's name. For example, Gaurav Kumar.

contact

string The contact's phone number. For example, 9000090000.

email

string The contact's email address. For example, gaurav.kumar@example.com.

type

string Classification for the contact being created. For example, employee. Classifications are available by default:

  • vendor
  • customer
  • employee
  • self

Additional Classifications can be created via the

and then used in APIs. It is not possible to create new Classifications via API.

reference_id

string A reference you entered for the contact. For example, Acme Contact ID 12345.

batch_id

string This value is returned if the contact was created as part of a bulk upload. For example, batch_00000000000001.

active

boolean Possible values:

  • true: active
  • false: inactive

notes

object User-entered notes for internal reference. This is a key-value pair. For example, "note_key": "Beam me up Scotty".

created_at

integer Timestamp, in Unix, when the contact was created. For example, 1545320320.

account_type

string The type of fund account being created. Here, it will be wallet.

wallet

object The contact's wallet details.

provider

string The wallet provider. Here, it is amazonpay.

phone

string 10 digit beneficiary phone number with the country code. For example, +919876543210.

email

string Beneficiary email address. For example, gaurav.kumar@example.com.

name

string Wallet holder's name. Between 4 and 120 characters. This field is case-sensitive. Supported characters: a-z, A-Z, 0-9, space, , - , _ , / , ( , ) and , .. For example, Gaurav Kumar.

active

boolean Possible values:

  • true: active
  • false: inactive

batch_id

string This value is returned if the fund account was created as part of a bulk upload. For example, batch_00000000000001.

created_at

integer Timestamp, in Unix, when the fund account was created. For example, 1545320320.

amount

integer The payout amount, in paise. For example, pass 1000000 to transfer an amount of ₹10,000. Minimum value 100.

The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance.

currency

string The payout's currency. Here, it is INR.

notes

array of objects Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty".

fees

integer The fees for the payout. This value is returned only when the payout moves to the processing state. For example, 5.

tax

integer The tax that is applicable for the fee being charged. This value is returned only when the payout moves to the processing state. For example, 1.

status

string The status of the payout. Possible payout states:

Refer to

.

purpose

string The purpose of the payout that is being created. The following classifications are available in the system by default:

  • refund
  • cashback
  • payout
  • salary
  • utility bill
  • vendor bill

Additional purposes for payouts can be created via the

and then used in the API. However, it is not possible to create a new purpose for the payout via the API.

utr

string The unique transaction number linked to a payout. For example, GCID1234567.

mode

string The mode used to make the payout. Available modes is amazonpay. The payout modes are case-sensitive.

reference_id

string A user-generated reference given to the payout. Maximum length is 40 characters. For example, Acme Transaction ID 12345. You can use this field to store your own transaction ID, if any.

narration

string Custom note that also appears on the bank statement. Maximum length 30 characters. Allowed characters: a-z, A-Z, 0-9 and space.

You cannot enter a custom narration when creating a payout via Amazon Pay.

batch_id

string This value is returned if the contact was created as part of a bulk upload. For example, batch_00000000000001.

status_details

object This parameter returns the current status of the payout. For example, IMPS is not enabled on beneficiary account, Retry with different mode.

description

string A description for the error. For example, IMPS is not enabled on beneficiary account, please retry with different mode.

source

string Possible values:

  • gateway: Technical error at Razorpay Partner bank.
  • beneficiary_bank: Technical error at beneficiary bank.
  • business: Merchant action required.
  • internal: Technical error at Razorpay's server.

reason

string The error reason. For example, imps_not_allowed.

.

created_at

integer Indicates the Unix timestamp when this order was created. For example, 1545320320.

{
"id": "pout_00000000000001",
"entity": "payout",
"fund_account_id": "fa_00000000000001",
"fund_account": {
"id": "fa_00000000000001",
"entity": "fund_account",
"contact_id": "cont_00000000000001",
"contact": {
"id": "cont_00000000000001",
"entity": "contact",
"name": "Gaurav Kumar",
"contact": "9876543210",
"email": "gaurav.kumar@example.com",
"type": "employee",
"reference_id": "Acme Contact ID 12345",
"batch_id": null,
"active": true,
"notes": {
"notes_key_1": "Tea, Earl Grey, Hot",
"notes_key_2": "Tea, Earl Grey… decaf."
},
"created_at": 1580817353
},
"account_type": "wallet",
"wallet": {
"provider": "amazonpay",
"phone": "+919876543210",
"email": " gaurav.kumar@example.com",
"name": "Gaurav Kumar"
},
"batch_id": null,
"active": true,
"created_at": 1581080272
},
"amount": 1000000,
"currency": "INR",
"notes": {
"notes_key_1": "Beam me up Scotty",
"notes_key_2": "Engage"
},
"fees": 590,
"tax": 90,
"status": "processed",
"purpose": "payout",
"utr": "GCID1234567",
"mode": "amazonpay",
"reference_id": "Acme Transaction ID 12345",
"narration": "Acme Corp Fund Transfer",
"batch_id": null,
"status_details": null,
"created_at": 1581499319
}

Razorpay Webhooks to configure and receive notifications when a specific occurs. When one of these events is triggered, we send an HTTP POST in JSON to the webhook's configured URL.


Was this page helpful?