.. _api_v2_account-verification: /api/v2/account-verification ######################################################## .. toctree:: :maxdepth: 1 .. contents:: :local: .. role:: ex .. role:: code Introduction ======================== Account Verification is initiated through :code:`HTTPS POST` request by using :ref:`URLs` and the :ref:`parameters` specified below. Use :ref:`SHA-1` for authentication. See :ref:`statuses`. .. _api_url_account_verification_url: API URLs ==================== .. note:: | The path in API URL should not be hardcoded, as it may be changed in future. .. list-table:: :widths: 50, 50 :header-rows: 1 :class: longtable * - Integration - Production * - :ex:`https://sandbox.payneteasy.com/paynet/api/v2/account-verification/ENDPOINTID` - :ex:`https://gate.payneteasy.com/paynet/api/v2/account-verification/ENDPOINTID` * - :ex:`https://sandbox.payneteasy.com/paynet/api/v2/account-verification/group/ENDPOINTGROUPID` - :ex:`https://gate.payneteasy.com/paynet/api/v2/account-verification/group/ENDPOINTGROUPID` .. _api_url_account_verification_request_parameters: Request Parameters ============================== .. note:: | Request must have content-type=application/x-www-form-urlencoded. | Acquirer can redefine the necessity of some fields so they become required instead of optional. | Leading and trailing whitespace in input parameters will be omitted. .. warning:: The following characters must be escaped in the parameter values: :code:`&` :code:`+` :code:`"`. .. list-table:: :widths: 25, 45, 25 :header-rows: 1 :class: longtable * - Parameter Name - Description - Value * - :code:`client_orderid` - Unique order identifier assigned by Connecting Party. - | ``Necessity``: Required | ``Type``: String | ``Length``: 128 * - :code:`order_desc` - Brief order description. - | ``Necessity``: Required | ``Type``: String | ``Length``: 64k * - :code:`address1` - Payer’s address line 1. (Please note that in some cases it is not possible to send address length more than 50 characters. Please contact your manager for more details.) - | ``Necessity``: Required | ``Type``: String | ``Length``: 256 * - :code:`city` - Payer’s city. - | ``Necessity``: Required | ``Type``: String | ``Length``: 50 * - :code:`zip_code` - Payer’s ZIP code. - | ``Necessity``: Required | ``Type``: String | ``Length``: 10 * - :code:`country` - Payer’s country. Please see :ref:`Country codes` for a list of valid country codes. - | ``Necessity``: Required | ``Type``: String | ``Length``: 2 * - :code:`email` - Payer’s e-mail address. - | ``Necessity``: Required | ``Type``: String | ``Length``: 50 * - :code:`cvv2` - Payer’s CVV2 code. CVV2 (Card Verification Value) is a three- or four-digit number AFTER the credit card number in the signature area of the card. - | ``Necessity``: Required | ``Type``: Numeric | ``Length``: 3-4 * - :code:`ipaddress` - Payer’s IP address, included for fraud screening purposes. - | ``Necessity``: Required | ``Type``: String | ``Length``: 45 * - :code:`control` - | Checksum generated by :ref:`SHA-1`. Control string is represented as concatenation of the following parameters: | 1. :ex:`` (See: :ref:`Request URL`) | 2. Request parameter: :ex:`client_orderid` | 3. Request parameter: :ex:`email` | 4. :ex:`merchant_control` (Control key assigned to Connecting Party account in the Payneteasy gateway system). - | ``Necessity``: Required | ``Type``: String | ``Length``: 128 * - :code:`first_name` - Payer’s first name. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 50 * - :code:`last_name` - Payer’s last name. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 50 * - :code:`cardrefid` - Card reference ID obtained at :ref:`Card Registration Stage`. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 50 * - :code:`ssn` - Last four digits of the Payer’s social security number. - | ``Necessity``: Optional | ``Type``: Numeric | ``Length``: 32 * - :code:`birthday` - Payer’s date of birth, in the format :ex:`YYYYMMDD`. - | ``Necessity``: Optional | ``Type``: Numeric | ``Length``: 8 * - :code:`state` - Payer’s state. Please see :ref:`Mandatory State codes` for a list of valid state codes. Required for USA, Canada and Australia. - | ``Necessity``: Conditional | ``Type``: String | ``Length``: 2-3 * - :code:`phone` - Payer’s full international phone number, including country code. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 15 * - :code:`cell_phone` - Payer’s full international cell phone number, including country code. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 15 * - :code:`credit_card_number` - Payer’s credit card number. Send either combination of :code:`credit_card_number`, :code:`card_printed_name`, :code:`expire_month` and :code:`expire_year` or :code:`cardrefid`, not all. - | ``Necessity``: Conditional | ``Type``: Numeric | ``Length``: 20 * - :code:`card_printed_name` - Cardholder name, printed on the bank card. - | ``Necessity``: Conditional | ``Type``: String | ``Length``: 128 * - :code:`expire_month` - Bank card expiration month. - | ``Necessity``: Conditional | ``Type``: Numeric | ``Length``: 2 * - :code:`expire_year` - Bank card expiration year. - | ``Necessity``: Conditional | ``Type``: Numeric | ``Length``: 4 * - :code:`site_url` - The URL of the E-commerce entity, where the payment is originated from. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 128 * - :code:`purpose` - Destination to where the payment goes. It is useful for the Connecting Partys who let their Payers to top up their accounts with bank card (Mobile phone accounts, game accounts etc.). Sample values are: :ex:`+9999999999`; :ex:`mail@example.com` etc. This value can be used by the fraud monitoring system. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 128 * - :code:`server_callback_url` - | URL, where the transaction status is sent to. Connecting Party may use server callback URL for custom processing of the transaction completion, e.g. to collect payment data in the Connecting Party’s information system. For the list of parameters which come along with server callback to :ex:`server_callback_url` refer to :ref:`Connecting Party callback parameters`. This parameter can be sent instead of :ex:`notify_url`. If :ex:`server_callback_url` is sent, Payment Gateway sends callback notification only when original transaction receives final status. If :ex:`notify_url` is sent, Payment Gateway sends callback notification once the original transaction receives final status, and about every future update for this original transaction (reversal, chargeback, etc). - | ``Necessity``: Optional | ``Type``: String | ``Length``: 128 * - :code:`notify_url` - | URL, where the transaction status is sent to. Connecting Party may use notify URL for custom processing of the transaction completion, e.g. to collect payment data in the Connecting Party’s information system. For the list of parameters which come along with server callback to :ex:`notify_url` refer to :ref:`Connecting Party callback parameters`. This parameter can be sent instead of :ex:`server_callback_url`. If :ex:`notify_url` is sent, Payment Gateway sends callback notification once the original transaction receives final status, and about every future update for this original transaction (reversal, chargeback, etc). If :ex:`server_callback_url` is sent, Payment Gateway sends callback notification only when original transaction receives final status. - | ``Necessity``: Optional | ``Type``: String | ``Length``: 128 .. include:: empty.txt Response Parameters =============================== .. note:: | Response has Content-Type: text/html;charset=utf-8 header. All fields are x-www-form-urlencoded, with (0xA) character at the end of each parameter’s value. .. list-table:: :widths: 25, 75 :header-rows: 1 :class: longtable * - Response Parameters - Description * - :code:`type` - | The type of response. May be :ex:`async-response`, :ex:`validation-error`, :ex:`error` etc. | If type equals :ex:`validation-error` or :ex:`error`, :ex:`error-message` and :ex:`error-code` parameters contain error details. * - :code:`paynet-order-id` - Order id assigned to the order by Payneteasy. * - :code:`merchant-order-id` - Connecting Party order id. * - :code:`serial-number` - Unique number assigned by Payneteasy server to particular request from the Connecting Party. * - :code:`error-message` - If status is :ex:`error` this parameter contains the reason for decline or error details. * - :code:`error-code` - The error code is case of :ex:`error` status. Request Example ======================================= .. code-block:: text POST /paynet/api/v2/account-verification/39915 HTTP/1.1 User-Agent: curl/7.83.0 Accept: */* Content-Length: 527 Content-Type: application/x-www-form-urlencoded Connection: close client_orderid=34T43R77N &order_desc=Test Order Description &first_name=John &last_name=Smith &birthday=19820115 &address1=100 Main st &city=Seattle &state=WA &zip_code=98102 &country=US &phone=+12063582043 &cell_phone=+19023384543 &email=john.smith@gmail.com &ipaddress=65.153.12.232 &site_url=www.google.com &credit_card_number=4666034752545240 &card_printed_name=CARD HOLDER &expire_month=12 &expire_year=2099 &cvv2=123 &purpose=user_account1 &server_callback_url=https://httpstat.us/200 &merchant_data=VIP customer &control=5112b51084be33fa331d995d17b9d82af3bfbbc9 Success Response Example ================================================ .. code-block:: text HTTP/1.1 200 Server: server Date: Thu, 27 Apr 2023 14:03:58 GMT Content-Type: text/html;charset=utf-8 Connection: close Vary: Accept-Encoding X-XSS-Protection: 1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 Content-Language: en-US Strict-Transport-Security: max-age=31536000 Content-Length: 145 type=async-response &serial-number=00000000-0000-0000-0000-000002e34518 &merchant-order-id=34T43R77N &paynet-order-id=6994016 &end-point-id=39915 Fail Response Example ============================================= .. code-block:: text HTTP/1.1 200 Server: server Date: Mon, 22 May 2023 11:14:25 GMT Content-Type: text/html;charset=utf-8 Connection: close Vary: Accept-Encoding X-XSS-Protection: 1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 Content-Language: en-US Strict-Transport-Security: max-age=31536000 Content-Length: 152 type=validation-error &serial-number=00000000-0000-0000-0000-000002e5c583 &merchant-order-id=34T43R77N &error-message=INVALID_CONTROL_CODE &error-code=2 Postman Collection ========================================== .. raw:: html :file: ../_static/Postman/Postman_account_verification.html Request Builder ======================================= .. raw:: html :file: ../_static/examples/sync_account_verification_Request_Debug.html