Stored card details
If you process recurring payments or perform merchant-initiated transactions (MITs) – and store customers' card details in full on your server or use tokenised cards via Checkout.com to do so – you are required, by both Visa and Mastercard, to provide extra information about these payments.
Easily transfer recurring payments to Checkout.com
If you're considering us as your payment service provider but your subscriptions and other recurring payments are currently processed by another acquirer – no problem! You can use the scheme transaction ID from a payment processed by your current acquirer as yourprevious_payment_id
to start processing those payments with us, with no need to take the customer's details again.
Requirements
This section outlines the requirements introduced by Visa and Mastercard.
For Visa and Mastercard
- When initiating a payment, the merchant must indicate whether they are using previously stored card details.
- For recurring payments, the initial cardholder-initiated transaction (CIT) should not be marked as recurring, however, all subsequent payments in the subscription plan should be.
For Visa only
- In recurring and unscheduled MITs, the merchant must reference either the originating payment or the previous payment.
Satisfying these requirements
To satisfy these requirements, we've introduced the following attributes to our endpoints.
Attributes | Description |
---|---|
source.stored | Set to |
| Set this to |
| Used to reference either the previous transaction or the opening transaction of the payment plan. The |
Check which attributes apply to you by reading the applicable business models below.
Cardholder-initiated transactions
In cardholder-initiated transaction (CITs), the cardholder initiates the payment and authorizes the use of their stored card details. For example, a cardholder ordering takeaway food and using a card previously stored with the merchant.
Required attributes for CITs
Visa required attributes for CITs
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Full card API | n/a |
|
Source ID | n/a | n/a |
Mastercard required attributes for CITs
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Full card API | n/a |
|
Source ID | n/a | n/a |
Unscheduled merchant-initiated transaction
An unscheduled transaction, using stored card details, for a fixed or variable amount where the cardholder has previously provided consent for the merchant to initiate future transactions using the stored details. For example, topping up a digital wallet that has fallen below a certain threshold.
Required attributes for unscheduled MITs
Visa required attributes for unscheduled MITs
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Full card API | n/a |
|
Source ID | n/a |
|
Mastercard requirements for unscheduled MITs
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Full card API | n/a |
|
Source ID | n/a | n/a |
Recurring payments
Recurring payments are scheduled payments to pay for products or services that occur on a regular basis. For example, a cardholder paying an on-demand television provider's monthly subscriptions fee.
Add a card for recurring payments
When adding a customer card for recurring payments (for example, using card verification), you do not need to mark the payment as payment_type: 'recurring'
in your request.
Required attributes for recurring payments
Visa required attributes for recurring payments
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Full card API |
|
|
Source ID |
|
|
Mastercard required attributes for recurring payments
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Full card API |
|
|
Source ID |
|
|
Digital wallets
For Visa payments with Google Pay or Apple Pay, the attribute previous_payment_id
must be used.
Visa required attributes for digital wallets
Payment method | First: Payment attributes required | Second: Payment attributes required |
---|---|---|
Alternative payments and wallets | n/a |
|
Previous payment ID explained
Use the attribute previous_payment_id
to reference either the previous transaction or the opening transaction of the payment series. The previous_payment_id
is the payment_id
issued after the authorization of the relevant payment.
Your previous payment ID will contain the prefix pay_
, for example, pay_B41BEAAC175U76BD3EE1
.
Example: Using the previous payment ID
Recurring payments and unscheduled MITs can begin in two ways: a card verification or a payment. In the example below, a user could reference their previous_payment_id
as either row one or row four.
Card verification | Standard payment series |
---|---|
1: Card verification Can be used for previous payment ID. | 1: Payment #1\ Can be used for previous payment ID. |
2: Payment #1 | 2: Payment #2 |
3: Payment #2 | 3: Payment #3 |
4: Payment #3\ Can be used for previous payment ID. | 4: Payment #4\ Can be used for previous payment ID. |
Can we help?
Thanks for using Checkout.com. If you need any help or support, then message our support team at [email protected].
Updated 8 months ago