# Common object definitions

# payment

  • # id string

    Identifier of the payment resource created.

  • # reference_id string

    In case of referenced payment (e.g., Capture or Refund), this fields included to see which payment was referenced.

  • # state string

    The state of the payment, authorization, or order transaction. The value is:

    • Authorised. The transaction was successfully authorised.
    • Pending. The transaction is currently pending.
    • Captured. The transaction has been captured.
    • Refunded. The transaction has been refunded.
    • Declined. The transaction has been declined.
    • Expired. The transaction has been expired.
    • Cancelled. The transaction has been cancelled.
    • Voided. The transaction has been voided.
    • Timeout. The transaction has been timeout.
    • Deferred Refund. The transaction refund has been deferred.
    • Flagged. The transaction has been flagged.
    • Deferred Capture. The transaction Capture has been deferred.
    • Card Verified. The card has been verified.
  • # result object

    Contain result of the payment request

  • # intent string

    The payment intent. Value is:

    • sale. Makes an immediate payment.
    • auth. Authorizes a payment for capture later

    Allowed values: sale, auth.

  • # payer object

    Source of the funds for this payment represented by a direct credit card.

  • # payee object

    A resource representing a Payee who receives the funds and fulfills the order.

  • # transaction object

    Transactional details including the amount and item details.

  • # custom object

    Free-form field for the use of clients

  • # create_time datetime

    Payment creation time as defined in RFC 3339 Section 5.6 (opens new window).

  • # three_d object

    ThreeD Secure details pertaining to the transaction

  • # capture_delay decimal

    The payment will be captured after the number of hours that you specify,

    If Value is not specified and intent is Auth, then the transaction should be captured manually. If Value is specified and equal to 0 and intent is AUTH, then the transaction is captured after the default period of 7 days. If Value is specified and intent is AUTH, then the transaction is captured after the specified number of hours.

    Value cannot be > 168 hours (7 days)

  • # delayed_capture_time datetime

    Payment capture time in case the capture is delayed. (as defined in RFC 3339 Section 5.6 (opens new window).

  • # metadata ArrayOf(KeyValuePair(string, string))

    contains additional information about the transaction

  • # merchant_initiated bool

    Flags the payment as a merchant-initiated transaction (MIT).

  • # previous_payment_id string

    For payments that use stored card details, such as subscription payments - an existing payment identifier from the subscription series.

  • # previous_scheme_transaction_id string

    Previous Scheme Transaction Id as returned by the scheme. In merchant initiated transaction this will help to reference the initial payment. (Used only if the referenced payment is not done using our payment platform)

  • # one_dollar_retry bool

    Indicates whether we retry with 1 dollar if a $0 authorization fails.

# result

  • # code string

    Code identifying the result on our system

  • # message string

    Message related to the code

  • # description string

    Long description of the code identifying the result on our system

  • # authorisation_code string

    Authorisation code:

    When the payment is authorised successfully, this field holds the authorisation code for the payment. When the payment is not authorised, this field is empty.

    Example: 58747

  • # cascaded string

    Indicates whether the transaction has cascaded to another acquirer

  • # risk_check string

    Indicate whether risk checks was enabled and performed

  • # redirect_url string

    When the payment flow requires a redirect, this contains information about the redirect URL.

  • # authenticate_url string

    When the payment flow requires an authentication via OTP, this contains information about the authentication URL.

  • # actions ArrayOf(action)

    List of actions performed by the payment transaction and its corresponding results.

# action

  • # code string

    Code identifying the result on our system

  • # message string

    Message related to the code

  • # description string

    Long description of the code identifying the result on our system

  • # action string

    The name of the action performed by the payment transaction to obtain the corresponding result

  • # id string

    Identifier of the payment resource created corresponding to the action performed.

  • # state string

    State of the payment action performed. The value is:

    • Authorised. The transaction was successfully authorised.
    • Pending. The transaction is currently pending.
    • Captured. The transaction has been captured.
    • Refunded. The transaction has been refunded.
    • Declined. The transaction has been declined.
    • Expired. The transaction has been expired.
    • Cancelled. The transaction has been cancelled.
    • Voided. The transaction has been voided.
    • Timeout. The transaction has been timeout.
    • Deferred Refund. The transaction refund has been deferred.
    • Flagged. The transaction has been flagged.
    • Deferred Capture. The transaction Capture has been deferred.
    • Card Verified. The card has been verified.

# Payer

  • # payment_type enum

    Payment type being used. Value is:

    • CC : Credit card
    • AP : Alternative Payment
  • # payer_info object

    Information related to the Payer.

  • # funding_instrument object

    Funding instrument to be used to fund the payment. The object must include either a credit_card or credit_card_token or credit_card_nonce or alternative_payment object. If the array contains more than one instrument, the payment is declined.

# payer_info

  • # id string

    Encrypted Payer ID.

  • # email string

    Email address representing the payer. 127 characters max.

  • # ip string

    IP Address of the payer

  • # name string

    Full Name of the payer

  • # birth_date string

    Birth date of the Payer in ISO8601 format (yyyy-mm-dd).

  • # billing_address object

    Birth date of the Payer in ISO8601 format (yyyy-mm-dd).

# billing_address

  • # line1 string

    The first line of the address. For example, number, street, and so on.

    Maximum length: 100.

  • # line2 string

    The second line of the address. For example, suite or apartment number.

    Maximum length: 100.

  • # city string

    The city name.

    Maximum length: 64.

  • # country_code string

    two-character ISO 3166-1 code that identifies the country or region. Note: The country code for Great Britain is GB and not UK as used in the top- level domain names for that country.

    Minimum length: 2.

    Maximum length: 2.

    Pattern: ^([A-Z]{2}|C2)$.

  • # postal_code string

    The postal code, which is the zip code or equivalent.

  • # state string

    2 letter code for US states, and the equivalent for other countries. Required for INDIA (List of valid state for India can be found here)

  • # phone object

    Information related phone number.

# phone

  • # country_code string

    Country code (from in E.164 format)

  • # number string

    In-country phone number (from in E.164 format). Maximum length is 25 characters.

# funding_instrument

Only one of the object described below is required:

  • # credit_card object

    The credit card details. You can use this instrument to fund a payment.

  • # credit_card_nonce object

    The tokenized credit card details. You can use this instrument to fund only one payment .

  • # credit_card_token object

    The tokenized credit card details. You can use this instrument to fund a payment.

  • # alternative_payment object

    The alternative payment details. You can use this instrument to fund a payment using an alternative payment method.

  • # credit_cards arrayOf(credit_card)

    Array containing credit cards associated to the payer. The first one in the list is the default one.

# credit_card

  • # id string

    ID of the credit card being saved for later use.

  • # number string

    The credit card number. Value is numeric characters only with no spaces or punctuation. Must conform to the modulo and length required by each credit card type.

  • # expire_month integer

    The expiration month with no leading zero. Value is from 1 to 12.

  • # expire_year integer

    The four-digit expiration year.

  • # cvv2 string

    The three- to four-digit card validation code.

  • # name string

    The card holder's name as displayed on the card.

  • # stored bool

    Indicate the origin of the card details on a full card API Call. Default : false This must be set to true for payments that use store card details (usually if you have a merchant which is PCI Compliant and they are sending you the full card details and the origin of these card details is On File)

  • # type string

    Credit card type. Valid types are: visa, mastercard, discover, amex, UPI, JCB,RuPay

  • # state string

    State of the credit card funding instrument.

  • # cvv_check string

    Raw CVV result received from the acquirer, where available

  • # avs_check string

    The AVS result code of the payment, which provides information about the outcome of the AVS check.

  • # last4 string

    Last 4 digit of a credit card number

  • # bin string

    The Bank Identification Number of a credit card, which is the first six digits of a card number.

  • # is_default bool

    Indicate if the card is the default one associated to a Payer.

  • # fingerprint string

    A string containing the credit card fingerprint.

  • # bin_data object

    Bin data corresponding to the credit card

# bin_data

  • # bin string

    one time use tokenized credit card details

  • # country_code string

    Issuing bank country code

  • # country_name string

    Issuing bank country name

  • # bank_name string

    Issuing bank name

  • # card_scheme string

    Credit card scheme

  • # card_type string

    Type of the card, DEBIT, CREDIT

  • # card_category string

    Category of the card

# credit_card_nonce

  • # nonce string

    one time use tokenized credit card details

  • # name string

    The card holder's name as displayed on the card.

# credit_card_token

  • # credit_card_id string

    ID of credit card previously stored.

  • # cvv2 string

    3-4 digit card validation code. In case of card token the cvv is not stored in the DB but we does not omit the case where the merchant provide it to us.

# alternative_payment

  • # code string

    Code Identifying the alternative payment method to use.

    • 30 : Paytm
    • 31 : PhonePe
    • 32 : RelianceJio
    • 33 : NetBanking
    • 34 : UPI
    • 37 : Interbank (WPAY)
  • # userdata ArrayOf(KeyValuePair(string, string))

    Define additional userdata required to perform an alternative payment.

    • NetBanking requires bank_code to be defined (List of valid bank codes can be find here)
    • UPI requires upi_id to be defined
    • Interbank we have multiple provider requiring different userdata
      • WPAY requires:
        • bank_code: Member’s bank code. (List of valid bank codes can be find here)
        • deposit_type : Possible values defined below
          • 0 : member deposit
          • 1 : merchant topup
        • deposit_channel : Possible values defined below
          • 1 : eBanking
          • 3 : Promptpay QR
          • 10 : Momo Pay
          • 11 : Zalo Pay
          • 12 : VNQR Pay
          • 20 : VAOffline
          • 22 : TrueWallet

# payee

  • # email string

    Email Address associated with the Payee's Account.

  • # merchant_id string

    Encrypted Merchant account identifier for the Payee.

# transaction

  • # amount object

    The amount to collect.

  • # type string

    Describe the transaction type. Possible value:

    • 1 : Regular
    • 2 : Subscription
    • 3 : MOTO

    Defaulted to 1 (regular) if not provided

  • # modestring

    Describe the transaction mode. Possible value:

    • 1 : Non 3D
    • 2 : 3D

    Defaulted to 1 (regular) if not provided

  • # attempt_non_3d bool

    Describe if the 3Ds fails, we attempt the transaction without 3Ds.

  • # description string

    Description of what is being paid for.

  • # items array(item)

    List of items being paid for.

  • # shipping_address object

    The shipping address.

  • # shipping_method string

    Shipping method used for this payment like USPSParcel etc.

  • # return_url string

    URL to send payment notifications(Maximum length: 2048.)

  • # cancel_url string

    Url to send payer incase payment is denied.

  • # invoice_number string

    invoice number to track this payment (Maximum length: 50.)

  • # soft_descriptor object

    Dynamic Soft descriptor used when charging this funding source.

# amount

  • # currency string

    The three-character ISO-4217 currency code.

  • # total string

    The total amount charged to the payee by the payer. Maximum length is 10 characters, which includes:

    • Seven digits before the decimal point.
    • The decimal point.
    • Two digits after the decimal point.

# shipping_address

  • # recipient_name string

    Name of the recipient at this address.

  • # line1 string

    The first line of the address. For example, number, street, and so on.

    Maximum length: 100.

  • # line2 string

    The second line of the address. For example, suite or apartment number.

    Maximum length: 100.

  • # city string

    The city name.

    Maximum length: 64.

  • # country_code string

    two-character ISO 3166-1 code that identifies the country or region.

    Note: The country code for Great Britain is GB and not UK as used in the top- level domain names for that country.

    Minimum length: 2.

    Maximum length: 2.

    Pattern: ^([A-Z]{2}|C2)$.

  • # postal_code string

    The postal code, which is the zip code or equivalent.

  • # state string

    2 letter code for US states, and the equivalent for other countries.

  • # phone object

    Information related phone number.

# soft_descriptor

  • # text string

    The soft descriptor text to use to charge this funding source. If greater than the maximum allowed length, the API truncates the string.

    Maximum length: 22.

  • # country string

    The soft descriptor country to use to charge this funding source.

    two-character ISO 3166-1 code that identifies the country or region.

# item

  • # sku string

    The stock keeping unit (SKU) for the item.

  • # name string

    The item name. If this value is greater than the maximum allowed length, the API truncates the string.

  • # description string

    The item description.

  • # quantity string

    The item quantity. Must be a whole number. Maximum length: 10.

    Pattern: ^[0-9]{0,10}$.

  • # price string

    The item cost. Supports two decimal places. Pattern: ^[0-9]{0,10}(\.[0-9]{0,2})?$

  • # shipping string

    The shipping cost

  • # currency string

    The three-character ISO-4217 currency code that identifies the currency.

  • # image string

    URI to an image representing the item

  • # tangible bool

    Identifies if the item is a tangible or not

  • # id string

    Unique id

# custom

  • # field1 string

    free-form field for the use of clients. maximum length of 100

  • # field2 string

    free-form field for the use of clients. maximum length of 100

  • # field3 string

    free-form field for the use of clients. maximum length of 100

  • # field4 string

    free-form field for the use of clients. maximum length of 100

  • # field5 string

    free-form field for the use of clients. maximum length of 100

  • # field6 string

    free-form field for the use of clients. maximum length of 100

  • # field7 string

    free-form field for the use of clients. maximum length of 100

  • # field8 string

    free-form field for the use of clients. maximum length of 100

  • # field9 string

    free-form field for the use of clients. maximum length of 100

  • # field10 string

    free-form field for the use of clients. maximum length of 100

# three_d

  • # enabled string

    Whether to process this payment as a 3D Secure payment

  • # enrolled string

    3DS: whether the card was enrolled or not.

    Y - Issuer enrolled N - Customer not enrolled U - Unknown

  • # authenticated string

    authenticationStatus 3DS:The authentication status for the 3D secure request. Required when using a third-party MPI.

    Indicates whether or not the cardholder was authenticated

    Y - Customer authenticated N - Customer not authenticated A - An authentication attempt occurred but could not be completed U - Unable to perform authenticationK

  • # eci string

    3DS: Defines the E-Commerce Indicator security level associated with the transaction. The Electronic Commerce Indicator security level associated with the 3D Secure enrollment result. Required if using a third-party merchant plug-in (MPI)

  • # cryptogram string

    3DS: Cryptographic identifier used by the card schemes to validate the integrity of the 3D secure transaction data. A Base64 encoded cryptographic identifier (CAVV) used by the card schemes to validate the cardholder authentication result (3D Secure). Required if using an external MPI

  • # xid string

    3DS: Unique identifier for the transaction assigned by the MPI. The 3D Secure transaction identifier. Required if using an external MPI with 3D Secure 2.X.X and a Mastercard card, or with 3D Secure 1.X.X for any supported card scheme

  • # version string

    Indicates the version of 3D Secure that was used for authentication. Defaults to 1.0.0 if not provided

  • # ds_transactionid string

    Transaction ID assigned by the directory server. Used when the transaction was already authenticated via 3D Secure version 2, using an external MPI.

  • # challenge_indicator string

    Indicates whether a challenge is requested for this transaction. Can be sent when 3D Secure version 2.2 or higher is used.

# authenticate_payment

  • # referencer_id string

    Identifier referencing the payment

  • # otp object

    One time password to authenticate the payment

# Payout

  • # id string

    Identifier of the payout resource created.

  • # destination object

    Describe the destination of the funds. The object can contain a credit_card, credit_card_token or an alternative_method (required)

  • # name string

    Name of the beneficiary. (required)

  • # amount object

    The amount being disbursed. Definition here (required)

  • # state string

    The state of the payout. The value is:

    • Authorised. The payout was successfully authorised.
    • Requested. The payout is currently pending.
    • Declined. The payout has been declined.
  • # result object

    Contain result of the payout request

  • # description string

    Description of what is being disbursed for. (required)

  • # invoice_number string

    invoice number to track this payout. (required)

# destination

  • # alternative_method object

    Alternative payment method for payout. (required)
  • # credit_card object

    Credit Card instrument. (not implemented)
  • # credit_card_token object

    Vaulted credit Card instrument.. (not implemented)

# alternative_method

  • # provider string

    Code Identifying the payout provider. Possible values are:

    • AK
    • WPAY
  • # userdata ArrayOf(KeyValuePair(string, string))

    Define additional userdata required to perform payout.

    For provider AK the additional data required are :

    • benificiary_nick_name : nick name/ account name of the beneficiary
    • account_no : Account number of the beneficiary
    • ifsc : IFSC code for beneficiary banks.
    • type : Can be either NEFT, RTGSor IMPS.

    For provider WPAY the additional data required are :

    • bank_code (Max length: 16) : Member’s Bank Code (List of valid bank codes can be find here)
    • account_no (Max length: 64) : Account number of the beneficiary
    • account_name (Max length: 64) : Account name of the beneficiary

    For provider WPAY the additional data optional are :

    • province (Max length: 64) : Member Bank located within a country
    • city (Max length: 64) : Member Bank located City
    • branch (Max length: 64) : Member Bank branch

# result

  • # code string

Code identifying the result on our system

  • # message string

Message related to the code

  • # description string

Long description of the code identifying the result on our system

  • # authorisation_code string

Authorisation code.

# Additional Information

  • # List of valid bank_code for provider AK

bank_code Bank
50 Axis Bank
310 Bank of Baroda Retail
750 Bank of Maharashtra
930 Canara Bank
740 Central Bank of India
1130 CSB Bank Ltd
370 Dhanlaxmi Bank
270 Federal Bank
300 HDFC Bank
490 Indian Bank
420 Indian Overseas NetBanking
350 Jammu and Kashmir Bank
140 Karnataka Bank
760 Karur Vysya Bank
2370 Lakshmi Vilas
2390 Punjab and Sind Bank
1220 Punjab National Bank
1500 RBL Bank Limited
1700 Shamrao Vithal Co-op. Bank Ltd
180 South Indian Bank
450 Standard Chartered Bank
620 Tamilnad Mercantile Bank
2030 Uco Bank
190 Union Bank of India
200 Vijaya Bank
  • # List of valid bank_code per currency for WPAY

Currency bank_code Bank
THB BAY Bank of Ayudhya (Krungsri)
BBL Bangkok Bank
CIMBT CIMB THAI
GSB Government Savings Bank
KBANK Kasikorn Bank
KKB Kiatnakin Bank
KTB KrungThai Bank
SCB Siam Commercial Bank
TBANK Thanachart Bank
Currency bank_code Bank
VND ACB Asia Commercial Bank
DAB Donga Bank
VCB Vietcombank
VTB Vietin Bank
SACOM Sacombank
TCB Techcombank
EXIM Eximbank
BIDV BIDV Bank
Currency bank_code Bank
IDR BNI Bank Negara Indonesia
Mandiri Bank Mandiri
BCA KlikBCA
BRI Bank Rakyat Indonesia
MBI Maybank Indonesia
  • # List of valid State

    • # For India

    state Description
    AN Andaman and Nicobar Islands
    AP Andhra Pradesh
    AR Arunachal Pradesh
    AS Assam
    BR Bihar
    CH Chandigarh
    CT Chhattisgarh
    DN Dadra and Nagar Haveli
    DD Daman and Diu
    DL Delhi
    GA Goa
    GJ Gujarat
    HR Haryana
    HP Himachal Pradesh
    JK Jammu and Kashmir
    JH Jharkhand
    KA Karnataka
    IN Kerala KL
    LD Lakshadweep
    MP Madhya Pradesh
    MH Maharashtra
    MN Manipur
    ML Meghalaya
    MZ Mizoram
    NL Nagaland
    OR Odisha
    PY Puducherry
    PB Punjab
    RJ Rajasthan
    SK Sikkim
    TN Tamil Nadu
    TG Telangana
    TR Tripura
    UP Uttar Pradesh
    UT Uttarakhand
    WB West Bengal