PINless debit for API only
Last updated: April 9, 2025
To accept PINless debit payments, you must request a payment using card details, or tokenized card data.
Checkout.com automatically routes your transaction through a local debit network, if supported.
Call the Request a payment endpoint:
post
https://api.checkout.com/payments/
1{2"source": {3"type": "card",4"number": "4873400000000024",5"expiry_month": 12,6"expiry_year": 20277},8"3ds": {9"enabled": true,10"attempt_n3d": true11},12"amount": 1000,13"capture": true,14"currency": "USD",15"payment_type": "Regular"16}
If you set 3ds.enabled=true
, you must also set 3ds.attempt_n3d=true
, because PINless debit networks do not support 3D Secure (3DS).
If you request an auto-capture payment, Checkout.com notifies you when the payment is captured using webhooks. When you receive a payment_captured
webhook, it indicates that the transaction is successfully completed.
You cannot void an auto-captured payment. To reverse a payment in progress, wait for the payment to be captured, and then process a refund.
If you set capture
to true
in your payment request, Checkout.com automatically authorizes and captures the payment.
If you set capture
to false
in your payment request, we only authorize the payment. You must capture it manually.
To perform a partial capture, call the Capture a payment endpoint, and provide the amount
and items
objects.
post
https://api.checkout.com/payments/{id}/captures
For more information, see Capture a payment.
You can process merchant-initiated transactions (MITs) to store your customer's card details and use them for future payments.
Supported MIT transactions include:
- Recurring payments
Because these are debit card payments, you cannot process installment payments. - Unscheduled payments
You can process recurring payments using PINless debit. For example, to charge a subscription service.
- Perform an initial cardholder-initiated transaction (CIT) to store the debit card details. For requirements, see Store card details during an initial recurring transaction.
Ensure you provide"payment_type": "Recurring"
. - Process subsequent payments using any previous payment ID. For requirements, see Request a payment in a subsequent MIT.
1{2"source": {3"type": "token",4"token": "tok_4gzeau5o2uqubbk6fufs3m7p54"5},6"amount": 6500,7"currency": "GBP",8"payment_type": "Recurring",9"merchant_initiated": false,10"3ds": {11"enabled": true,12"challenge_indicator": "challenge_requested_mandate"13}14}
1{2"source": {3"type": "token",4"token": "tok_4gzeau5o2uqubbk6fufs3m7p54"5},6"amount": 6500,7"currency": "GBP",8"payment_type": "Recurring",9"merchant_initiated": true,10"previous_payment_id": "pay_paymentid",11"3ds": {12"enabled": true,13"challenge_indicator": "challenge_requested_mandate"14}15}
After you've requested the payment, you can use the id
returned in the payment response to retrieve details about the payment.
For more information, see Get payment details and the Get payment details endpoint.
PINless debit supports both partial and full refunds.
You can process refunds using the Dashboard or the Refund API.
To void an authorized payment that you have not captured yet, call the Void a payment endpoint, and provide payment_id
of the payment you want to void as the {id}
path parameter:
post
https://api.checkout.com/payments/{id}/voids
If you receive a 202 Void accepted
response, your void request has been accepted for processing. To get the full void response, you must subscribe to the payment_voided
webhook.
If there was a problem with your request, you receive an error response such as 422 Invalid data was sent
.
For more information, see Void a payment.
If you receive a 202 Void accepted
response, your void request has been accepted for processing. To get the full void response, you must subscribe to the payment_voided
webhook.
If there was a problem with your request, you'll receive an error response such as 422 Invalid data was sent
.
To test PINless debit payments:
- Create a test payment request.
- Set
source.number
to any of the cards in the following table, depending on the outcome you want to simulate:
Status | Response code | PINless debit network | Card number |
---|---|---|---|
|
| Accel |
|
NYCE |
| ||
Pulse |
| ||
Star |
| ||
|
| Accel |
|
NYCE |
| ||
Pulse |
| ||
Star |
|
To test cards that have an associated debit network but the transaction is rerouted and approved to signature, use the following cards:
4902526690560177
5482730044440004
The following table lists the response codes you may receive when processing PINless debit payments: