Payments

Capture and fetch Payments using Razorpay APIs.


Payments APIs are used to capture and fetch payments. You can also fetch payments based on orders and card details of payment.

You can try out our APIs on the Razorpay Postman Public Workspace. Fork the workspace and test the APIs with your

.

Watch Out!

You can use Payments API only to retrieve payment details or change the status from authorized to captured and not to collect payments. You can use one of the

to accept payments.

API EndpointDescription
Captures a payment.
Retrieves details of a specific payment using id.
Retrieves details of all the payments that is created, with the card parameter.
Retrieves details of all the payments that is created, with the emi parameter.
Retrieves details of all the payments that is created, with the offers parameter.
Retrieves details of all the payments that is created, with the upi parameter.
Retrieves details of all payments.
Retrieves expanded card details of a payment.
Retrieves expanded EMI details of a payment.
Retrieves payments linked to an Order.
Retrieves card details of a payment
Edits an existing payment.

The Payments entity has the following fields:

id

string Unique identifier of the payment.

entity

string Indicates the type of entity.

amount

integer The payment amount in currency subunits. For example, for an amount of ₹1.00 enter 100.

currency

string The currency in which the payment is made. Refer to the list of

that we support.

status

string The status of the payment. Possible values:

  • created
  • authorized
  • captured
  • refunded
  • failed

method

string The payment method used for making the payment. Possible values:

  • card
  • netbanking
  • wallet
  • emi
  • upi

order_id

string Order id, if provided. Know more about

.

description

string Description of the payment, if any.

international

boolean Indicates whether the payment is done via an international card or a domestic one.

refund_status

string The refund status of the payment. Possible values:

  • null
  • partial
  • full

amount_refunded

integer The amount refunded in currency subunits. For example, if amount_refunded = 100, it is equal to ₹1.00.

captured

boolean Indicates if the payment is captured.

email

string Customer email address used for the payment.

contact

string Customer contact number used for the payment.

fee

integer Fee (including GST) charged by Razorpay.

tax

integer GST charged for the payment.

error_code

string Error that occurred during payment. For example, BAD_REQUEST_ERROR.

error_description

string Description of the error that occurred during payment. For example, Payment processing failed because of incorrect OTP.

error_source

string The point of failure. For example, customer.

error_step

string The stage where the transaction failure occurred. The stages can vary depending on the payment method used to complete the transaction. For example, payment_authentication.

error_reason

string The exact error reason. For example, incorrect_otp.

notes

json object Contains user-defined fields, stored for reference purposes.

created_at

integer Timestamp, in UNIX format, on which the payment was created.

card_id

string The unique identifier of the card used by the customer to make the payment.

card

object Details of the card used to make the payment.

id

string The unique identifier of the card used by the customer to make the payment.

entity

string The name of the entity. Here, it is card.

name

string Name of the cardholder.

last4

integer The last 4 digits of the card number.

network

string The card network. Possible values:

  • American Express
  • Diners Club
  • Maestro
  • MasterCard
  • RuPay
  • Unknown
  • Visa

type

string The card type. Possible values:

  • credit
  • debit
  • prepaid
  • unknown

issuer

string The card issuer. The 4-character code denotes the issuing bank.

Handy Tips

This attribute will not be set for the card issued by a foreign bank.

emi

boolean This attribute is set to true if the card can be used for EMI payment method.

sub_type

string The sub-type of the customer's card. Possible values:

  • customer

  • business

    Handy Tips

    Know how to accept payments made by customers using

    .

upi

object Details of the UPI payment received. Only applicable if method is upi.

payer_account_type

string The payment method used for making the payment. Possible values:

  • bank_account
  • credit_card
  • wallet

vpa

string The customer's VPA (Virtual Payment Address) or UPI id used to make the payment. For example, gauravkumar@exampleupi.

flow

string The type of UPI flow. Possible value in_app.

Handy Tips

The field flow is present only in the case of Turbo UPI Payments.

bank

string The 4-character bank code which the customer's account is associated with. For example, UTIB for Axis Bank.

vpa

string The customer's VPA (Virtual Payment Address) or UPI id used to make the payment. For example, gauravkumar@exampleupi.

wallet

string The name of the wallet used by the customer to make the payment. For example, payzapp.

acquirer_data

array A dynamic array consisting of a unique reference numbers.

rrn

string A unique bank reference number provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank.

authentication_reference_number

string A unique reference number generated for RuPay card payments.

bank_transaction_id

string A unique reference number provided by the banking partner in case of netbanking payments.

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?