Card verification

You can verify a card using zero dollar authorization, this 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 for merchants offering trial periods for a product or a service. The cardholder's details are saved to their account, allowing you to charge the card when necessary.

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.

Verifying a card (zero dollar authorization)

All merchants with Checkout.com can submit a zero dollar authorization request. It's as simple as setting up a charge and can be accomplished with any of the following endpoints.

Your zero dollar authorization may be unsuccessful

Some issuing banks do not support zero dollar authorization and reject the charge request even if all card details are accurate. If the issuing bank refuses the zero dollar authorization request, a follow-up request will be sent automatically with a $1 total amount (or the equivalent in the submitted processing currency).

Zero dollar request example

For zero dollar authorization, the value field in the request must either be omitted or set to 0. Notice that the value field in the request example below is omitted and a 0 value is returned in the response.

curl https://sandbox.checkout.com/api2/v2/charges/card
    -H "Authorization: sk_test_55aedccc-7f53-4ccc-b0a6-d943decc3c31"
    -H "Content-Type:application/json;charset=UTF-8"
    -X POST
    -d '{
      "chargeMode": 1,
      "transactionIndicator": "2",
      "email": "sarah.mitchell@checkout.com",
      "currency": "USD",
      "card": {
        "name": "Sarah Mitchell",
        "number": "4242424242424242",
        "cvv": "100",
        "expiryMonth": "06",
        "expiryYear": "2018",
        "billingDetails": {
          "addressLine1": "27 Acacia Tree Street",
          "addressLine2": "Apartment 15",
          "postcode": "01072",
          "country": "US",
          "city": "Shutesbury",
          "state": "Massachusetts",
          "phone" : {
            "countryCode" : "1",
            "number" : "111 222-333"
          }
        },
        "includeBinData": "true"
      }
    }'

The response

If a payment response object returns, then your zero dollar authorization completed successfully. If you didn't get the response you expected and you're having problems with this API, then ask our support team for advice.

Below, you can see an example response to a zero dollar authorization request.

Zero dollar response example

{
  "id": "charge_899859787D946X521AB2",
  "liveMode": true,
  "created": "2017-07-19T09:30:53Z",
  "value": 0,
  "currency": "USD",
  "trackId": null,
  "description": null,
  "email": "sarah.mitchell@checkout.com",
  "chargeMode": 1,
  "transactionIndicator": 1,
  "customerIp": null,
  "responseMessage": "Approved",
  "responseAdvancedInfo": "Approved",
  "responseCode": "10000",
  "status": "Card Verified",
  "authCode": "230050",
  "isCascaded": false,
  "autoCapture": "Y",
  "autoCapTime": 0,
  "card": {
    "customerId": "cust_385F7F66-BB49-4019-AC5B-99BEEFF46289",
    "expiryMonth": "06",
    "expiryYear": "2018",
    "billingDetails": {
      "addressLine1": "27 Acacia Tree Street",
      "addressLine2": "Apartment 15",
      "postcode": "01072",
      "country": "US",
      "city": "Shutesbury",
      "state": "Massachusetts",
      "phone": {
        "countryCode": "1",
        "number": "111 222-333"
      }
    },
    "id": "card_62769293-2F9A-4732-B3C7-2D8AC37F0A59",
    "last4": "4242",
    "bin": "424242",
    "paymentMethod": "Visa",
    "fingerprint": "F639CAB2745BEE4140BF86DF6B6D6E255C5945AAC3788D923FA047EA4C208622",
    "name": "Sarah Mitchell",
    "cvvCheck": "Y",
    "avsCheck": "A"
  },
  "riskCheck": true,
  "customerPaymentPlans": null,
  "metadata": {},
  "shippingDetails": {
    "addressLine1": null,
    "addressLine2": null,
    "postcode": null,
    "country": null,
    "city": null,
    "state": null,
    "phone": {}
  },
  "products": [],
  "udf1": null,
  "udf2": null,
  "udf3": null,
  "udf4": null,
  "udf5": null
}

One dollar authorization example

If a zero dollar authorization request is not successful, the Checkout.com 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).

Notice that the value field is now returned as 100 in the response example, which is equivalent to $1.

{
  "id": "charge_test_ADFA59AC144U739AAA07",
  "liveMode": false,
  "created": "2018-05-01T14:02:09Z",
  "value": 100,
  "currency": "USD",
  "trackId": null,
  "description": null,
  "email": "sarah.mitchell@checkout.com",
  "chargeMode": 1,
  "transactionIndicator": 2,
  "customerIp": null,
  "responseMessage": "Approved",
  "responseAdvancedInfo": "Approved",
  "responseCode": "10000",
  "status": "Authorised",
  "authCode": "321375",
  "isCascaded": false,
  "autoCapture": "Y",
  "autoCapTime": 0,
  "card": {
    "customerId": "cust_597C3BDE-E266-4B5C-B9D4-9D5115341B3F",
    "expiryMonth": "06",
    "expiryYear": "2018",
    "billingDetails": {
      "addressLine1": "27 Acacia Tree Street",
      "addressLine2": "Apartment 15",
      "postcode": "01072",
      "country": "US",
      "city": "Shutesbury",
      "state": "Massachusetts",
      "phone": {
        "countryCode": "1",
        "number": "111 222-333"
      }
    },
    "id": "card_C00F69AC-D2FD-4083-88C0-9E30BF225161",
    "last4": "4242",
    "bin": "424242",
    "paymentMethod": "Visa",
    "fingerprint": "F639CAB2745BEE4140BF86DF6B6D6E255C5945AAC3788D923FA047EA4C208622",
    "name": "Sarah Mitchell",
    "cvvCheck": "Y",
    "avsCheck": "S"
  },
  "riskCheck": true,
  "customerPaymentPlans": null,
  "metadata": {},
  "shippingDetails": {
    "addressLine1": null,
    "addressLine2": null,
    "postcode": null,
    "country": null,
    "city": null,
    "state": null,
    "phone": {}
  },
  "products": [],
  "udf1": null,
  "udf2": null,
  "udf3": null,
  "udf4": null,
  "udf5": null
}

Can we help?

Thanks for using Checkout.com. If you need any help or support, then message our support team at support@checkout.com.