The Save Card API is used for saving a card to the vault. After successfully storing a card, it returns the cardToken
.
Note
As per RBI guidelines, taking consent from the customer and doing an additional factor of authentication is mandatory to tokenize the card. You must ensure this is done before using this API.
HTTP Method: POST
Environment
Test Environment | <https://apitest.payu.in/merchant/postservice.php?form=2> |
Production Environment | <https://info.payu.in/merchant/postservice?form=2> |
Request parameters
Parameter | Reference | Example |
---|---|---|
key |
|
JP*****g |
command |
|
save_payment_instrument |
hash |
|
|
var1 |
|
JP***G:abc |
var2 |
|
My_card |
var3 |
|
CC |
var4 |
|
AMEX |
var5 |
|
Ashish |
var6 |
|
|
var7 |
|
9 |
var8 |
|
2021 |
var9 |
|
6381242223626382106105 |
var10 |
|
true |
var11 |
|
true |
Sample request
curl --request POST \
--url 'https://test.payu.in/merchant/postservice?form=2' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'accept: text/html; charset=UTF-8' \
--data key=JPM7Fg \
--data command=save_payment_instrument \
--data var1=JPM7Fg:abc \
--data var2=visaraghu \
--data var3=CC \
--data var4=CC \
--data var5=ashish \
--data var6=4895370077346937 \
--data var7=11 \
--data var8=25 \
--data var10=true \
--data var11=true \
--data hash=7487417efc1e8f1aadd72ac35b410d74c94dbc21b21e01d5ac7b91db0f0d01705986d2d2094ab12fab6e794a4b54bd9c7aaaca2648ce2916bb5c9365ff95f3a3
Sample response
Success scenarios
- VISA
{
status: 1,
msg: "Card Stored Successfully.",
cardToken: "917757449926e57ff2662",
card_number: "XXXXXXXXXXXX1165",
card_label: "My_card",
network_token: "44173XXX1000XXX1",
issuer_token: QQ3LkzgZOnEjY428,
}
- Mastercard
{
status: 1,
msg: "Card Stored Successfully.",
cardToken: "917e296b5b6da5d20fbfb",
card_number: "XXXXXXXXXXXX2346",
card_label: "Test_Card",
network_token: "3117328711111210",
issuer_token: AQ3LkzgBNyEjY213,
}
- American Express
{
status: 1,
msg: "Card Stored Successfully.",
cardToken: "917e29XXX6da5XXCbfb",
card_number: "XXXXXXXXXXX1002",
card_label: "AMEX_Card",
network_token: "51273287XXX61215",
issuer_token: Va3RaqBNyPnY673,
}
- Rupay
{
status: 1,
msg: "Card Stored Successfully.",
cardToken: "91XXX96b5b6da5dXXXbfb",
card_number: "XXXXXXXXXXXX0001",
card_label: "Rupay_Card",
network_token: "712XXX870976XX2",
issuer_token: Ya4HawKgbLmr312,
}
- Diners
{
status: 1,
msg: "Card Stored Successfully.",
cardToken: "91XXX296b5b6da5XXXbfb",
card_number: "XXXXXXXXXXXX0009",
card_label: "Diner_Card",
"network_token": "8koNXXXC1bT0Hv5a",
"issuer_token": "LQ3QkzXXXnEjY428"
}
Failure scenario
- If card Number is invalid
{
"status": 0
"msg": CardNumber is invalid
}
Response parameters for Save a Card API
The following table describes the parameters in the response:
Note: For every successful payment transactions, PayU returns the mihpayuid and cardToken parameters to the merchants, but networkToken and issuer_token are returned only if you are PCI-DSS compliant.
Parameter | Description | Example |
---|---|---|
status |
The status of the response can be any of the following: |
1 |
msg |
The description of the response whether the card details were stored successfully or not stored. |
Card Stored Successfully. |
cardToken |
The cardToken is sent by PayU for the successful response. |
|
network_token |
The network token is returned in this parameter. |
|
issuer_token |
The parameter contains the issuer token that is returned by issuer. |
|