Order Create is an API call to register a request for making a payout, Order contains important information like amount, customer, and beneficiary details (one for each fulfillment instance).
Request Parameter Details (click to open table)
- includes fulfillments array with Beneficiary Details
- includes fulfillments array with Beneficiary Details
Parameter | Type | Description | |
---|---|---|---|
orderId | * | String | Unique Reference for the order. This will the id for any subsequent communications. Min length = 4, Max length = 64 Orderid can contain alphanumeric values. It can also contain special characters , - and @ |
amount | * | String | Total order amount, which is the sum of all the fulfilment amounts |
customerId | * | String | Unique ID for the customer generated by the merchant. Max length = 64 |
customerPhone | * | String | Customer mobile number - you may pass a dummy value in case this information is not available at your end |
customerEmailwwwwwwwt | * | String | Customer email address - you may pass a dummy value in case this information is not available at your end |
type | * | String | Must be set to "FULFILL_ONLY". |
fulfillments: [[{...},{...},...] | * | Array of Objects | fulfillment related details with Account/Card/Wallet/VPA details of each beneficiary. |
fulfillments
object in array: Parameter | Type | Description | |
---|---|---|---|
preferredMethodList:wwt [string1, string2,..] | Array of Strings | This will define the list of methods to be used for fulfillments for instance - [“YESBANK_IMPS”,”CASHFREE_IMPS”] | |
amount | * | String | Amount to be processed for the particular fulfillment. Sum of all the fulfilment amount should be equal to order amount, |
beneficiaryDetails: {param, object} | * | JSON object | These objects contain Account/Card/Wallet/VPA details of each beneficiary in which the payout is to be processed. |
beneficiaryDetails
object: type | * | String | Pass “CARD”/ “UPI_ID” / “ACCOUNT_IFSC” / "WALLET" based on required method. CARD for card transfer, UPI_ID for transfer to vpa, and ACCOUNT_IFSC for transfer to account, WALLET for transfer to Paytm Wallet |
details:wwwwwwwww {param1, param2,..} | * | JSON object | This object will contain the Account/Card/Wallet/VPA details of a beneficiary |
details
object: name | * | String | Name of beneficiary |
account | * | String | Account of beneficiary (Required for transfer to account) |
ifsc | * | String | IFSC of beneficiary (Required for transfer to account) |
cardReference | * | String | CardReference to the card details stored in Juspay Card Vault (Required for card transfer) |
bankCode | * | String | IIN of the card issuer - a list of bankCode & bankNames is provided (Required for card transfer) |
brand | * | String | Card brand - “VISA/MASTERCARD/AMEX…” (Required for card transfer) Wallet brand - "PAYTM" (Required for wallet transfer) |
cardType | * | String | “CREDIT” / "DEBIT" (Required for card transfer) |
vpa | * | String | UPI id of beneficiary (Required for transfer to vpa) |
walletIdentifier | * | String | Number with which user has registered Paytm Wallet (Required for wallet transfer) |
details
objects.
UDF Parameters:
udf1 to udf5 - Optional user defined fields which will be echoed back in the response from Juspay with a Max character limit of 255. These fields may be used to pass any additional information that is required to be stored at Juspay for any analysis or other operations. In some cases, these UDFs are passed to the downstream gateways as well.
Field | Type | Description |
---|---|---|
udf1 | String | User Defined Field |
udf2 | String | |
udf3 | String | |
udf4 | String | |
udf5 | String |
* = Conditionally required depending on type
The response for this API returns an updated fulfillments array with Beneficiary Details (click to open table)
Parameter | Type | Description |
---|---|---|
orderId | String | Unique Reference for the order. This will the id for any subsequent communications. |
amount | String | Total order amount, which is the sum of all the fulfilment amounts |
customerIdwwwwwwwwww | String | Unique ID for the customer generated by the merchant. |
type | String | "FULFILL_ONLY". |
status | String | "FULFILLMENTS_SUCCESSFUL" unless otherwise indicated:Status codes and meaningCREATED Pending READY_FOR_FULFILLMENT Pending FULFILLMENTS_SCHEDULED Pending FULFILLMENTS_FAILURE Failure FULFILLMENTS_SUCCESSFUL Success FULFILLMENTS_MANUAL_REVIEW Check with bank |
payments: [....] | Array | Details of payments |
fulfillments: [[{...},{...},...] | Array of Objects | Status of fulfillment related items with Account/Card/Wallet/VPA details of each beneficiary. |
fulfillments
object in array: Parameter | Type | Description |
---|---|---|
updatedBy | String | "DEFAULT" unless otherwise |
updatedAt | String | Date/time (ISO representation) of fulfillment update |
type | String | "ORDER" |
statusUpdatedAt | String | Date/time (ISO representation) of fulfillment status update |
status | String | "CREATED" unless otherwiseStatus codes and meaning1 10 21 24 23 26 27 22 28 CREATED Returned if order was successfully created. NEW Newly created order CHARGED Successful transaction AUTHORIZED In cases where 'auto_capture' is false PENDING_VBV Authentication is in progress AUTHENTICATION_FAILED User did not complete authentication AUTHORIZATION_FAILED User completed authentication, but bank refused the transaction JUSPAY_DECLINED User input is not accepted by the underlying PG AUTHORIZING Transaction status is pending from bank |
id | String | Unique ID generated by Juspay for the fulfillment order. |
createdAt | String | Date/time (ISO representation) when fulfillment order was created |
amount | String | Amount to be processed for the particular fulfillment. Sum of all fulfilment amounts should be equal to order amount, |
preferredMethodList:wwt [string1, string2,..] | Array of Strings | This will define the list of methods to be used for fulfillments for instance - [“YESBANK_IMPS”,”CASHFREE_IMPS”] |
fulfillmentMethodList: [string1, string2,..] | Array of Strings | The actual methods that were used for fulfillments |
beneficiaryDetails: {param, object} | JSON object | These objects contain Account/Card/Wallet/VPA details of each beneficiary in which the payout is to be processed. |
beneficiaryDetails
object: type | String | CARD for card transfer, UPI_ID for transfer to vpa, ACCOUNT_IFSC for transfer to account, and WALLET for transfer to Paytm Wallet |
details:wwwwwwwww {param1, param2,..} | JSON object | This object will contain the Account/Card/Wallet/VPA details of a beneficiary. |
details
object: name | String | Name of beneficiary |
account | String | Account of beneficiary (Required for transfer to account) |
ifsc | String | IFSC of beneficiary (Required for transfer to account) |
cardReference | String | CardReference to the card details stored in Juspay Card Vault (Required for card transfer) |
bankCode | String | IIN of the card issuer - a list of bankCode & bankNames is provided (Required for card transfer) |
brand | String | Card brand - “VISA/MASTERCARD/AMEX…” (Required for card transfer) Wallet brand - "PAYTM" (Required for wallet transfer) |
cardType | String | “CREDIT” / "DEBIT" (Required for card transfer) |
vpa | String | UPI id of beneficiary (Required for transfer to VPA) |
walletIdentifier | String | Number with which user has registered Paytm Wallet. |
UDF Parameters:
udf1 to udf5 - Optional user defined fields which will be echoed back in the response from Juspay with a Max character limit of 255. These fields may be used to pass any additional information that is required to be stored at Juspay for any analysis or other operations. In some cases, these UDFs are passed to the downstream gateways as well.
Field | Type | Description |
---|---|---|
udf1 | String | User Defined Field |
udf2 | String | |
udf3 | String | |
udf4 | String | |
udf5 | String |