Overview of the payment object.

Shown below is a sample payment object.

  "id": "tx_k3pbaALyh1CmzTPTOToHywYey",
  "object": "payment",
  "type": "collect",
  "account_id": "va_HltKyoncMK2inemJxsf57Xstb",
  "amount": 1,
  "currency": "inr",
  "transacted_at": 1669628898,
  "bank_reference_number": "115119578783",
  "status": "pending",
  "remitter_bank_account_number": "XXXXXX1111",
  "remitter_bank_ifsc_code": "HDFC0000123",
  "remitter_full_name": "Sunil Reddy",
  "remitter_note": "Lego Death Star",
  "remitter_vpa_handle": "9876543210@yesbank",
  "paid_mode": "upi",
  "paid_to": "zwch598274464@yesbank",
  "transaction_reference_id": "91546506e088484e8725899fff46b7f9",
  "remark": "Lego Death Star",
  "link": null,
  "merchant_reference_id": "1707371656",
  "expiry_in_minutes": 10,
  "mandate_id": null,
  "metadata": {
    "Key_2": "XoF",
    "key_1": "DD"
  "is_sandbox": false,
  "created_at": 1707371656,
  "is_settled": false,
  "settled_at": null

The table below lists the various parameters in the payment object.

idstringUnique identifier of the payment in the ZWITCH database.

Example: tx_gwnCHducEmh57rrKUi0EOXhAK

Supported characters:
  • A-Z
  • a-z
  • 0-9
  • _
objectstringAPI object that is returned.

Possible value: payment
typestringType of payments.

Accepted values: collect
account_idstringUnique identifier of the account to which money is credited.

Example: va_Y6evcApKFXhQ9X7qKQ5AaysEI

Supported characters:
  • A-Z
  • a-z
  • 0-9
  • _
amountfloatThe amount received for this payment.

Example: 3.69

Supported characters:
  • `0-9
  • .
currencystring3-letter iso currency code for the payment.

Has to be 3 letters.

Possible value: inr

Supported characters:
  • a-z
transacted_atinteger Unix timestamp when the payment was made.

Example: 1640179951
bank_reference_numberstringReference number returned by the bank for the payment.

Example: 115119578783
statusstringStatus of the payment.

Possible values:
  • pending: A debit request has been created by us, but no payment has been made against the request as yet.
  • success: A payment has been successfully made against the debit request.
  • failed: We failed to receive a payment against the debit request. This could be because of multiple reasons such as the request timing out. or network issues.
remitter_bank_account_numberstringThe account number from which money is received.

Example: XXXXXX1111
remitter_bank_ifsc_codestringThe account IFSC from which money is received.

Example: HDFC0000123
remitter_full_namestringThe account holder's name from who money is received.

Example: Anil Reddy
remitter_notestringNotes entered by the remitter while making the payment.

Example: Lego Death Star
remitter_vpa_handlestringThe payee VPA handle.

Example: anil-reddy@example
paid_modestringPayment mode used to complete the payment.

Possible value: upi
paid_tostringVPA handle to which the amount is credited.

This is the VPA handle linked to the account where the money is credited. It always starts with zwch.

Example: zwch2016214817@yesbank
transaction_reference_idstringUnique Transaction Reference (UTR) number received from the bank for the payment.

Example: 088b6190eb7644e6b322b95ee4819e3e
remarkstringThe remark you want to show against the payment request.

  • Only alphabets and numbers are allowed.
  • Minimum: 1 character.
  • Maximum: 50 characters.

Example: Lego Death Star.
merchant_reference_idstringUnique identifier entered while creating the payment.

Example: 1409614085
expiry_in_minutesintegerTime in minutes after which the collect request expires.

Example: 10
mandate_idstringUnique identifier of the mandate for which the payment was made.

This is null for UPI collect requests.
metadataobjectObject of key-value pair that can be used to store additional information about the entity.
  • Each pair cannot exceed 256 characters.
  • Maximum 5 key-value pairs.

Example: "key_1": "We are using Zwitch.”
is_sandboxbooleanThe mode in which the API was triggered.

Possible values:
  • true: API was triggered in sandbox mode
  • false: API was triggered in live mode
linkstringAlways null for UPI collect payments.
created_atinteger Unix timestamp when the payment request was received by ZWITCH.

Example: 1640179951
is_settledbooleanThe settlement status of the payments received from your customer's account to your account.

Possible values:
true - The amount received from your customer is settled in your account.
false - The amount received from your customer is not yet settled in your account.

Note: Errors in the VPA (Virtual Payment Address), delays in bank processing, or bank rejection may cause delays in settling payments.
settled_atintegerUnix timestamp when the payment was settled to the Zwitch virtual account.

Example: 1640179953