Hey! These docs are for version 3.2, which is no longer officially supported. Click here for the latest version, 1.0!

Order Create

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
ParameterTypeDescription
orderId*StringUnique 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*StringTotal order amount, which is the sum of all the fulfilment amounts
customerId*StringUnique ID for the customer generated by the merchant. Max length = 64
customerPhone*StringCustomer mobile number - you may pass a dummy value in case this information is not available at your end
customerEmailwwwwwwwt*StringCustomer email address - you may pass a dummy value in case this information is not available at your end
type*StringMust be set to "FULFILL_ONLY".
fulfillments: [[{...},{...},...]*Array of
Objects
fulfillment related details with Account/Card/Wallet/VPA details of each beneficiary.
Parameters for each fulfillments object in array:
ParameterTypeDescription
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*StringAmount 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.
Parameters for each beneficiaryDetails object:
type*StringPass “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
Parameters for each details object:
name*StringName of beneficiary
account*StringAccount of beneficiary (Required for transfer to account)
ifsc*StringIFSC of beneficiary (Required for transfer to account)
cardReference*StringCardReference to the card details stored in Juspay Card Vault (Required for card transfer)
bankCode*StringIIN of the card issuer - a list of bankCode & bankNames is provided (Required for card transfer)
brand*StringCard brand - “VISA/MASTERCARD/AMEX…” (Required for card transfer) Wallet brand - "PAYTM" (Required for wallet transfer)
cardType*StringCREDIT” / "DEBIT" (Required for card transfer)
vpa*StringUPI id of beneficiary (Required for transfer to vpa)
walletIdentifier*StringNumber with which user has registered Paytm Wallet (Required for wallet transfer)
      See request examples for samples of 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.

FieldTypeDescription
udf1StringUser Defined Field
udf2String
udf3String
udf4String
udf5String
* = Required
* = Conditionally required depending on type
The response for this API returns an updated fulfillments array with Beneficiary Details    (click to open table)
ParameterTypeDescription
orderIdStringUnique Reference for the order. This will the id for any subsequent communications.
amountStringTotal order amount, which is the sum of all the fulfilment amounts
customerIdwwwwwwwwwwStringUnique ID for the customer generated by the merchant.
typeString"FULFILL_ONLY".
statusString"FULFILLMENTS_SUCCESSFUL" unless otherwise indicated:
  Status codes and meaning
CREATED
Pending
    Order Created
READY_FOR_FULFILLMENT
Pending
    Payment Received and can be added to scheduler
FULFILLMENTS_SCHEDULED
Pending
    Task added to scheduler but not yet picked up
FULFILLMENTS_FAILURE
Failure
    All Fulfillment attempts are Failed
FULFILLMENTS_SUCCESSFUL
Success
    Fulfillment completed successfully
FULFILLMENTS_MANUAL_REVIEW
Check with bank
    Any one of the Fulfillments is in MANUAL_REVIEW
payments: [....]ArrayDetails of payments
fulfillments: [[{...},{...},...]Array of
Objects
Status of fulfillment related items with Account/Card/Wallet/VPA details of each beneficiary.
Parameters for each fulfillments object in array:
ParameterTypeDescription
updatedByString"DEFAULT" unless otherwise
updatedAtStringDate/time (ISO representation) of fulfillment update
typeString"ORDER"
statusUpdatedAtStringDate/time (ISO representation) of fulfillment status update
statusString"CREATED" unless otherwise
  Status codes and meaning
1

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
idStringUnique ID generated by Juspay for the fulfillment order.
createdAtStringDate/time (ISO representation) when fulfillment order was created
amountStringAmount 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.
Parameters for each beneficiaryDetails object:
typeStringCARD 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.
Parameters for each details object:
nameStringName of beneficiary
accountStringAccount of beneficiary (Required for transfer to account)
ifscStringIFSC of beneficiary (Required for transfer to account)
cardReferenceStringCardReference to the card details stored in Juspay Card Vault (Required for card transfer)
bankCodeStringIIN of the card issuer - a list of bankCode & bankNames is provided (Required for card transfer)
brandStringCard brand - “VISA/MASTERCARD/AMEX…” (Required for card transfer) Wallet brand - "PAYTM" (Required for wallet transfer)
cardTypeStringCREDIT” / "DEBIT" (Required for card transfer)
vpaStringUPI id of beneficiary (Required for transfer to VPA)
walletIdentifierStringNumber 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.

FieldTypeDescription
udf1StringUser Defined Field
udf2String
udf3String
udf4String
udf5String
Language
Authentication
Basic
base64
:
Click Try It! to start a request and see the response here!