API Test Keys

Update a Payment

PATCH
/v1/payments/:id/

Click to copy

Use this endpoint to modify the notes field for a particular payment.

You can modify an existing payment to update the Notes field only. Notes can be used to record additional information about the payment. You can add up to 15 key-value pairs with each value of the key not exceeding 256 characters.

Is this page helpful?

Curl

change language

change language

1
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
2
-X PATCH https://api.razorpay.com/v1/payments/pay_CBYy6tLmJTzn3Q/
3
-d '{
4
"notes": {
5
"key1": "value1",
6
"key2": "value2"
7
}
8
}'

Success

Failure

1
{
2
"id": "pay_LQ939O8ic4eH79",
3
"entity": "payment",
4
"amount": 100,
5
"currency": "",
6
"base_amount": 100,
7
"status": "authorized",
8
"order_id": null,
9
"invoice_id": null,
10
"international": false,
11
"method": "card",
12
"amount_refunded": 0,
13
"refund_status": null,
14
"captured": false,
15
"description": null,
16
"card_id": "card_LQ939QD7iHOqOH",
17
"card": {
18
"id": "card_LQ939QD7iHOqOH",
19
"entity": "card",
20
"name": "",
21
"last4": "4438",
22
"network": "MasterCard",
23
"type": "debit",
24
"issuer": null,
25
"international": false,
26
"sub_type": "consumer",
27
"token_iin": null
28
},
29
"bank": null,
30
"wallet": null,
31
"email": "nur.aisyah@example.com",
32
"contact": "+60123456789",
33
"notes": {
34
"key1": "value1",
35
"key2": "value2"
36
},
37
"fee": null,
38
"tax": null,
39
"error_code": null,
40
"error_description": null,
41
"error_source": null,
42
"error_step": null,
43
"error_reason": null,
44
"acquirer_data": {
45
"auth_code": "T30444"
46
},
47
"created_at": 1678521934
48
}
Path Parameters
id

*

string

Unique identifier of the payment for which the Notes field should be updated.

Request Parameters
notes

*

json object

Contains user-defined fields and is stored for reference purposes. Know more about

.

Response Parameters
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 RM 1 enter 100.

currency
string

The currency in which the payment is made.

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
  • fpx
  • wallet

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. Possible values:

  • true: Payment made using international card.
  • false: Payment not made using international card.

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 RM 1.

captured
boolean

Indicates if the payment is captured. Possible values:

  • true: Payment has been captured.
  • false: Payment has not been captured.

email
string

Customer email address used for the payment.

contact
string

Customer contact number used for the payment.

fee
integer

Fee (including tax) charged by Razorpay Curlec.

tax
integer

Tax 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.

Show child parameters (8)

bank
string

The 4-character bank code which the customer's account is associated with.

wallet
string

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

acquirer_data
array

A dynamic array consisting of a unique reference number.

Show child parameters (2)

amount_captured
integer

The amount captured for this payment, in the smallest currency unit (paise for INR).

provider
string

The payment provider used for cardless EMI, PayLater, or app-based payment methods.

reward
object

Reward details applied to this payment, when an offer of type reward was redeemed.

invoice_id
string

Unique identifier of the invoice associated with this payment.

base_amount
integer

The base amount for this payment, in the smallest currency unit (paise for INR).

emi_plan
object

EMI plan details for this payment when it was made via EMI. Contains the issuer, duration, and rate.

Errors

The API {key/secret} provided is invalid.

Error Status: 4xx

The API credentials passed in the API call differ from the ones generated on the Dashboard.

Solution

amount is/are not required and should not be sent.

Error Status: 400

Fields other than notes (such as amount) were sent in the PATCH request body. The Update Payment endpoint only accepts the notes field.

Solution

Notes value cannot be greater than 512 characters.

Error Status: 400

One of the values inside the notes object exceeds the 512-character limit per value.

Solution

Notes key cannot be greater than 255 characters.

Error Status: 400

One of the keys inside the notes object exceeds the 255-character limit.

Solution

Number of fields in notes should be less than or equal to 15.

Error Status: 400

The notes object contains more than 15 key-value pairs.

Solution

Notes values themselves should not be an array.

Error Status: 400

A value inside notes was passed as a JSON array. Only scalar values (string, number, boolean) are accepted as values.

Solution

Update a Payment

PATCH
/v1/payments/:id/

Click to copy

Use this endpoint to modify the notes field for a particular payment.

You can modify an existing payment to update the Notes field only. Notes can be used to record additional information about the payment. You can add up to 15 key-value pairs with each value of the key not exceeding 256 characters.

Is this page helpful?

Path Parameters
id

*

string

Unique identifier of the payment for which the Notes field should be updated.

Request Parameters
notes

*

json object

Contains user-defined fields and is stored for reference purposes. Know more about

.

Response Parameters
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 RM 1 enter 100.

currency
string

The currency in which the payment is made.

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
  • fpx
  • wallet

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. Possible values:

  • true: Payment made using international card.
  • false: Payment not made using international card.

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 RM 1.

captured
boolean

Indicates if the payment is captured. Possible values:

  • true: Payment has been captured.
  • false: Payment has not been captured.

email
string

Customer email address used for the payment.

contact
string

Customer contact number used for the payment.

fee
integer

Fee (including tax) charged by Razorpay Curlec.

tax
integer

Tax 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.

Show child parameters (8)

bank
string

The 4-character bank code which the customer's account is associated with.

wallet
string

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

acquirer_data
array

A dynamic array consisting of a unique reference number.

Show child parameters (2)

amount_captured
integer

The amount captured for this payment, in the smallest currency unit (paise for INR).

provider
string

The payment provider used for cardless EMI, PayLater, or app-based payment methods.

reward
object

Reward details applied to this payment, when an offer of type reward was redeemed.

invoice_id
string

Unique identifier of the invoice associated with this payment.

base_amount
integer

The base amount for this payment, in the smallest currency unit (paise for INR).

emi_plan
object

EMI plan details for this payment when it was made via EMI. Contains the issuer, duration, and rate.

Errors

The API {key/secret} provided is invalid.

Error Status: 4xx

The API credentials passed in the API call differ from the ones generated on the Dashboard.

Solution

amount is/are not required and should not be sent.

Error Status: 400

Fields other than notes (such as amount) were sent in the PATCH request body. The Update Payment endpoint only accepts the notes field.

Solution

Notes value cannot be greater than 512 characters.

Error Status: 400

One of the values inside the notes object exceeds the 512-character limit per value.

Solution

Notes key cannot be greater than 255 characters.

Error Status: 400

One of the keys inside the notes object exceeds the 255-character limit.

Solution

Number of fields in notes should be less than or equal to 15.

Error Status: 400

The notes object contains more than 15 key-value pairs.

Solution

Notes values themselves should not be an array.

Error Status: 400

A value inside notes was passed as a JSON array. Only scalar values (string, number, boolean) are accepted as values.

Solution

Curl

change language

change language

1
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
2
-X PATCH https://api.razorpay.com/v1/payments/pay_CBYy6tLmJTzn3Q/
3
-d '{
4
"notes": {
5
"key1": "value1",
6
"key2": "value2"
7
}
8
}'

Success

Failure

1
{
2
"id": "pay_LQ939O8ic4eH79",
3
"entity": "payment",
4
"amount": 100,
5
"currency": "",
6
"base_amount": 100,
7
"status": "authorized",
8
"order_id": null,
9
"invoice_id": null,
10
"international": false,
11
"method": "card",
12
"amount_refunded": 0,
13
"refund_status": null,
14
"captured": false,
15
"description": null,
16
"card_id": "card_LQ939QD7iHOqOH",
17
"card": {
18
"id": "card_LQ939QD7iHOqOH",
19
"entity": "card",
20
"name": "",
21
"last4": "4438",
22
"network": "MasterCard",
23
"type": "debit",
24
"issuer": null,
25
"international": false,
26
"sub_type": "consumer",
27
"token_iin": null
28
},
29
"bank": null,
30
"wallet": null,
31
"email": "nur.aisyah@example.com",
32
"contact": "+60123456789",
33
"notes": {
34
"key1": "value1",
35
"key2": "value2"
36
},
37
"fee": null,
38
"tax": null,
39
"error_code": null,
40
"error_description": null,
41
"error_source": null,
42
"error_step": null,
43
"error_reason": null,
44
"acquirer_data": {
45
"auth_code": "T30444"
46
},
47
"created_at": 1678521934
48
}