API Test Keys
Customise Payment Methods - Options and Config Parameters
POST
/v1/payment_links
Click to copy
Use this endpoint to configure the payment methods of your choice on the Checkout section of the Payment Links to provide a highly personalised experience for your customers.
-
You can use the
options
andconfig
parameters for greater control over display of specific payment methods or instruments on the Checkout section of Payment Link. -
For example, you can remove a certain bank from FPX or highlight a specific wallet.
-
These parameters must be passed along with the
parameters.options
andcheckout
parameters mentioned in the Request Parameters section below, along with the
Depending on the use cases that you might have, Curlec allows you to create configuration of the payment methods:
Restricting a particular card or banking network, issuer, BIN and card type, different properties of the card, to accept payments.
For example, you can choose to accept payments only from "Visa Debit cards" on the Checkout.
For example, the entire FPX block can be removed from the Checkout.
Is this page helpful?
Curl
change language
change language
1Use this API endpoint for RHBB FPX.23curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \4-X POST https://api.razorpay.com/v1/payment_links/ \5-H 'Content-type: application/json' \6-d '{7"amount": 1000,8"currency": "MYR",9"accept_partial": true,10"first_min_partial_amount": 100,11"reference_id": "#21132",12"description": "Payment for policy no #23456",13"customer": {14"name": " Nur Aisyah",15"contact": "+60123456789",16"email": "nur.aisyah@example.com"17},18"notify": {19"sms": true,20"email": true21},22"reminder_enable": true,23"options": {24"checkout": {25"config": {26"display": {27"blocks": {28"banks": {29"name": "Pay using PHBM",30"instruments": [31{32"method": "fpx",33"banks": [34"PHBM"35]36}37]38}39},40"sequence": [41"block.banks"42],43"preferences": {44"show_default_blocks": false45}46}47}48}49}50}'5152Use this API endpoint for Reordered Payment Methods.5354curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \55-X POST https://api.razorpay.com/v1/payment_links/ \56-H 'Content-type: application/json' \57-d '{58"amount": 1000,59"currency": "MYR",60"accept_partial": true,61"first_min_partial_amount": 100,62"reference_id": "#21132",63"description": "Payment for policy no #23456",64"customer": {65"name": " Nur Aisyah",66"contact": "+60123456789",67"email": "nur.aisyah@example.com"68},69"notify": {70"sms": true,71"email": true72},73"reminder_enable": true,74"options": {75"checkout": {76"config": {77"display": {78"blocks": {79"banks": {80"name": "All Payment Methods",81"instruments": [82{83"method": "fpx"84},85{86"method": "card"87},88{89"method": "wallet"90}91]92}93},94"sequence": [95"block.banks"96],97"preferences": {98"show_default_blocks": false99}100}101}102}103}104}'
Success
Failure
1{2"accept_partial": true,3"amount": 1000,4"amount_paid": 0,5"callback_method": "",6"callback_url": "",7"cancelled_at": 0,8"created_at": 1596188911,9"currency": "",10"customer": {11"contact": "+60123456789",12"email": "nur.aisyah@example.com",13"name": " Nur Aisyah"14},15"deleted_at": 0,16"description": "Payment for policy no #23456",17"expire_by": 0,18"expired_at": 0,19"first_min_partial_amount": 100,20"id": "plink_FL3i7DFZwKOaCu",21"notes": null,22"notify": {23"email": true,24"sms": true25},26"payments": null,27"reference_id": "#21132",28"reminder_enable": true,29"reminders": [],30"short_url": "https://rzp.io/i/l3IB1Sc",31"source": "",32"source_id": "",33"status": "created",34"updated_at": 1596188911,35"user_id": ""36}
1{2"accept_partial": true,3"amount": 1000,4"amount_paid": 0,5"callback_method": "",6"callback_url": "",7"cancelled_at": 0,8"created_at": 1596188765,9"currency": "",10"customer": {11"contact": "+60123456789",12"email": "nur.aisyah@example.com",13"name": " Nur Aisyah"14},15"deleted_at": 0,16"description": "Payment for policy no #23456",17"expire_by": 0,18"expired_at": 0,19"first_min_partial_amount": 100,20"id": "plink_FL3fYRliPWPv9e",21"notes": null,22"notify": {23"email": true,24"sms": true25},26"payments": null,27"reference_id": "#21132",28"reminder_enable": true,29"reminders": [],30"short_url": "https://rzp.io/i/0Uw9Kow",31"source": "",32"source_id": "",33"status": "created",34"updated_at": 1596188765,35"user_id": ""36}
Request Parameters
amount
*
integer
Amount to be paid using the Payment Link. Must be in the smallest unit of the currency. For example, if you want to receive a payment of RM 300.00, you must enter the value 30000
.
currency
string
A three-letter ISO code for the currency in which you want to accept the payment. For example, MYR.
accept_partial
boolean
Indicates whether customers can make
using the Payment Link. Possible values:true
: Customer can make partial payments.false
(default): Customer cannot make partial payments.
first_min_partial_amount
integer
Minimum amount, in currency subunits, that must be paid by the customer as the first partial payment. Default value is 100
. Default currency is MYR
. For example, if an amount of RM 700.00 is to be received from the customer in two installments of #1 - RM 500.00, #2 - RM 200.00, then you can set this value as 500000
. Must be passed along with accept_partial
parameter.
description
string
A brief description of the Payment Link. The maximum character limit supported is 2048.
reference_id
string
Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
customer
json object
Customer details
Show child parameters (3)
expire_by
integer
Timestamp, in Unix, at which the Payment Link will expire. By default, a Payment Link will be valid for six months from the date of creation. Please note that the expire by date cannot exceed more than six months from the date of creation.
notify
array
Defines who handles Payment Link notification.
Show child parameters (2)
notes
json object
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Payment Link for Groceries.”
.
callback_url
string
If specified, adds a redirect URL to the Payment Link. Once customers completes the payment, they are redirected to the specified URL.
Handy Tips
If the callback_url
is passed, it must be passed in the correct format. That is, it should contain a URL.
callback_method
string
If callback_url
parameter is passed, callback_method must be passed with the value get
.
reminder_enable
boolean
Used to send
for the Payment Link. Possible values:true
: To send reminders.false
: To disable reminders.
options
*
array
Options to display or hide payment methods on the Checkout section. Parent parameter under which the checkout
child parameters must be passed.
Show child parameters (1)
Response Parameters
accept_partial
boolean
Indicates whether customers can make
using the Payment Link. Possible values:true
: Customer can make partial payments.false
(default): Customer cannot make partial payments.
amount
integer
Amount to be paid using the Payment Link. Must be in the smallest unit of the currency. For example, if you want to receive a payment of RM 300.00, you must enter the value 30000
.
amount_paid
integer
Amount paid by the customer.
callback_url
string
If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
callback_method
string
If callback_url
parameter is passed, callback_method
must be passed with the value get
.
cancelled_at
integer
Timestamp, in Unix, at which the Payment Link was cancelled by you.
created_at
integer
Timestamp, in Unix, indicating when the Payment Link was created.
currency
string
Defaults to MYR.
customer
json object
Customer details.
Show child parameters (3)
description
string
A brief description of the Payment Link.
expire_by
integer
Timestamp, in Unix, when the Payment Link will expire. By default, a Payment Link will be valid for six months from the date of creation. Please note that the expire by date cannot exceed more than six months from the date of creation.
expired_at
integer
Timestamp, in Unix, at which the Payment Link expired.
first_min_partial_amount
integer
Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of RM 700.00 is to be received from the customer in two installments of #1 - RM 500.00, #2 - RM 200.00, then you can set this value as 500000
.
id
string
Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW
.
notes
object
Set of key-value pairs that you can use to store additional information. You (Businesses) can enter a maximum of 15 key-value pairs, with each value having a maximum limit of 256 characters.
notify
array
Defines who handles Payment Link notification.
Show child parameters (2)
payments
array
Payment details such as amount, payment id, Payment Link id and more. This array is populated only after a payment is made by the customer or if the payment fails. Until then, the value is null
.
Show child parameters (7)
reference_id
string
Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
short_url
string
The unique short URL generated for the Payment Link.
status
string
Displays the current state of the Payment Link. Possible values:
created
partially_paid
expired
cancelled
paid
updated_at
integer
Timestamp, in Unix, indicating when the Payment Link was updated.
reminder_enable
boolean
Used to send
for the Payment Link. Possible values:true
: To send reminders.false
: To disable reminders.
user_id
string
A unique identifier for the user role through which the Payment Link was created. For example, HD1JAKCCPGDfRx
.
Errors
The api {key/secret} provided is invalid
Error Status: 4xx
There is a mismatch between the API credentials passed in the API call and the API credentials generated on the Dashboard.
Solution
The {input field} is required
Error Status: 4xx
A mandatory field is empty.
Solution
wrong input fields sent.
Error Status: 400
When wrong input fields are sent during Payment Link creation.
Solution
payment link creation with reference ID already attempted
Error Status: 400
An existing reference id has been passed.
Solution
timestamp must be atleast 15 minutes in future
Error Status: 400
The epoch time passed is less than 15 minutes from the current time.
Solution
Invalid access: Cannot create a payment link in live mode, as live mode is disabled for merchant.
Error Status: 400
Occurs when you try to create a Payment Link in Live mode, but live mode is disabled for you
Solution
Invalid access: Cannot create a payment link, as Merchant is Suspended.
Error Status: 400
Occurs when you try to create a Payment Link when you have been been suspended.
Solution
value: the length must not be greater than 255.
Error Status: 400
When the notes length is greater than 255 characters during Payment Link creation.
Solution
Customise Payment Methods - Options and Config Parameters
POST
/v1/payment_links
Click to copy
Use this endpoint to configure the payment methods of your choice on the Checkout section of the Payment Links to provide a highly personalised experience for your customers.
-
You can use the
options
andconfig
parameters for greater control over display of specific payment methods or instruments on the Checkout section of Payment Link. -
For example, you can remove a certain bank from FPX or highlight a specific wallet.
-
These parameters must be passed along with the
parameters.options
andcheckout
parameters mentioned in the Request Parameters section below, along with the
Depending on the use cases that you might have, Curlec allows you to create configuration of the payment methods:
Restricting a particular card or banking network, issuer, BIN and card type, different properties of the card, to accept payments.
For example, you can choose to accept payments only from "Visa Debit cards" on the Checkout.
For example, the entire FPX block can be removed from the Checkout.
Is this page helpful?
Request Parameters
amount
*
integer
Amount to be paid using the Payment Link. Must be in the smallest unit of the currency. For example, if you want to receive a payment of RM 300.00, you must enter the value 30000
.
currency
string
A three-letter ISO code for the currency in which you want to accept the payment. For example, MYR.
accept_partial
boolean
Indicates whether customers can make
using the Payment Link. Possible values:true
: Customer can make partial payments.false
(default): Customer cannot make partial payments.
first_min_partial_amount
integer
Minimum amount, in currency subunits, that must be paid by the customer as the first partial payment. Default value is 100
. Default currency is MYR
. For example, if an amount of RM 700.00 is to be received from the customer in two installments of #1 - RM 500.00, #2 - RM 200.00, then you can set this value as 500000
. Must be passed along with accept_partial
parameter.
description
string
A brief description of the Payment Link. The maximum character limit supported is 2048.
reference_id
string
Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
customer
json object
Customer details
Show child parameters (3)
expire_by
integer
Timestamp, in Unix, at which the Payment Link will expire. By default, a Payment Link will be valid for six months from the date of creation. Please note that the expire by date cannot exceed more than six months from the date of creation.
notify
array
Defines who handles Payment Link notification.
Show child parameters (2)
notes
json object
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Payment Link for Groceries.”
.
callback_url
string
If specified, adds a redirect URL to the Payment Link. Once customers completes the payment, they are redirected to the specified URL.
Handy Tips
If the callback_url
is passed, it must be passed in the correct format. That is, it should contain a URL.
callback_method
string
If callback_url
parameter is passed, callback_method must be passed with the value get
.
reminder_enable
boolean
Used to send
for the Payment Link. Possible values:true
: To send reminders.false
: To disable reminders.
options
*
array
Options to display or hide payment methods on the Checkout section. Parent parameter under which the checkout
child parameters must be passed.
Show child parameters (1)
Response Parameters
accept_partial
boolean
Indicates whether customers can make
using the Payment Link. Possible values:true
: Customer can make partial payments.false
(default): Customer cannot make partial payments.
amount
integer
Amount to be paid using the Payment Link. Must be in the smallest unit of the currency. For example, if you want to receive a payment of RM 300.00, you must enter the value 30000
.
amount_paid
integer
Amount paid by the customer.
callback_url
string
If specified, adds a redirect URL to the Payment Link. Once the customer completes the payment, they are redirected to the specified URL.
callback_method
string
If callback_url
parameter is passed, callback_method
must be passed with the value get
.
cancelled_at
integer
Timestamp, in Unix, at which the Payment Link was cancelled by you.
created_at
integer
Timestamp, in Unix, indicating when the Payment Link was created.
currency
string
Defaults to MYR.
customer
json object
Customer details.
Show child parameters (3)
description
string
A brief description of the Payment Link.
expire_by
integer
Timestamp, in Unix, when the Payment Link will expire. By default, a Payment Link will be valid for six months from the date of creation. Please note that the expire by date cannot exceed more than six months from the date of creation.
expired_at
integer
Timestamp, in Unix, at which the Payment Link expired.
first_min_partial_amount
integer
Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of RM 700.00 is to be received from the customer in two installments of #1 - RM 500.00, #2 - RM 200.00, then you can set this value as 500000
.
id
string
Unique identifier of the Payment Link. For example, plink_ERgihyaAAC0VNW
.
notes
object
Set of key-value pairs that you can use to store additional information. You (Businesses) can enter a maximum of 15 key-value pairs, with each value having a maximum limit of 256 characters.
notify
array
Defines who handles Payment Link notification.
Show child parameters (2)
payments
array
Payment details such as amount, payment id, Payment Link id and more. This array is populated only after a payment is made by the customer or if the payment fails. Until then, the value is null
.
Show child parameters (7)
reference_id
string
Reference number tagged to a Payment Link. Must be a unique number for each Payment Link. The maximum character limit supported is 40.
short_url
string
The unique short URL generated for the Payment Link.
status
string
Displays the current state of the Payment Link. Possible values:
created
partially_paid
expired
cancelled
paid
updated_at
integer
Timestamp, in Unix, indicating when the Payment Link was updated.
reminder_enable
boolean
Used to send
for the Payment Link. Possible values:true
: To send reminders.false
: To disable reminders.
user_id
string
A unique identifier for the user role through which the Payment Link was created. For example, HD1JAKCCPGDfRx
.
Errors
The api {key/secret} provided is invalid
Error Status: 4xx
There is a mismatch between the API credentials passed in the API call and the API credentials generated on the Dashboard.
Solution
The {input field} is required
Error Status: 4xx
A mandatory field is empty.
Solution
wrong input fields sent.
Error Status: 400
When wrong input fields are sent during Payment Link creation.
Solution
payment link creation with reference ID already attempted
Error Status: 400
An existing reference id has been passed.
Solution
timestamp must be atleast 15 minutes in future
Error Status: 400
The epoch time passed is less than 15 minutes from the current time.
Solution
Invalid access: Cannot create a payment link in live mode, as live mode is disabled for merchant.
Error Status: 400
Occurs when you try to create a Payment Link in Live mode, but live mode is disabled for you
Solution
Invalid access: Cannot create a payment link, as Merchant is Suspended.
Error Status: 400
Occurs when you try to create a Payment Link when you have been been suspended.
Solution
value: the length must not be greater than 255.
Error Status: 400
When the notes length is greater than 255 characters during Payment Link creation.
Solution
Curl
change language
change language
1Use this API endpoint for RHBB FPX.23curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \4-X POST https://api.razorpay.com/v1/payment_links/ \5-H 'Content-type: application/json' \6-d '{7"amount": 1000,8"currency": "MYR",9"accept_partial": true,10"first_min_partial_amount": 100,11"reference_id": "#21132",12"description": "Payment for policy no #23456",13"customer": {14"name": " Nur Aisyah",15"contact": "+60123456789",16"email": "nur.aisyah@example.com"17},18"notify": {19"sms": true,20"email": true21},22"reminder_enable": true,23"options": {24"checkout": {25"config": {26"display": {27"blocks": {28"banks": {29"name": "Pay using PHBM",30"instruments": [31{32"method": "fpx",33"banks": [34"PHBM"35]36}37]38}39},40"sequence": [41"block.banks"42],43"preferences": {44"show_default_blocks": false45}46}47}48}49}50}'5152Use this API endpoint for Reordered Payment Methods.5354curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \55-X POST https://api.razorpay.com/v1/payment_links/ \56-H 'Content-type: application/json' \57-d '{58"amount": 1000,59"currency": "MYR",60"accept_partial": true,61"first_min_partial_amount": 100,62"reference_id": "#21132",63"description": "Payment for policy no #23456",64"customer": {65"name": " Nur Aisyah",66"contact": "+60123456789",67"email": "nur.aisyah@example.com"68},69"notify": {70"sms": true,71"email": true72},73"reminder_enable": true,74"options": {75"checkout": {76"config": {77"display": {78"blocks": {79"banks": {80"name": "All Payment Methods",81"instruments": [82{83"method": "fpx"84},85{86"method": "card"87},88{89"method": "wallet"90}91]92}93},94"sequence": [95"block.banks"96],97"preferences": {98"show_default_blocks": false99}100}101}102}103}104}'
Success
Failure
1{2"accept_partial": true,3"amount": 1000,4"amount_paid": 0,5"callback_method": "",6"callback_url": "",7"cancelled_at": 0,8"created_at": 1596188911,9"currency": "",10"customer": {11"contact": "+60123456789",12"email": "nur.aisyah@example.com",13"name": " Nur Aisyah"14},15"deleted_at": 0,16"description": "Payment for policy no #23456",17"expire_by": 0,18"expired_at": 0,19"first_min_partial_amount": 100,20"id": "plink_FL3i7DFZwKOaCu",21"notes": null,22"notify": {23"email": true,24"sms": true25},26"payments": null,27"reference_id": "#21132",28"reminder_enable": true,29"reminders": [],30"short_url": "https://rzp.io/i/l3IB1Sc",31"source": "",32"source_id": "",33"status": "created",34"updated_at": 1596188911,35"user_id": ""36}
1{2"accept_partial": true,3"amount": 1000,4"amount_paid": 0,5"callback_method": "",6"callback_url": "",7"cancelled_at": 0,8"created_at": 1596188765,9"currency": "",10"customer": {11"contact": "+60123456789",12"email": "nur.aisyah@example.com",13"name": " Nur Aisyah"14},15"deleted_at": 0,16"description": "Payment for policy no #23456",17"expire_by": 0,18"expired_at": 0,19"first_min_partial_amount": 100,20"id": "plink_FL3fYRliPWPv9e",21"notes": null,22"notify": {23"email": true,24"sms": true25},26"payments": null,27"reference_id": "#21132",28"reminder_enable": true,29"reminders": [],30"short_url": "https://rzp.io/i/0Uw9Kow",31"source": "",32"source_id": "",33"status": "created",34"updated_at": 1596188765,35"user_id": ""36}