Card Verifications
A Card Verification payment - or in Card Scheme terms, an Account Status Inquiry (ASI) - is a message sent by the acquirer to the issuer, using a zero (0) amount, for confirmation that a transaction can be completed using the card.
See here for card verifications with Account Name Inquiry.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State | Reversal State |
---|---|---|---|
202 | VisaCardVerification | AuthorisedByProvider (13) | |
203 | ECMCCardVerification | AuthorisedByProvider (13) | |
215 | MaestroCardVerification | AuthorisedByProvider (13) |
Payment method interaction type: Synchronous Execution (see Interaction Types).
The credit card verification payments are credit card deposits with a zero amount. Payment methods interaction and states are the same as for Card Deposits (see Card Deposits and Card Deposits with 3DS2). The only difference is that amount should not be sent in getRedirectDataRequest
or initiatePaymentRequest
.
AuthorisedByProvider
state in initiatePaymentResponse
means successful card verification. Any other final state means that card verification is unsuccessful.
No amount must be sent
To initiate a Card Verification payment, the
amount
parameter must not be sent ingetRedirectDataRequest
orinitiatePaymentRequest
.
CVC and AVS for Card Verifications
The CVC and AVS features can also be used with payment methods Visa Card Verification (202) and ECMC Card Verification (203). For payment method Maestro Card Verification (215) the CVC is optional, and AVS can not be used since Maestro requires 3-D Secure. No Capture or Cancel actions can be performed on card verification deposits.
Redirect Integration
There are no specific steps for initiating Card Verifications with Redirect Integration. Refer to Initiate New Payment (Redirect) for the standard steps.
Backend2Backend Integration
Example initiatePaymentRequest
for a Visa Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentMethodID>202</paymentMethodID>
<userID>fd4a9cef-1f87-48de-878e-9400a3</userID>
<userData>
<username>fd4a9cef-1f87-48de-878e-9400a3</username>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>f9c2915a-1a40-42c2-8244-61723d8882ae</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>Any value can be sent here</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>140</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>CardNumber</key>
<value>4111110000000211</value>
</data>
<data xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>c23f4b7c-584e-4ee5-919e-c3902020bc0c</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>6</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2018</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CardVerificationCode</key>
<value>424</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example successful initiatePaymentResponse
for a Visa Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>202</key>
<value>VisaCardVerification</value>
</paymentMethod>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentID>9fcf8d45-584b-4e64-9c8e-f194b662e859</paymentID>
<userID>fd4a9cef-1f87-48de-878e-9400a3</userID>
<paymentProvider>
<key>140</key>
<value>Elavon</value>
</paymentProvider>
<amount currencyCode="BRL">0</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>c5411448-3975-4f4b-87a1-cec837dbda6f</id>
<definition>
<key>13</key>
<value>AuthorisedByProvider</value>
</definition>
<createdOn>2015-04-23T15:21:54.9357789Z</createdOn>
<description>1: Authorized (capture pending), CVV/CVC check status:Matched.</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>AA</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Transaction Approved</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ApprovalCode</key>
<value>265789</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="BRL">0</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>3148265789</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>9790</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>b21a37fb-df3f-438f-be20-8a8a6f349b6b</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>issuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>fundingSource</key>
<value>Credit</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example refused initiatePaymentResponse
for a Visa Card Verification because amount
parameter was sent.
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>202</key>
<value>VisaCardVerification</value>
</paymentMethod>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentID>076fd569-b4b8-48cf-b39b-f9530b573100</paymentID>
<userID>a0e9d833-675d-42ba-a009-651758</userID>
<paymentProvider>
<key>140</key>
<value>Elavon</value>
</paymentProvider>
<amount currencyCode="BRL">0</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>cc7d74d5-287f-4b0c-8901-45dd5fde7f1b</id>
<definition>
<key>100</key>
<value>RefusedByProvider</value>
</definition>
<createdOn>2015-04-23T15:39:17.2185789Z</createdOn>
<description>3: Not Authorized (authorization declined)</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>2000</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonMessage</key>
<value>IncorrectUserPaymentAccount</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>ND</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Transaction Declined</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="BRL">0</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>3571717789</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>9803</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>4e18f45e-27b8-4657-8245-23463d234b63</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>issuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>fundingSource</key>
<value>Credit</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example Communication Error initiatePaymentResponse
for a Visa Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>202</key>
<value>VisaCardVerification</value>
</paymentMethod>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentID>dc390ba8-45cf-4ce3-952e-7cf831b811f5</paymentID>
<userID>e82df999-4f26-4c71-8374-f467ae</userID>
<paymentProvider>
<key>140</key>
<value>Elavon</value>
</paymentProvider>
<amount currencyCode="BRL">0</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>89fc349a-1cd4-48a1-a490-7225889d4df6</id>
<definition>
<key>336</key>
<value>AuthoriseCommunicationErrorOccurred</value>
</definition>
<createdOn>2015-04-23T15:43:38.360962Z</createdOn>
<description>A communication error occurred during authorisation process.</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="BRL">0</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>9808</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>7523a857-30ec-494c-9262-25522168ace7</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>issuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>fundingSource</key>
<value>Credit</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example initiatePaymentRequest
for a Mastercard Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentMethodID>203</paymentMethodID>
<userID>fd4a9cef-1f87-48de-878e-9400a3</userID>
<userData>
<username>fd4a9cef-1f87-48de-878e-9400a3</username>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>a2ec0267-de92-4b1d-82ec-9aed929d8a91</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>b16942a4-50f1-4844-b131-dabeab8fdd72</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSCountry</key>
<value>GB</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSStreetAddress</key>
<value>123 London Rd</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSPostCode</key>
<value>CH488AQ</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSPolicy</key>
<value>1</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>PerformAVS</key>
<value>true</value>
</data>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>92</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>CardNumber</key>
<value>5301250070000191</value>
</data>
<data xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>TestUser</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>6</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2018</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CardVerificationCode</key>
<value>424</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example successful initiatePaymentResponse
for a Mastercard Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>203</key>
<value>ECMCCardVerification</value>
</paymentMethod>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentID>ca98f012-e488-4b26-9d17-ec3c28f44f32</paymentID>
<userID>fd4a9cef-1f87-48de-878e-9400a3</userID>
<paymentProvider>
<key>92</key>
<value>CQRUK</value>
</paymentProvider>
<amount currencyCode="EUR">0</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>91e94f6b-b97d-4155-bbbc-0a417549352c</id>
<definition>
<key>13</key>
<value>AuthorisedByProvider</value>
</definition>
<createdOn>2015-04-23T15:48:59.798962Z</createdOn>
<description>Approved or completed successfully</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ApprovalCode</key>
<value>250679</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">0</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>AccountBalanceCurrencyCode</key>
<value>EUR</value>
</detail>
<detail xsi:type="keyDecimalValuePair">
<key>AccountBalanceAmount</key>
<value>150.01</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>3060752</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>469b7061-fdcd-46da-b8ed-2147fdbe4037</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>issuerCountry</key>
<value>GB</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>fundingSource</key>
<value>Credit</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example initiatePaymentRequest
for a Maestro Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentMethodID>215</paymentMethodID>
<userID>fd4a9cef-1f87-48de-878e-9400a3</userID>
<userData>
<username>UserName</username>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>6f6ee56d-19ad-4ae7-af4e-2b32fee468c2</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>The payment description</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>IsThreeDSecureRequired</key>
<value>true</value>
</data>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>92</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>CardNumber</key>
<value>5641820680164584</value>
</data>
<data xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>TestUser</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>6</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2018</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example successful initiatePaymentResponse
for a Maestro Card Verification:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>215</key>
<value>MaestroCardVerification</value>
</paymentMethod>
<merchantTransactionID>YourTransactionID</merchantTransactionID>
<paymentID>79c5feb0-d724-49f4-89c0-3d275b0e20da</paymentID>
<userID>UserName</userID>
<paymentProvider>
<key>92</key>
<value>CQRUK</value>
</paymentProvider>
<amount currencyCode="EUR">0</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>91e94f6b-b97d-4155-bbbc-0a417549352c</id>
<definition>
<key>287</key>
<value>RedirectDataCreated</value>
</definition>
<createdOn>2016-03-16T14:23:31.7970546Z</createdOn>
<description>An actual link to 3DSecure authenitication page</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>An actual link to 3DSecure authenitication page</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataPaReq</key>
<value>PostData for 3DSecure authenitication page</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataMD</key>
<value>PostData for 3DSecure authenitication page</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataKeys</key>
<value>PaReq,MD</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">0</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>193471</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>245ecd02-4ea1-4558-9f33-a89eb58339f5</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
In order for the payment to reach the final AuthorizedByProvider
state the user has to authenticate on the 3DS page via the RedirectionUrl
as received in the initiatePaymentResponse
. For more information about 3DS please refer to Card Deposits with 3DS.
Notifications
Updated 7 months ago