Card verification
Card verification allows you to accept and verify a cardholder's payment information without actually billing the customer for a charge. This type of authorization request is particularly useful if you're offering a trial period for a product or service.
For example, you may choose to collect credit card information during an initial registration process but offer a 30-day trial period before charging the customer's credit card. The cardholder's details are saved to their account, allowing you to charge the card when necessary.
Verify a card
All merchants with Checkout.com can submit a card verification request. It's as simple as setting up a payment and can be accomplished with either of the following endpoints.
Your card verification request may be unsuccessful
Some issuing banks do not support card verification and reject the charge request even if all card details are accurate. If the issuing bank refuses the card verification request, a follow-up request will be sent automatically with a $1 total amount (or the equivalent in the submitted processing currency).
The request
For card verification, the amount
field in the request must either be omitted or set to 0
.
{
"source": {
"type": "token",
"token": "tok_yo2zfqgdnn4u7gswjbjmqt5mza"
},
"currency": "USD"
}
The response
Use the approved
field to check whether or not the authorization was successful ("approved": true
). If your authorization was not successful, it's possible the payment used an invalid/expired card, or a valid card with an insufficient available balance.
If you received a 202
response, the payment requires a redirect (e.g., because the payment is 3D Secure).
Below, you can see an example response to a card verification request.
Response example
Take note of the status
field in the response – it indicates that the card has been verified.
{
"id": "pay_aqwuar5sjb5upkupgywyzapfii",
"action_id": "act_aqwuar5sjb5upkupgywyzapfii",
"amount": 0,
"currency": "USD",
"approved": true,
"status": "Card Verified",
"auth_code": "085143",
"eci": "05",
"scheme_id": "638284745624527",
"response_code": "10000",
"response_summary": "Approved",
"risk": {
"flagged": false
},
"source": {
"id": "src_o67xgoxulgnuhgeaxsdk4cbvgq",
"type": "card",
"expiry_month": 9,
"expiry_year": 2022,
"scheme": "Visa",
"last4": "4242",
"fingerprint": "F31828E2BDABAE63EB694903825CDD36041CC6ED461440B81415895855502832",
"bin": "424242",
"card_type": "Credit",
"card_category": "Consumer",
"issuer": "JPMORGAN CHASE BANK NA",
"issuer_country": "US",
"product_id": "A",
"product_type": "Visa Traditional",
"avs_check": "S",
"cvv_check": ""
},
"customer": {
"id": "cus_vrdaroxvawlevmxxvhi66thpum"
},
"processed_on": "2019-01-17T17:41:52Z",
"_links": {
"self": {
"href": "https://api.sandbox.checkout.com/payments/pay_aqwuar5sjb5upkupgywyzapfii"
},
"actions": {
"href": "https://api.sandbox.checkout.com/payments/pay_aqwuar5sjb5upkupgywyzapfii/actions"
}
}
}
One dollar authorization example
If a standard card verification request (zero dollar authorization) is not successful, our payment gateway will automatically submit a new request to verify the card details. This follow-up request will automatically set the value to $1 (or the equivalent amount in the processing currency).
Note that the value field is now returned as
100
in the response example, which is equivalent to $1.
{
"id": "pay_j4baqhdakhqudmzne2eojnkbr4",
"action_id": "act_j4baqhdakhqudmzne2eojnkbr4",
"amount": 100,
"currency": "USD",
"approved": true,
"status": "Card Verified",
"auth_code": "338229",
"eci": "05",
"scheme_id": "638284745624527",
"response_code": "10000",
"response_summary": "Approved",
"risk": {
"flagged": false
},
"source": {
"id": "src_ouue63mbxbfejcmttvefgav6lq",
"type": "card",
"expiry_month": 8,
"expiry_year": 2025,
"scheme": "Visa",
"last4": "4242",
"fingerprint": "5CD3B9CB15338683110959D165562D23084E1FF564F420FE9A990DF0BCD093FC",
"bin": "424242",
"card_type": "Credit",
"card_category": "Consumer",
"issuer": "JPMORGAN CHASE BANK NA",
"issuer_country": "US",
"product_id": "A",
"product_type": "Visa Traditional",
"avs_check": "S",
"cvv_check": "Y"
},
"customer": {
"id": "cus_kkmo2cqvrv3uffixivm2u3vcmq"
},
"processed_on": "2019-02-15T16:28:34Z",
"_links": {
"self": {
"href": "https://api.sandbox.checkout.com/payments/pay_j4baqhdakhqudmzne2eojnkbr4"
},
"actions": {
"href": "https://api.sandbox.checkout.com/payments/pay_j4baqhdakhqudmzne2eojnkbr4/actions"
}
}
}
Can we help?
Thanks for using Checkout.com. If you need any help or support, then message our support team at [email protected].
Updated 5 months ago