The solution allows merchants to retain customer payment information (with consent) for future transactions, reducing checkout friction and improving conversion rates.
There are 2 use cases that require storing of credentials:
You can setup Unscheduled CITs and MITs with by following 3 simple steps:
Setup intent for an unscheduled CIT by passing the below information in the credentialOnFile object in the payment request:
{
...
"credentialOnFile": {
"type": "UNSCHEDULED",
"initialPayment": true,
"unscheduled": {
"subType": "CIT"
}
}
} |
Securely store the credentials based on the integration type upon receiving successful payment response to the initial transaction:
| Integration type | Action | |
|---|---|---|
Hosted forms – Hosted Payment Page or card Hosted forms | Fetch the
| |
| Direct Integration | Store either:
|
Submit the subsequent payment request with request parameters depending on the type of your integration
| Integration type | Payment parameters | ||
|---|---|---|---|
| Hosted forms – Hosted Payment Page or card Hosted forms | Submit the
Pass the Pseudo card number in
| ||
| Direct Integration |
|
Use |
Setup intent for an unscheduled MIT by passing the below information in the credentialOnFile object:
{
...
"credentialOnFile": {
"type": "UNSCHEDULED",
"initialPayment": true,
"unscheduled": {
"subType": "MIT"
}
}
} |
Securely store the credentials and schemeReferenceId based on the integration type upon receiving successful payment response to the initial transaction:
| Integration type | Action | |
|---|---|---|
| Hosted forms – Hosted Payment Page or card Hosted forms | Fetch the
| |
| Direct integration | Store either:
|
Subsequent transactions for an unscheduled MIT should always be sent via the direct integration.
Pass the below data in credentialOnFile object for susbequent MITs:
{
...
"credentialOnFile": {
"type": "UNSCHEDULED",
"initialPayment": false,
"unscheduled": {
"subType": "MIT"
}
}
} |
In addition to the above pass the saved credentials and schemeReferenceId returned previously in the response of initial transaction:
{
...
"paymentMethods": {
"type": "CARD",
"card": {
"number": "5555555555554444", // clear card number or pseudo card number
"cardHolderName": "John Doe",
"expiryDate": "202506",
"securityCode": "123",
"schemeReferenceId": "534525242342"
.....
.....
}
}
} |