API Test Keys

Set Or Reset UPI PIN

POST
/v1/upi/tpap/fundsources/:id/upi_pin?expand[]=vpas

Click to copy

Customer’s card details and OTP are required to set or reset UPI PIN. These details are validated at the payment source provider’s (bank) end before allowing to set the PIN. Use this endpoint to generate the OTP via the remitter bank while setting the UPI PIN.

Is this page helpful?

Curl

1
curl -X POST 'api.rzp.<bank>.com/v1/upi/tpap/fundsources/:id/upi_pin?expand[]=vpas' \
2
-u [YOUR_KEY_ID]:[YOUR_SECRET] \
3
-H "Content-type: application/json" \
4
-H "x-device-fingerprint: <device_fingerprint>" \
5
-H "x-device-fingerprint-timestamp: 1496918882000" \
6
-H "x-customer-reference: customer-id-from-customer" \
7
-d '{
8
"action":"set",
9
"upi_credentials":{
10
// credentials received from CL
11
},
12
"upi_transaction_id":"123qwert12",
13
"vpa":"abc@upiexample",
14
"card":{
15
"last6":"123456",
16
"expiry_month":"02",
17
"expiry_year":"26"
18
},
19
"device":{
20
"geocode":"1234.1213",
21
"ip":"198.1.1.1"
22
}
23
}'

Response

1
{
2
"entity":"upi.fundsource",
3
"id":"fs_1234",
4
"type":"savings",
5
"customer_name":"name",
6
"masked_account_number":"xx9987",
7
"ifsc":"IFSC001",
8
"upi_pin_set":true,
9
"upi_pin_length":4,
10
"otp_length":4,
11
"atm_pin_length":4,
12
"fundsource_provider":{
13
"name":"HDFC Bank",
14
"upi_iin":"600007",
15
"upi_enabled":false,
16
"mobile_registration_format":"FORMAT1",
17
"logo_url":"<bank logo url>"
18
},
19
"vpas":{
20
"entity":"collection",
21
"count":1,
22
"items":[
23
{
24
"mobile":"9999999999",
25
"address":"anc@handle",
26
"status":"active",
27
"primary":true
28
}
29
]
30
}
31
}
Query Parameters
id
string

The payment source identifier.

Request Parameters
action

*

enum

Indicates whether the action is a set or reset. Both set and reset happen from the same API, so we should specify the action to distinguish between them. Possible values:

  • set
  • reset

upi_credentials

*

string

The encrypted UPI PIN. NPCI credentials is the output from the WebCL page.

upi_transaction_id

*

string

The unique identifier of the transaction across all entities, created by the originator.

card

*

object

Card details.

Show child parameters (3)

vpa

*

string

VPA of the customer for which the PIN is set.

device
string

Device details.

Show child parameters (2)

Response Parameters
entity
string

Name of the entity. Here, it is fundsource.

id
string

Unique identifier of the entity.

type
string

Type of account.

customer_name
string

Name of the account holder.

masked_account_number
string

Masked account number.

ifsc
string

IFSC of the bank.

upi_iin
string

UPI Issuer Identification Numbers (iin) of the payment source provider issued by NPCI.

upi_pin_set
boolean

Indicates whether the UPI PIN is set. Possible values:

  • true: UPI PIN is set.
  • false: UPI PIN is not set.

upi_pin_length
integer

Length of the UPI PIN.

otp_length
integer

Length of the OTP.

atm_pin_length
integer

Length of the ATM PIN.

fundsource_provider
object

Payment source provider details. Here, if the payment source is a bank, payment source providers will be bank information.

Show child parameters (5)

vpas
array

Details of the VPAs linked to the payment source.

Show child parameters (3)

Set Or Reset UPI PIN

POST
/v1/upi/tpap/fundsources/:id/upi_pin?expand[]=vpas

Click to copy

Customer’s card details and OTP are required to set or reset UPI PIN. These details are validated at the payment source provider’s (bank) end before allowing to set the PIN. Use this endpoint to generate the OTP via the remitter bank while setting the UPI PIN.

Is this page helpful?

Query Parameters
id
string

The payment source identifier.

Request Parameters
action

*

enum

Indicates whether the action is a set or reset. Both set and reset happen from the same API, so we should specify the action to distinguish between them. Possible values:

  • set
  • reset

upi_credentials

*

string

The encrypted UPI PIN. NPCI credentials is the output from the WebCL page.

upi_transaction_id

*

string

The unique identifier of the transaction across all entities, created by the originator.

card

*

object

Card details.

Show child parameters (3)

vpa

*

string

VPA of the customer for which the PIN is set.

device
string

Device details.

Show child parameters (2)

Response Parameters
entity
string

Name of the entity. Here, it is fundsource.

id
string

Unique identifier of the entity.

type
string

Type of account.

customer_name
string

Name of the account holder.

masked_account_number
string

Masked account number.

ifsc
string

IFSC of the bank.

upi_iin
string

UPI Issuer Identification Numbers (iin) of the payment source provider issued by NPCI.

upi_pin_set
boolean

Indicates whether the UPI PIN is set. Possible values:

  • true: UPI PIN is set.
  • false: UPI PIN is not set.

upi_pin_length
integer

Length of the UPI PIN.

otp_length
integer

Length of the OTP.

atm_pin_length
integer

Length of the ATM PIN.

fundsource_provider
object

Payment source provider details. Here, if the payment source is a bank, payment source providers will be bank information.

Show child parameters (5)

vpas
array

Details of the VPAs linked to the payment source.

Show child parameters (3)

Curl

1
curl -X POST 'api.rzp.<bank>.com/v1/upi/tpap/fundsources/:id/upi_pin?expand[]=vpas' \
2
-u [YOUR_KEY_ID]:[YOUR_SECRET] \
3
-H "Content-type: application/json" \
4
-H "x-device-fingerprint: <device_fingerprint>" \
5
-H "x-device-fingerprint-timestamp: 1496918882000" \
6
-H "x-customer-reference: customer-id-from-customer" \
7
-d '{
8
"action":"set",
9
"upi_credentials":{
10
// credentials received from CL
11
},
12
"upi_transaction_id":"123qwert12",
13
"vpa":"abc@upiexample",
14
"card":{
15
"last6":"123456",
16
"expiry_month":"02",
17
"expiry_year":"26"
18
},
19
"device":{
20
"geocode":"1234.1213",
21
"ip":"198.1.1.1"
22
}
23
}'

Response

1
{
2
"entity":"upi.fundsource",
3
"id":"fs_1234",
4
"type":"savings",
5
"customer_name":"name",
6
"masked_account_number":"xx9987",
7
"ifsc":"IFSC001",
8
"upi_pin_set":true,
9
"upi_pin_length":4,
10
"otp_length":4,
11
"atm_pin_length":4,
12
"fundsource_provider":{
13
"name":"HDFC Bank",
14
"upi_iin":"600007",
15
"upi_enabled":false,
16
"mobile_registration_format":"FORMAT1",
17
"logo_url":"<bank logo url>"
18
},
19
"vpas":{
20
"entity":"collection",
21
"count":1,
22
"items":[
23
{
24
"mobile":"9999999999",
25
"address":"anc@handle",
26
"status":"active",
27
"primary":true
28
}
29
]
30
}
31
}