Payment instrument verification
In addition, use the following materials to gain a fuller understanding of payment instrument verification:
- Payment instrument verification—an article in the section Payment models and statuses that provides a general description of performing payment instrument verification in the ecommpay payment platform and covers information about statuses that can be used in the process.
- articles of the Payment methods section containing a description of payment instrument verification via Gate with the focus on the specific features of the payment method used and information about relevant requests and callbacks.
To find out whether you can use payment instrument verification, refer to your ecommpay account manager.
Overview
Payment instrument verification is a payment type in which the customer card or account is validated by either transferring a dummy (zero) amount from customer to merchant or by authorizing a specific amount (non-zero) on the customer card or account and then voiding the transfer or the authorization. The authorization amount can be changed on merchant's request. Normally, the authorized amount is released shortly after the operation, but in some instances the authorized amount can be held up to 45 days.
You can use verification to register any subscriptions without debiting funds for the first (trial) period or you can use it before perform a payout. For more information about COF purchases, see Credential-on-file (COF) purchases. Payment instrument verification functionality can also be relevant for processing MO/TO (Mail Order/Telephone Order) payments which imply that customers provide payment card details over the phone, by email, or other means of communication. For more information about MO/TO payments, see MO/TO payment processing.
The payment instrument verification workflow
To perform the payment instrument verification by using Gate the web service is required to do the following:
- Send the request by using the POST (HTTP) method to the endpoint
/v2/payment/{payment method}/account_verification[/token]
. - If necessary, complete the additional procedures:
- 3‑D Secure authentication. This authentication is intended to provide security to online payments with payment cards. For more information on the authentication workflow, as well as request and callback formats, see 3‑D Secure authentication.
- Additional payment information submission. This procedure is intended for cases, where the initial request did not contain the information necessary for any payment process stakeholders. For more information on this procedure, see Submission of additional payment information.
- Receive the callback with verification results from the payment platform.
The following diagram outlines the basic case of verification workflow (without the completion of the additional procedure).
The sections that follow discuss in more details the request format and the parameters to be used in requests for payment card verification, as well as provide information about the format of callbacks the verification results. Information about possible statuses of this payment type can be found in the corresponding article.
Request format
There are several things you need to consider when using payment card verification requests:
- Send the request by using POST (HTTP) method to one of the following endpoints:
- when performing verification by card number—/v2/payment/card/account_verification
- when performing verification by the token that is associated with payment card details—/v2/payment/card/account_verification/token
- The following objects and parameters must be specified in the request:
- Object
general
—general request identification information:project_id
—the project ID obtained from ecommpaypayment_id
—payment ID unique within the merchant projectsignature
—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object
customer
—customer information:ip_address
—IP addressid
—the ID of the customer within the merchant project
- Object
payment
—payment information:amount
—payment amount, the value is 0currency
—payment currency in the ISO-4217 alpha-3 format
- Object
- The request must contain the following customer's payment card information:
- when passing complete card credentials—the following data in the
card
object:pan
—card numberyear
—year of expiration datemonth
—month of expiration datecard_holder
—cardholder's first and last name (as indicated on the card)cvv
—card verification code (as indicated on the card). This parameter is not necessary for processing of MO/TO payments. For more information, see MO/TO payment processing.
- when passing the token—token received from ecommpay in the
token
parameter and the card verification code in thecvv
parameter (this parameter is not necessary for processing of MO/TO payments. For more information, see MO/TO payment processing).
- when passing complete card credentials—the following data in the
- If required, you can also add any other additional parameters and objects Gate supports.
Thus, the correct payment card verification request must include project and payment IDs, signature, the customer's payment card details, the ID and IP-address of the customer, as shown in the following example:
Callback format
The standard format for callbacks is used to deliver payout results. For more information, see Callbacks.
The following is the example of a callback with information about the successful verification of the 431422******0056
card of the customer customer_10
in the 874
project. The card is verified and is registered for COF purchases.
The following example of callback is for a card payment verification that is rejected by the payment system without explanation.