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

The request

To verify a card, simply set up a payment request using one of the following endpoints, with the amount field omitted or set to 0.

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).

Request example

{
  "source": {
    "type": "token",
    "token": "tok_yo2zfqgdnn4u7gswjbjmqt5mza"
  },
  "currency": "USD"
}

The response 

If the approved field is true and the status field has a value of Card Verified, the verification was successful. If unsuccessful, the card may be invalid/expired or the account may have an insufficient available balance.

If you received a 202 response, a redirect is required (e.g., because 3D Secure authentication is required).

Response example

{
  "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

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).

Once authorized, this payment will be automatically voided and the amount will be returned to the customer.

Note that the value field is now returned as 100 in the response example, which, in this case, 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 help or have a question, message our Support team at support@checkout.com.