{"id":485,"date":"2024-08-08T19:43:56","date_gmt":"2024-08-08T19:43:56","guid":{"rendered":"https:\/\/lddpay.com\/?post_type=docs&#038;p=485"},"modified":"2024-08-10T09:00:20","modified_gmt":"2024-08-10T09:00:20","password":"","slug":"s2s-apm","status":"publish","type":"docs","link":"https:\/\/lddpay.com\/zh\/docs\/s2s-apm\/","title":{"rendered":"S2S VPG"},"content":{"rendered":"<h1 class=\"wp-block-heading\">S2S VPG<\/h1>\n\n\n\n<p>Version: 3.3.4<br>Released: 2024\/07\/01<\/p>\n\n\n\n<p>Copyrighted by lddPay<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"introduction\">Introduction<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>This document describes integration procedures and VIRTUAL PAYMENT GATEWAY protocol usage for e-commerce merchants.<\/p>\n\n\n\n<p>VIRTUAL PAYMENT GATEWAY protocol implements acquiring payments (purchases) with using specific API interaction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"integration-process\">Integration Process<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"integration-process-1\">Integration process<\/h3>\n\n\n\n<p>With all Payment Platform POST requests at Notification URL the Merchant must return the string OK if he\/she successfully received data or return ERROR.<\/p>\n\n\n\n<p>\u26a0\ufe0f <strong>Pay attention<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Note that the notification URL may be temporarily blocked due to consistently receiving timeouts in response to the callback. If five timeouts accumulate within five minutes for a merchant\u2019s notification URL, it will be blocked for 15 minutes. During this block, all merchants associated with the URL will not receive notifications. The block automatically lifts after 15 minutes. Additionally, it is possible to manually unblock the URL through the admin panel by navigating to Configuration \u2192 Merchants \u2192 Edit Merchant. In this case, the block will be removed immediately. The timeout counter resets if a callback response is successfully processed. For instance, if there are four timeouts within five minutes but a successful response on the sixth minute, the counter resets.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>\u26a0\ufe0f <strong>Pay attention<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>In the case of cascading, the logic for sending callbacks differs. If cascading is triggered for the order, you will receive callbacks for the first payment attempt, where the decline occurred and which caused the cascading, as well as for the last payment attempt, where the final status of the order (settled or declined) is determined. Additionally, for the last attempt, the callback will include only the final status. That is, callbacks regarding 3DS or redirects will not be sent. Callbacks for intermediate attempts (between the first decline and the last payment attempt) are not sent.<\/em><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"client-registration\">Client Registration<\/h3>\n\n\n\n<p>Before you get an account to access Payment Platform, you must provide the following data to the Payment Platform administrator.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Data<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Callback URL<\/td><td>URL which will be receiving the notifications of the processing results of your request to Payment Platform<\/td><\/tr><tr><td>Contact e-mail<\/td><td>Client`s contact email<\/td><\/tr><tr><td>IP List<\/td><td>List of your IP addresses, from which requests to Payment Platform will be sent.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>With all Payment Platform POST requests at Callback URL the Client must return the string &#8220;OK&#8221; if he\/she successfully received data or return &#8220;ERROR&#8221;.<\/p>\n\n\n\n<p>You should get the following information from administrator to begin working with the Payment Platform.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td>CLIENT_KEY<\/td><td>Unique key to identify the account in Payment Platform (used as request parameter). In the administration platform this parameter corresponds to the &#8220;Merchant key&#8221; field<\/td><\/tr><tr><td>PASSWORD<\/td><td>Password for Client authentication in Payment Platform (used for calculating hash parameter). In the administration platform this parameter corresponds to the &#8220;Password&#8221; field<\/td><\/tr><tr><td>PAYMENT_URL<\/td><td>URL to request the Payment<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"protocol-mapping\">Protocol Mapping<\/h3>\n\n\n\n<p>It is necessary to check the existence of the protocol mapping before using the S2S integration. Merchants can\u2019t make payments if the S2S VPG protocol is not mapped.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"payment-platform-interaction\">Payment Platform Interaction<\/h3>\n\n\n\n<p>For the transaction you must send the <strong>server to server HTTPS POST<\/strong> request to the Payment Platform URL (PAYMENT_URL). In response Payment Platform will return the JSON (<a href=\"http:\/\/json.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/json.org\/)<\/a>) encoded string.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"list-of-possible-actions-in-payment-platform\">List of possible actions in Payment Platform<\/h3>\n\n\n\n<p>When you make request to Payment Platform, you need to specify action that needs to be done. Possible actions are:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Action<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td>SALE<\/td><td>Creates SALE transaction<\/td><\/tr><tr><td>CREDITVOID<\/td><td>Creates REFUND transaction<\/td><\/tr><tr><td>VOID<\/td><td>Creates VOID transaction<\/td><\/tr><tr><td>CREDIT2VIRTUAL<\/td><td>Creates CREDIT2VIRTUAL transaction<\/td><\/tr><tr><td>GET_TRANS_STATUS<\/td><td>Gets status of transaction in Payment Platform<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"list-of-possible-transaction-results-and-statuses\">List of possible transaction results and statuses<\/h3>\n\n\n\n<p>Result &#8211; value that system returns on request. Possible results are:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Result<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td>SUCCESS<\/td><td>Action was successfully completed in Payment Platform<\/td><\/tr><tr><td>DECLINED<\/td><td>Result of unsuccessful action in Payment Platform<\/td><\/tr><tr><td>REDIRECT<\/td><td>Additional action required from requester<\/td><\/tr><tr><td>ACCEPTED<\/td><td>Action was accepted by Payment Platform, but will be completed later<\/td><\/tr><tr><td>ERROR<\/td><td>Request has errors and was not validated by Payment Platform<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Status &#8211; actual status of transaction in Payment Platform. Possible statuses are:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Status<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td>PREPARE<\/td><td>Status is undetermined, final status will be sent in callback<\/td><\/tr><tr><td>REDIRECT<\/td><td>The transaction awaits SALE<\/td><\/tr><tr><td>SETTLED<\/td><td>Successful transaction<\/td><\/tr><tr><td>VOID<\/td><td>Transaction for which void was made<\/td><\/tr><tr><td>REFUND<\/td><td>Transaction for which refund was made<\/td><\/tr><tr><td>DECLINED<\/td><td>Not successful transaction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Transactions requests<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sale-request\">SALE request<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Use SALE request to create a payment in the Payment Platform.<\/p>\n\n\n\n<p>If you want to send a payment for the specific sub-account (channel), you need to use <code>channel_id<\/code> that specified in your Payment Platform account settings.<\/p>\n\n\n\n<p>This request is sent by POST in the background (e.g. through PHP CURL).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"request-parameters\">Request Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Limitations<\/strong><\/th><th><strong>Required<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>Action to perform (=SALE)<\/td><td>= SALE<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique client key (CLIENT_KEY)<\/td><td><\/td><td>+<\/td><\/tr><tr><td><code>channel_id<\/code><\/td><td>Payment channel (Sub-account)<\/td><td>String up to 16 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>brand<\/code><\/td><td>Brand through which the transaction is performed<\/td><td>String up to 36 characters(Appendix B)<\/td><td>+<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Clients system<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>order_amount<\/code><\/td><td>The amount of the transaction<\/td><td>Format depends on currency.<br>Send Integer type value for currencies with zero-exponent.<br><strong>Example:<\/strong> 1000<br>Send Float type value for currencies with exponents 2, 3, 4.<br>Format for 2-exponent currencies: XX.XX<br><strong>Example:<\/strong> 100.99<br><strong>Pay attention<\/strong> that currencies &#8216;UGX&#8217;, &#8216;JPY&#8217;, &#8216;KRW&#8217;, &#8216;CLP&#8217; must be send in the format XX.XX, with the zeros after comma.<br><strong>Example:<\/strong> 100.00<br>Format for 3-exponent currencies: XXX.XXX<br><strong>Example:<\/strong> 100.999.<br>Format for 4-exponent currencies: XXX.XXXX<br><strong>Example:<\/strong> 100.9999<\/td><td>+<\/td><\/tr><tr><td><code>order_currency<\/code><\/td><td>Currency<\/td><td>3-letter code<\/td><td>+<\/td><\/tr><tr><td><code>order_description<\/code><\/td><td>Description of the transaction (product name)<\/td><td>String up to 1024 characters<\/td><td>+<\/td><\/tr><tr><td><code>identifier<\/code><\/td><td>Extra parameter for transaction. It could be token, account information, additional descriptor etc<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>payer_first_name<\/code><\/td><td>Customer&#8217;s name<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_last_name<\/code><\/td><td>Customer&#8217;s surname<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_address<\/code><\/td><td>Customer&#8217;s address<\/td><td>String up to 255 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_house_number<\/code><\/td><td>Customer&#8217;s house or building number<\/td><td>String up to 9 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_country<\/code><\/td><td>Customer&#8217;s country<\/td><td>2-letter code<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_state<\/code><\/td><td>Customer&#8217;s state<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_city<\/code><\/td><td>Customer&#8217;s city<\/td><td>String up to 40 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_district<\/code><\/td><td>Customer&#8217;s district of city<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_zip<\/code><\/td><td>ZIP-code of the Customer<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_email<\/code><\/td><td>Customer&#8217;s email<\/td><td>String up to 256 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_phone<\/code><\/td><td>Customer&#8217;s phone<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_birth_date<\/code><\/td><td>Customer&#8217;s birthday<\/td><td>Date format is &#8220;YYYY-MM-DD&#8221;<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_ip<\/code><\/td><td>IP-address of the Customer. Both versions, IPv4 and IPv6, can be used. If you are sending IPv6, make sure the payment provider that processes the payments supports it.<\/td><td>XXX.XXX.XXX.XXX<\/td><td>+<\/td><\/tr><tr><td><code>return_url<\/code><\/td><td>URL to which Customer should be returned after operation in third-party system<\/td><td>String up to 1024 characters<\/td><td>+<\/td><\/tr><tr><td><code>parameters<\/code><\/td><td>Array of the parameters for specific brand<\/td><td>(Appendix B)<\/td><td>+<\/td><\/tr><tr><td><code>custom_data<\/code><\/td><td>Array with the custom data<br>This block duplicates the arbitrary parameters that were passed in the payment request<\/td><td>Format:<br><code>custom_data [param1]: value1<\/code><br><code>custom_data [param2]: value2<\/code><br><code>custom_data [paramN]: valueN<\/code><\/td><td>&#8211;<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Sale signature.<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"response-parameters\">Response Parameters<\/h3>\n\n\n\n<p>You will get JSON encoded string with transaction result.<\/p>\n\n\n\n<p><strong>Successful sale response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>This is a string which the owner of the credit card will see in the statement from the bank. In most cases, this is the Customers support web-site<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful sale response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Redirect transaction response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>REDIRECT<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>redirect_url<\/code><\/td><td>URL to which the Client should redirect the Customer<\/td><\/tr><tr><td><code>redirect_params<\/code><\/td><td>Array of specific parameters<\/td><\/tr><tr><td><code>redirect_method<\/code><\/td><td>The method of transferring parameters (POST or GET)<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined sale response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>This is a string which the owner of the credit card will see in the statement from the bank. In most cases, this is the Customers support web-site<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"callback-parameters\">Callback parameters<\/h3>\n\n\n\n<p><strong>Successful sale response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>This is a string which the owner of the credit card will see in the statement from the bank.In most cases, this is the Customers support web-site<\/td><\/tr><tr><td><code>exchange_rate<\/code><\/td><td>Rate used to make exchange<\/td><\/tr><tr><td><code>exchange_rate_base<\/code><\/td><td>The rate used in the double conversion to convert the original currency to the base currency<\/td><\/tr><tr><td><code>exchange_currency<\/code><\/td><td>Original currency<\/td><\/tr><tr><td><code>exchange_amount<\/code><\/td><td>Original amount<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate callback. See Appendix A, Callback signature.<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>custom_data<\/code><\/td><td>Object with the custom data.<br>This block duplicates the arbitrary parameters that were passed in the payment request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful sale response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Description of the cancellation of the transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate callback. See Appendix A, Callback signature.<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>custom_data<\/code><\/td><td>Object with the custom data.<br>This block duplicates the arbitrary parameters that were passed in the payment request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Redirect transaction response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>REDIRECT<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Client&#8217;s system<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>redirect_url<\/code><\/td><td>URL to which the Client should redirect the Customer<\/td><\/tr><tr><td><code>redirect_params<\/code><\/td><td>Array parameters<\/td><\/tr><tr><td><code>redirect_method<\/code><\/td><td>The method of transferring parameters (POST or GET)<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate callback. See Appendix A, Callback signature.<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>custom_data<\/code><\/td><td>Object with the custom data.<br>This block duplicates the arbitrary parameters that were passed in the payment request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined sale response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>SALE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>TDescriptor from the bank, the same as cardholder will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Order currency<\/td><\/tr><tr><td><code>custom_data<\/code><\/td><td>Object with the custom data.<br>This block duplicates the arbitrary parameters that were passed in the payment request<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"credit2virtual-request\">CREDIT2VIRTUAL request<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>CREDIT2VIRTUAL request is used to create CREDIT2VIRTUAL transaction in Payment Platform.<\/p>\n\n\n\n<p>This operation transfers money from merchants account to customer account.<\/p>\n\n\n\n<p>If you want to send a payout for the specific sub-account (channel), you need to use <code>channel_id<\/code> that specified in your Payment Platform account settings.<\/p>\n\n\n\n<p>This request is sent by POST in the background (e.g., through PHP CURL).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"request-parameters-1\">Request Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Values<\/strong><\/th><th><strong>Required<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><td>CREDIT2VIRTUAL<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique client key (CLIENT_KEY)<\/td><td><\/td><td>+<\/td><\/tr><tr><td><code>channel_id<\/code><\/td><td>Payment channel (Sub-account)<\/td><td>String up to 16 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>brand<\/code><\/td><td>Brand through which the transaction is performed<\/td><td>String up to 36 characters<\/td><td>+<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Clients system<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>order_amount<\/code><\/td><td>The amount of the transaction<\/td><td>Format depends on currency.<br>Send Integer type value for currencies with zero-exponent.<br><strong>Example:<\/strong> 1000<br>Send Float type value for currencies with exponents 2, 3, 4.<br>Format for 2-exponent currencies: XX.XX<br><strong>Example:<\/strong> 100.99<br><strong>Pay attention<\/strong> that currencies &#8216;UGX&#8217;, &#8216;JPY&#8217;, &#8216;KRW&#8217;, &#8216;CLP&#8217; must be send in the format XX.XX, with the zeros after comma.<br><strong>Example:<\/strong> 100.00<br>Format for 3-exponent currencies: XXX.XXX<br><strong>Example:<\/strong> 100.999.<br>Format for 4-exponent currencies: XXX.XXXX<br><strong>Example:<\/strong> 100.9999<\/td><td>+<\/td><\/tr><tr><td><code>order_currency<\/code><\/td><td>Currency<\/td><td>3-letter code<\/td><td>+<\/td><\/tr><tr><td><code>order_description<\/code><\/td><td>Description of the transaction (product name)<\/td><td>String up to 1024 characters<\/td><td>+<\/td><\/tr><tr><td><code>parameters<\/code><\/td><td>Array of the parameters for specific brand<\/td><td>(Appendix C)<\/td><td>+<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Credit2Virtual signature.<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"response-parameters-1\">Response Parameters<\/h3>\n\n\n\n<p>You will get JSON encoded string with transaction result.<\/p>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-vigv6j3 betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-vigv6j3 betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>CREDIT2VIRTUAL Response Parameter<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Response Example (Successful result)    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>{<\/p>\n<p>&#8220;action&#8221;: &#8220;CREDIT2VIRTUAL&#8221;,<\/p>\n<p>&#8220;result&#8221;: &#8220;SUCCESS&#8221;,<\/p>\n<p>&#8220;status&#8221;: &#8220;SETTLED&#8221;,<\/p>\n<p>&#8220;order_id&#8221;: &#8220;1613117050&#8221;,<\/p>\n<p>&#8220;trans_id&#8221;: &#8220;e5098d62-6d08-11eb-9da3-0242ac120013&#8221;,<\/p>\n<p>&#8220;trans_date&#8221;: &#8220;2021-02-12 08:04:15&#8221;,<\/p>\n<p>&#8220;amount&#8221;: &#8220;0.19&#8221;,<\/p>\n<p>&#8220;currency&#8221;: &#8220;USD&#8221;<\/p>\n<p>}<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Response Example (Successful result)\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>{<\\\/p>\\n<p>\\\"action\\\": \\\"CREDIT2VIRTUAL\\\",<\\\/p>\\n<p>\\\"result\\\": \\\"SUCCESS\\\",<\\\/p>\\n<p>\\\"status\\\": \\\"SETTLED\\\",<\\\/p>\\n<p>\\\"order_id\\\": \\\"1613117050\\\",<\\\/p>\\n<p>\\\"trans_id\\\": \\\"e5098d62-6d08-11eb-9da3-0242ac120013\\\",<\\\/p>\\n<p>\\\"trans_date\\\": \\\"2021-02-12 08:04:15\\\",<\\\/p>\\n<p>\\\"amount\\\": \\\"0.19\\\",<\\\/p>\\n<p>\\\"currency\\\": \\\"USD\\\"<\\\/p>\\n<p>}<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-gp7hfzs betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-gp7hfzs betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>CREDIT2VIRTUAL Unsuccessful Response<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Response Example (Unsuccessful result)    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>{<\/p>\n<p>&#8220;action&#8221;: &#8220;CREDIT2VIRTUAL&#8221;,<\/p>\n<p>&#8220;result&#8221;: &#8220;DECLINED&#8221;,<\/p>\n<p>&#8220;status&#8221;: &#8220;DECLINED&#8221;,<\/p>\n<p>&#8220;order_id&#8221;: &#8220;1613117050&#8221;,<\/p>\n<p>&#8220;trans_id&#8221;: &#8220;e5098d62-6d08-11eb-9da3-0242ac120013&#8221;,<\/p>\n<p>&#8220;trans_date&#8221;: &#8220;2021-02-12 08:04:15&#8221;,<\/p>\n<p>&#8220;decline_reason&#8221;: &#8220;Declined by procesing&#8221;,<\/p>\n<p>&#8220;amount&#8221;: &#8220;0.19&#8221;,<\/p>\n<p>&#8220;currency&#8221;: &#8220;USD&#8221;<\/p>\n<p>}<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Response Example (Unsuccessful result)\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>{<\\\/p>\\n<p>\\\"action\\\": \\\"CREDIT2VIRTUAL\\\",<\\\/p>\\n<p>\\\"result\\\": \\\"DECLINED\\\",<\\\/p>\\n<p>\\\"status\\\": \\\"DECLINED\\\",<\\\/p>\\n<p>\\\"order_id\\\": \\\"1613117050\\\",<\\\/p>\\n<p>\\\"trans_id\\\": \\\"e5098d62-6d08-11eb-9da3-0242ac120013\\\",<\\\/p>\\n<p>\\\"trans_date\\\": \\\"2021-02-12 08:04:15\\\",<\\\/p>\\n<p>\\\"decline_reason\\\": \\\"Declined by procesing\\\",<\\\/p>\\n<p>\\\"amount\\\": \\\"0.19\\\",<\\\/p>\\n<p>\\\"currency\\\": \\\"USD\\\"<\\\/p>\\n<p>}<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p><strong>Undefined response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-aii5j2s betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-aii5j2s betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>CREDIT2VIRTUAL Undefined Response<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Response Example (Undefined result)    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>{<\/p>\n<p>&#8220;action&#8221;: &#8220;CREDIT2VIRTUAL&#8221;,<\/p>\n<p>&#8220;result&#8221;: &#8220;UNDEFINED&#8221;,<\/p>\n<p>&#8220;status&#8221;: &#8220;PREPARE&#8221;,<\/p>\n<p>&#8220;order_id&#8221;: &#8220;1613117050&#8221;,<\/p>\n<p>&#8220;trans_id&#8221;: &#8220;e5098d62-6d08-11eb-9da3-0242ac120013&#8221;,<\/p>\n<p>&#8220;trans_date&#8221;: &#8220;2021-02-12 08:04:15&#8221;,<\/p>\n<p>&#8220;amount&#8221;: &#8220;0.19&#8221;,<\/p>\n<p>&#8220;currency&#8221;: &#8220;USD&#8221;<\/p>\n<p>}<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Response Example (Undefined result)\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>{<\\\/p>\\n<p>\\\"action\\\": \\\"CREDIT2VIRTUAL\\\",<\\\/p>\\n<p>\\\"result\\\": \\\"UNDEFINED\\\",<\\\/p>\\n<p>\\\"status\\\": \\\"PREPARE\\\",<\\\/p>\\n<p>\\\"order_id\\\": \\\"1613117050\\\",<\\\/p>\\n<p>\\\"trans_id\\\": \\\"e5098d62-6d08-11eb-9da3-0242ac120013\\\",<\\\/p>\\n<p>\\\"trans_date\\\": \\\"2021-02-12 08:04:15\\\",<\\\/p>\\n<p>\\\"amount\\\": \\\"0.19\\\",<\\\/p>\\n<p>\\\"currency\\\": \\\"USD\\\"<\\\/p>\\n<p>}<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"callback-parameters-1\">Callback parameters<\/h3>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate callback. See Appendix A, Credit2Virtual callback signature<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-rxvvei4 betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-rxvvei4 betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>Credit2virtual Callback Successful Result<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Response Example (Successful result)    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>action=CREDIT2VIRTUAL&amp;result=SUCCESS&amp;status=SETTLED&amp;order_id=64401210&amp;trans_id=2732359c-3b21-11ef-8a36-ca7f64825086&amp;hash=73a796d264052625286faf12245b8489&amp;trans_date=2024-07-05+22%3A51%3A46&amp;amount=0.19&amp;currency=USD<\/p>\n<p><\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Response Example (Successful result)\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>action=CREDIT2VIRTUAL&amp;result=SUCCESS&amp;status=SETTLED&amp;order_id=64401210&amp;trans_id=2732359c-3b21-11ef-8a36-ca7f64825086&amp;hash=73a796d264052625286faf12245b8489&amp;trans_date=2024-07-05+22%3A51%3A46&amp;amount=0.19&amp;currency=USD<\\\/p>\\n<p><\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Description of the cancellation of the transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate callback. See Appendix A, Credit2Virtual callback signature<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-5y5vpwe betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-5y5vpwe betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>Credit2virtual Unsuccessful Result<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Response Example (Unsuccessful result)    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>action=CREDIT2VIRTUAL&amp;result=DECLINED&amp;status=DECLINED&amp;order_id=64401210&amp;trans_id=2732359c-3b21-11ef-8a36-ca7f64825086&amp;hash=73a796d264052625286faf12245b8489&amp;trans_date=2024-07-05+22%3A51%3A46&amp;amount=0.19&amp;currency=USD&amp;decline_reason=reason<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Response Example (Unsuccessful result)\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>action=CREDIT2VIRTUAL&amp;result=DECLINED&amp;status=DECLINED&amp;order_id=64401210&amp;trans_id=2732359c-3b21-11ef-8a36-ca7f64825086&amp;hash=73a796d264052625286faf12245b8489&amp;trans_date=2024-07-05+22%3A51%3A46&amp;amount=0.19&amp;currency=USD&amp;decline_reason=reason<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p><strong>Undefined response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Date of CREDIT2CARD action<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate callback. See Appendix A, Formula 6<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-j3m2awr betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-j3m2awr betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>Credit2virtual Callback Undefined Result<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Response Example (Undefined result)    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>action=CREDIT2VIRTUAL&amp;result=UNDEFINED&amp;status=PREPARE&amp;order_id=64401210&amp;trans_id=2732359c-3b21-11ef-8a36-ca7f64825086&amp;hash=73a796d264052625286faf12245b8489&amp;trans_date=2024-07-05+22%3A51%3A46&amp;amount=0.19&amp;currency=USD<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Response Example (Undefined result)\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>action=CREDIT2VIRTUAL&amp;result=UNDEFINED&amp;status=PREPARE&amp;order_id=64401210&amp;trans_id=2732359c-3b21-11ef-8a36-ca7f64825086&amp;hash=73a796d264052625286faf12245b8489&amp;trans_date=2024-07-05+22%3A51%3A46&amp;amount=0.19&amp;currency=USD<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creditvoid-request\">CREDITVOID request<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>CREDITVOID request is used to complete REFUND transactions.<\/p>\n\n\n\n<p>REFUND transaction is used to return funds to account, previously submitted by SALE transactions.<\/p>\n\n\n\n<p>This request is sent by POST in the background (e.g. through PHP CURL).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"request-parameters-2\">Request parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Limitations<\/strong><\/th><th><strong>Required<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>Action to perform<\/td><td>= CREDITVOID<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique client key<\/td><td>CLIENT_KEY<\/td><td><\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>The amount for partial refund. Several partial refunds allowed.<\/td><td>Format depends on currency.<br>Send Integer type value for currencies with zero-exponent.<br><strong>Example:<\/strong> 1000<br>Send Float type value for currencies with exponents 2, 3, 4.<br>Format for 2-exponent currencies: XX.XX<br><strong>Example:<\/strong> 100.99<br><strong>Pay attention<\/strong> that currencies &#8216;UGX&#8217;, &#8216;JPY&#8217;, &#8216;KRW&#8217;, &#8216;CLP&#8217; must be send in the format XX.XX, with the zeros after comma.<br><strong>Example:<\/strong> 100.00<br>Format for 3-exponent currencies: XXX.XXX<br><strong>Example:<\/strong> 100.999.<br>Format for 4-exponent currencies: XXX.XXXX<br><strong>Example:<\/strong> 100.9999<\/td><td>&#8211;<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Creditvoid signature.<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"response-parameters-2\">Response parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDITVOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>ACCEPTED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"callback-parameters-2\">Callback parameters<\/h3>\n\n\n\n<p><strong>Successful refund response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDITVOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REFUND (full refund) \/ SETTLED (partial refund)<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>creditvoid_date<\/code><\/td><td>Date of the refund\/reversal<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Amount of refund<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback. See Appendix A, Creditvoid signature.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful refund response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDITVOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Description of the cancellation of the transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback. See Appendix A, Creditvoid signature.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined refund response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>CREDITVOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>creditvoid_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Amount of refund<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"void-request\">VOID request<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>The VOID request is used to cancel the operation which was performed the same financial day.<\/p>\n\n\n\n<p>The cancellation is possible for the SALE operation.<\/p>\n\n\n\n<p>The VOID request is allowed for the payments in SETTLED status only.<\/p>\n\n\n\n<p>This request is sent by POST in the background (e.g. through PHP CURL).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"request-parameters-3\">Request parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Limitations<\/strong><\/th><th><strong>Required<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>Action to perform<\/td><td>= VOID<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique client key<\/td><td>CLIENT_KEY<\/td><td>+<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Void signature.<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"response-parameters-3\">Response parameters<\/h3>\n\n\n\n<p>You will get JSON encoded string with transaction result.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"successful-void-response\">Successful void response<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"unsuccessful-void-response\">Unsuccessful void response<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"undefined-void-response\">Undefined void response<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"callback-parameters-3\">Callback parameters<\/h3>\n\n\n\n<p><strong>Successful void response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful void response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined void response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>VOID<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant&#8217;s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"debit-request\">DEBIT request<\/h2>\n\n\n\n<p>Use debit actions to create debit transactions. When conducting a debit transaction, merchants can utilize commissions for payments by configuring the appropriate settings in the admin panel.<\/p>\n\n\n\n<p>Debit transactions can be executed in two ways:<\/p>\n\n\n\n<p><strong>One-step debit<\/strong><\/p>\n\n\n\n<p>This option enables payment processing with a single request &#8211; DEBIT2VIRTUAL. If commissions are set for debits, they will be applied immediately upon payment. The commission amount can be viewed in the callback (<code>commission<\/code> parameter).<\/p>\n\n\n\n<p><strong>Two-steps debit<\/strong><\/p>\n\n\n\n<p>This option involves initiating the debit using the DEBIT2VIRTUAL_CALC request first, followed by confirming the operation through the DEBIT2VIRTUAL_COMPLETE request. In this scenario, if commissions are configured for debits, the commission amount will be returned in the response (<code>commission<\/code> parameter) after executing the DEBIT2VIRTUAL_CALC request.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual-request-parameters\">DEBIT2VIRTUAL request parameters<\/h3>\n\n\n\n<p>Use DEBIT2VIRTUAL action to create debit transaction in one step.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Values<\/strong><\/th><th><strong>Required<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>Action that you want to perform. Fixed value.<\/td><td>DEBIT2VIRTUAL<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique key (CLIENT_KEY)<\/td><td>UUID format value<\/td><td>+<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchants system<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>order_amount<\/code><\/td><td>The amount of the transaction<\/td><td>Numbers in the form XXXX.XX<\/td><td>+<\/td><\/tr><tr><td><code>order_currency<\/code><\/td><td>Currency<\/td><td>3-letter code<\/td><td>+<\/td><\/tr><tr><td><code>order_description<\/code><\/td><td>Description of the transaction (product name)<\/td><td>String up to 1024 characters<\/td><td>+<\/td><\/tr><tr><td><code>identifier<\/code><\/td><td>Extra parameter for transaction.<br>It could be token, account information, additional descriptor etc.<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>brand<\/code><\/td><td>Brand through which the transaction is performed<\/td><td>String up to 36 characters<\/td><td>+<\/td><\/tr><tr><td><code>payer_first_name<\/code><\/td><td>Customer\u2019s name<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_last_name<\/code><\/td><td>Customer\u2019s surname<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_middle_name<\/code><\/td><td>Customer\u2019s middle name<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_birth_date<\/code><\/td><td>Customer\u2019s birthday<\/td><td>format yyyy-MM-dd, e.g. 1970-02-17<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_address<\/code><\/td><td>Customer\u2019s address<\/td><td>String up to 255 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_address2<\/code><\/td><td>The adjoining road or locality (if required) of the customer\u2019s address<\/td><td>String up to 255 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_country<\/code><\/td><td>Customer\u2019s country<\/td><td>2-letter code<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_state<\/code><\/td><td>Customer\u2019s state<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_city<\/code><\/td><td>Customer\u2019s city<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_zip<\/code><\/td><td>ZIP-code of the Customer<\/td><td>String up to 10 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_email<\/code><\/td><td>Customer\u2019s email<\/td><td>String up to 256 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_phone<\/code><\/td><td>Customer\u2019s phone<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_ip<\/code><\/td><td>IP-address of the Customer<\/td><td>XXX.XXX.XXX.XXX<\/td><td>+<\/td><\/tr><tr><td><code>payer_return_url<\/code><\/td><td>Customer return URL<\/td><td>String up to 256 characters<\/td><td>+<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Debit signature<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual-response-parameters\">DEBIT2VIRTUAL response parameters<\/h3>\n\n\n\n<p>You will get JSON encoded string with transaction result. If your account supports 3D-Secure, transaction result will be sent to your Notification URL.<\/p>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEVIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>3DS \/ REDIRECT \/ SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEVIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Order currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual-callback-parameters\">DEBIT2VIRTUAL callback parameters<\/h3>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDRIECT \/ 3DS \/ SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Description of the cancellation of the transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Order currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual_calc-request-parameters\">DEBIT2VIRTUAL_CALC request parameters<\/h3>\n\n\n\n<p>Use DEBIT2VIRTUAL_CALC action to initiate DEBIT transaction and to get commission value.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><th>Values<\/th><th>Required<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>Action that you want to perform. Fixed value.<\/td><td>DEBIT2VIRTUAL_CALC<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique key (CLIENT_KEY)<\/td><td>UUID format value<\/td><td>+<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchants system<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>order_amount<\/code><\/td><td>The amount of the transaction<\/td><td>Numbers in the form XXXX.XX<\/td><td>+<\/td><\/tr><tr><td><code>order_currency<\/code><\/td><td>Currency<\/td><td>3-letter code<\/td><td>+<\/td><\/tr><tr><td><code>order_description<\/code><\/td><td>Description of the transaction (product name)<\/td><td>String up to 1024 characters<\/td><td>+<\/td><\/tr><tr><td><code>identifier<\/code><\/td><td>Extra parameter for transaction<\/td><td>It could be token, account information, additional descriptor etc.<\/td><td>+<\/td><\/tr><tr><td><code>brand<\/code><\/td><td>Brand through which the transaction is performed<\/td><td>String up to 36 characters<\/td><td>+<\/td><\/tr><tr><td><code>payer_first_name<\/code><\/td><td>Customer\u2019s name<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_last_name<\/code><\/td><td>Customer\u2019s surname<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_middle_name<\/code><\/td><td>Customer\u2019s middle name<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_birth_date<\/code><\/td><td>Customer\u2019s birthday<\/td><td>format yyyy-MM-dd,<br>e.g. 1970-02-17<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_address<\/code><\/td><td>Customer\u2019s address<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>payer_address2<\/code><\/td><td>The adjoining road or locality (if required) of the customer\u2019s address<\/td><td>String up to 255 character<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_country<\/code><\/td><td>Customer\u2019s country<\/td><td>2-letter code<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_state<\/code><\/td><td>Customer\u2019s state<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_city<\/code><\/td><td>Customer\u2019s city<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_zip<\/code><\/td><td>ZIP-code of the Customer<\/td><td>String up to 10 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_email<\/code><\/td><td>Customer\u2019s email<\/td><td>String up to 256 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_phone<\/code><\/td><td>Customer\u2019s phone<\/td><td>String up to 32 characters<\/td><td>&#8211;<\/td><\/tr><tr><td><code>payer_ip<\/code><\/td><td>IP-address of the Customer<\/td><td>XXX.XXX.XXX.XXX<\/td><td>+<\/td><\/tr><tr><td><code>payer_return_url<\/code><\/td><td>Customer return URL<\/td><td>String up to 256 characters<\/td><td>+<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Debit signature<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual_calc-response-parameters\">DEBIT2VIRTUAL_CALC response parameters<\/h3>\n\n\n\n<p>You will get JSON encoded string with transaction result.<\/p>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_CALC<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_CALC<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual_calc-callback-parameters\">DEBIT2VIRTUAL_CALC callback parameters<\/h3>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_CALC<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_CALC<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Description of the cancellation of the transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual_complete-request-parameters\">DEBIT2VIRTUAL_COMPLETE request parameters<\/h3>\n\n\n\n<p>Use DEBIT2VIRTUAL_COMPLETE action to confirm initiated debit transaction.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Values<\/strong><\/th><th><strong>Required field<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>Action that you want to perform. Fixed value.<\/td><td>DEBIT2VIRTUAL_COMPLETE<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique key (CLIENT_KEY)<\/td><td>UUID format value<\/td><td>+<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Initiated transfer transaction ID in the Payment Platform<\/td><td>UUID format value<\/td><td>+<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, Complete Debit signature<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual_complete-response-parameters\">DEBIT2VIRTUAL_COMPLETE response parameters<\/h3>\n\n\n\n<p>You will get JSON encoded string (see an example on Appendix B) with transaction result. If your account supports 3D-Secure, transaction result will be sent to your Notification URL.<\/p>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_COMPLETE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>3DS \/ REDIRECT \/ SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_COMPLETE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>The reason why the transaction was declined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL_COMPLETE<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Order currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit2virtual_complete-callback-parameters\">DEBIT2VIRTUAL_COMPLETE callback parameters<\/h3>\n\n\n\n<p><strong>Successful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>3DS \/ REDIRECT \/ SETTLED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Unsuccessful response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>DECLINED<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Description of the cancellation of the transaction<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Undefined response<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parameter<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>DEBIT2VIRTUAL<\/td><\/tr><tr><td><code>result<\/code><\/td><td>UNDEFINED<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Transaction ID in the Merchant\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>trans_date<\/code><\/td><td>Transaction date in the Payment Platform<\/td><\/tr><tr><td><code>descriptor<\/code><\/td><td>Descriptor from the bank, the same as payer will see in the bank statement<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Order amount<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>Order currency<\/td><\/tr><tr><td><code>commission<\/code><\/td><td>Commission for transaction<\/td><\/tr><tr><td><code>total_amount<\/code><\/td><td>Total amount for transaction: total_amount = amount + commission<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature, used to validate callback, see Appendix A, Formula 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"get_trans_status-request\">GET_TRANS_STATUS request<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Gets order status from Payment Platform. This request is sent by POST in the background (e.g., through PHP CURL).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"request-parameters-4\">Request parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>Values<\/strong><\/th><th><strong>Required<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>GET_TRANS_STATUS<\/td><td>GET_TRANS_STATUS<\/td><td>+<\/td><\/tr><tr><td><code>client_key<\/code><\/td><td>Unique client key (CLIENT_KEY)<\/td><td><\/td><td>+<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><td>String up to 255 characters<\/td><td>+<\/td><\/tr><tr><td><code>hash<\/code><\/td><td>Special signature to validate your request to Payment Platform<\/td><td>See Appendix A, GET_TRANS_STATUS signature<\/td><td>+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"response-parameters-4\">Response parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td>GET_TRANS_STATUS<\/td><\/tr><tr><td><code>result<\/code><\/td><td>SUCCESS<\/td><\/tr><tr><td><code>status<\/code><\/td><td>REDIRECT \/ PREPARE \/ DECLINED \/ SETTLED \/ REFUND \/ VOID<\/td><\/tr><tr><td><code>order_id<\/code><\/td><td>Order ID in the Client\u2019s system<\/td><\/tr><tr><td><code>trans_id<\/code><\/td><td>Transaction ID in the Payment Platform<\/td><\/tr><tr><td><code>decline_reason<\/code><\/td><td>Reason of transaction decline. It shows for the transactions with the \u201cDECLINED\u201d status<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"errors\">Errors<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>In case error you get synchronous response from Payment Platform:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Parameter<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>result<\/code><\/td><td>ERROR<\/td><\/tr><tr><td><code>error_message<\/code><\/td><td>Error message<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"testing\">Testing<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>You can make test requests using data below. Please note, that all transactions will be processed using Test engine.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Customer&#8217;s email<\/strong><\/th><th><strong>Testing \/ Result<\/strong><\/th><\/tr><\/thead><tbody><tr><td><a href=\"mailto:success@gmail.com\" target=\"_blank\" rel=\"noreferrer noopener\">success@gmail.com<\/a><\/td><td>This email must be used for testing successful sale.<br>Response on successful SALE request:<br><code>{action: SALE, result: SUCCESS, status: SETTLED}<\/code><\/td><\/tr><tr><td><a href=\"mailto:fail@gmail.com\" target=\"_blank\" rel=\"noreferrer noopener\">fail@gmail.com<\/a><\/td><td>This email date must be used for testing unsuccessful sale<br>Response on unsuccessful SALE request:<br>`<code>{action: SALE, result: DECLINED, status: DECLINED}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"supported-brands\">Supported brands<\/h2>\n\n\n\n<p>Use the following brand`s names as value for <code>brand<\/code> parameter in the requests:<\/p>\n\n\n\n<p><code>applepay<\/code> (see Appendix B for Sale operation details)<br><code>googlepay<\/code> (see Appendix B for Sale operation details)<br><code>paypal<\/code><br><code>sepa<\/code><br><code>stripe-js<\/code><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"appendix-a\">Appendix A<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Hash is signature rule used either to validate your requests to payment platform or to validate callback from payment platform to your system. It must be md5 encoded string calculated by rules below:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sale-signature\">Sale signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>_md5(strtoupper(strrev(identifier + order_id + order_amount + order_currency + PASSWORD)));_<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"creditvoid-signature\">Creditvoid signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>_md5(strtoupper(strrev(trans_id + PASSWORD)));_<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"void-signature\">Void signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$hash = md5(strtoupper(strrev($trans_id)) . $ PASSWORD);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"credit2virtual-signature\">Credit2Virtual signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$hash = md5(strtoupper(strrev($order_id . $order_amount . $order_currency)) . $PASSWORD);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"debit-signature\">Debit signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>_md5(strtoupper(strrev(identifier + order_id + order_amount + order_currency + PASSWORD)));_<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"complete-debit-signature\">Complete Debit signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$hash = md5(strtoupper(strrev($trans_id)) . $ PASSWORD);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get_trans_status-signature\">GET_TRANS_STATUS signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$hash = md5(strtoupper(strrev($trans_id)) . $ PASSWORD);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"callback-signature\">Callback signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>array_walk_recursive($params, static function (&amp;$value) {<br>    $value = strrev($value);<br>});<br>$params&#91;'hash'] = md5(strtoupper(convert($params) . PASSWORD));<br>function convert($params)<br>{<br>    foreach ($params as &amp;$value) {<br>        if (is_array($value)) {<br>            $value = $this-&gt;convert($value);<br>        }<br>    }<br>    ksort($params);<br>    return implode($params);<br>}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sale-callback-signature\">Sale callback signature<\/h3>\n\n\n\n<p>Hash calculation for notification in S2S VPG based on the next formula:<br>\u2022 output array has to be sorted alphabetically;<br>\u2022 joint all values;<br>\u2022 applying uppercase;<\/p>\n\n\n\n<p>For example, for callback like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>result=SUCCESS<br>amount=9.22<br>transactions=&#91;ctrans1 = 123, atrans2 =32, itrans2 =325]<\/code><\/pre>\n\n\n\n<p>formula will be looking like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hash = reverse(action) + reverse(amount) + reverse(result) + reverse(transactions.atrans2) + reverse(transactions.ctrans1) + reverse(transactions.itrans2) + PASSWORD<\/code><\/pre>\n\n\n\n<p>and string_result:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>string_result = ELASSSECCUS22.923321523PASSWORD<\/code><\/pre>\n\n\n\n<p>and hash:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hash = md5(string_result)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"credit2virtual-callback-signature\">Credit2Virtual callback signature<\/h3>\n\n\n\n<p>Hash is calculated by the formula:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$hash = md5(strtoupper(strrev($trans_id . $order_id . $status)) . $ PASSWORD);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"appendix-b\">Appendix B<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>You have to add to your SALE request specific list of parameters which is determined by the value for the <code>brand<\/code> parameter.<\/p>\n\n\n\n<p>You should get additional information from account manager.<\/p>\n\n\n\n<p>To simulate success scenario use <code>identifier<\/code> parameter value <a href=\"mailto:success@gmail.com\" target=\"_blank\" rel=\"noreferrer noopener\">success@gmail.com<\/a> and&nbsp;<a href=\"mailto:fail@gmail.com\" target=\"_blank\" rel=\"noreferrer noopener\">fail@gmail.com<\/a> for decline.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"apple-pay\">Apple Pay<\/h3>\n\n\n\n<p>To provide the payers with the possibility of Apple Pay payments you can connect to the Checkout or work directly via S2S VPG protocol.<\/p>\n\n\n\n<p>If you work via Checkout page you don\u2019t need any additional development on your side.<\/p>\n\n\n\n<p>If you work via S2S VPG protocol, you must pass you must be able to obtain Apple Pay payment token that must be passed in the SALE request.<\/p>\n\n\n\n<p>Regardless of the protocol you have to make settings in the admin panel and set the following configurations:<\/p>\n\n\n\n<p>\u2022 Merchant Identifier, Country and Shop Name \u2013 according to the merchant\u2019s data from <a href=\"https:\/\/idmsa.apple.com\/IDMSWebAuth\/signin?appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&amp;path=%2Faccount%2Fresources%2Fidentifiers%2Flist%2Fmerchant&amp;rv=1\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Apple Pay Developper account<\/ins><\/a><br>\u2022 Certificate and Private Key \u2013 generated Apple Pay certificate and private key<br>\u2022 Merchant Capabilities and Supported Networks \u2013 configurations for Apple Pay payments<br>\u2022 Processing Private Key \u2013 private key that uses for payment token decryption (requires if payment provider supports).<\/p>\n\n\n\n<p>\u26a0\ufe0f Pay attention<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Before using Apple Pay via S2S VPG protocol, you should review next section carefully. There is a description on how you can obtain Apple Pay payment token (it refers to the official <a href=\"https:\/\/developer.apple.com\/documentation\/apple_pay_on_the_web\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Apple Pay documentation<\/ins><\/a>)<\/em><\/p>\n<\/blockquote>\n\n\n\n<ol>\n<li>Each payment must be checked for <a href=\"https:\/\/developer.apple.com\/documentation\/apple_pay_on_the_web\/apple_pay_js_api\/checking_for_apple_pay_availability\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Apple Pay accessibility<\/ins><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.apple.com\/documentation\/apple_pay_on_the_web\/displaying_apple_pay_buttons_using_css\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Show Apple Pay button<\/ins><\/a> to your payers<\/li>\n\n\n\n<li><a href=\"https:\/\/developer.apple.com\/documentation\/apple_pay_on_the_web\/apple_pay_js_api\/requesting_an_apple_pay_payment_session\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Validate the merchant<\/ins><\/a> identity<\/li>\n\n\n\n<li>Provide a payment request and <a href=\"https:\/\/developer.apple.com\/documentation\/apple_pay_on_the_web\/apple_pay_js_api\/creating_an_apple_pay_session\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>create a session<\/ins><\/a><\/li>\n\n\n\n<li>Receive Apple Pay payment token (paymentData object)<\/li>\n<\/ol>\n\n\n\n<p>After you implement Apple Pay payment tokens generation on your site, you need to pass for the SALE request:<\/p>\n\n\n\n<p>\u2022 <code>brand<\/code> = applepay<br>\u2022 <code>parameters[paymentToken]<\/code> &#8211; Apple Pay payment token<\/p>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-fzrzimm betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-fzrzimm betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>Apple Pay &#8211; Request<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Request example    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>curl \u2013d &#8220;action=SALE&amp;client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&amp;brand=applepay&amp;order_id=ORDER12345&amp;order_amount=100<\/p>\n<p>&amp;order_currency=USD&amp;order_description=Product&amp;payer_ip=127.0.0.0&amp;return_url=https\/\/:apple.com&amp;identifier=0987654321<\/p>\n<p>&amp;parameters[paymentToken]= {&#8220;paymentData&#8221;:{&#8220;data&#8221;:&#8221;sSnxW26Va2jj0+QqIrK6zyBve6z3L5j6mNk3iaVcfUwmz76\/bu8008BfkRRp7wZvsUtmrMbaHv0MCNCTW70QLAvLCw61kNidMNEzu2r4rGOXUGJQMMvgPgjXuRafWA8628HcOrrrvAtoljlaAbm\/8ucZVNhDdOFRgfCENqI13GVXhit2sNsN9MsgMsN4odCl7qX837RfJoXgCv7OC00L9ciqpqlMV0pc7jXb2XWN47DCyyRwja5OGMMHuD+heQ8OwCDq5g1mDBww6Neeubl6zpksdNafBjhtEl4nDJ1nPH6IJET4uPgcbgii9rkaEIHXbKVILB0AjUbX4X8Adk91jG7scRAYmB92H75\/6uRvREFvhqvIAlc8C4F5b3ObiB1MpwZt7DwcZIpWz3QJ2WSUGwmc+Qiv4pRV8d5Xw2sSGiEG&#8221;,&#8221;signature&#8221;:&#8221;MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgEwgAYJKoZIhvcNAQcBAACggDCCA+MwggOIoAMCAQICCEwwQUlRnVQ2MAoGCCqGSM49BAMCMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xOTA1MTgwMTMyNTdaFw0yNDA1MTYwMTMyNTdaMF8xJTAjBgNVBAMMHGVjYy1zbXAtYnJva2VyLXNpZ25fVUM0LVBST0QxFDASBgNVBAsMC2lPUyBTeXN0ZW1zMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMIVd+3r1seyIY9o3XCQoSGNx7C9bywoPYRgldlK9KVBG4NCDtgR80B+gzMfHFTD9+syINa61dTv9JKJiT58DxOjggIRMIICDTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFCPyScRPk+TvJ+bE9ihsP6K7\/S5LMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMB0GA1UdDgQWBBSUV9tv1XSBhomJdi9+V4UH55tYJDAOBgNVHQ8BAf8EBAMCB4AwDwYJKoZIhvdjZAYdBAIFADAKBggqhkjOPQQDAgNJADBGAiEAvglXH+ceHnNbVeWvrLTHL+tEXzAYUiLHJRACth69b1UCIQDRizUKXdbdbrF0YDWxHrLOh8+j5q9svYOAiQ3ILN2qYzCCAu4wggJ1oAMCAQICCEltL786mNqXMAoGCCqGSM49BAMCMGcxGzAZBgNVBAMMEkFwcGxlIFJvb3QgQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDUwNjIzNDYzMFoXDTI5MDUwNjIzNDYzMFowejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8BcRhBnXZIXVGl4lgQd26ICi7957rk3gjfxLk+EzVtVmWzWuItCXdg0iTnu6CP12F86Iy3a7ZnC+yOgphP9URaOB9zCB9DBGBggrBgEFBQcBAQQ6MDgwNgYIKwYBBQUHMAGGKmh0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDQtYXBwbGVyb290Y2FnMzAdBgNVHQ4EFgQUI\/JJxE+T5O8n5sT2KGw\/orv9LkswDwYDVR0TAQH\/BAUwAwEB\/zAfBgNVHSMEGDAWgBS7sN6hWDOImqSKmd6+veuv2sskqzA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLmFwcGxlLmNvbS9hcHBsZXJvb3RjYWczLmNybDAOBgNVHQ8BAf8EBAMCAQYwEAYKKoZIhvdjZAYCDgQCBQAwCgYIKoZIzj0EAwIDZwAwZAIwOs9yg1EWmbGG+zXDVspiv\/QX7dkPdU2ijr7xnIFeQreJ+Jj3m1mfmNVBDY+d6cL+AjAyLdVEIbCjBXdsXfM4O5Bn\/Rd8LCFtlk\/GcmmCEm9U+Hp9G5nLmwmJIWEGmQ8Jkh0AADGCAYcwggGDAgEBMIGGMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUwIITDBBSVGdVDYwCwYJYIZIAWUDBAIBoIGTMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MDExNzE4MTkzM1owKAYJKoZIhvcNAQk0MRswGTALBglghkgBZQMEAgGhCgYIKoZIzj0EAwIwLwYJKoZIhvcNAQkEMSIEIIQ9tom6W3WBqvRdnqAgXd7UW2Qg8ls2rvUEAmfYApD6MAoGCCqGSM49BAMCBEYwRAIgV0aosrF2PwHNfZGkiETl7IXJhCvC+lAq2Nw0qD6aNtYCIF7vK1mGv3qZXi38i4iyfLvMd5TwHID3T2EyN1H7EP7gAAAAAAAA&#8221;,&#8221;header&#8221;:{&#8220;publicKeyHash&#8221;:&#8221;nNc4Fl8dRqE+1J\/ibwLTPoXuzYtF3ZJlu7D5CUBZc5w=&#8221;,&#8221;ephemeralPublicKey&#8221;:&#8221;MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6ah1mcW4JkG9jdptrUmprzlOjvF3iK7JOt3wom28HS1MLwrWIKNY7R3Mmp\/tJqMeInAwZZWgXCXXmnujA3Bcig==&#8221;,&#8221;transactionId&#8221;:&#8221;d71de566079d19b44545fa7aa3be682f916f995f5de585021fa9af8cb115a461&#8243;},&#8221;version&#8221;:&#8221;EC_v1&#8243;},&#8221;paymentMethod&#8221;:{&#8220;displayName&#8221;:&#8221;Visa 6244&#8243;,&#8221;network&#8221;:&#8221;Visa&#8221;,&#8221;type&#8221;:&#8221;credit&#8221;},&#8221;transactionIdentifier&#8221;:&#8221;d71de566079d19b44545fa7aa3be682f916f995f5de585021fa9af8cb115a461&#8243;}&#8221;,&#8221;transactionId&#8221;:&#8221;5145cb84015f49a24e9add4752737b6b3124e9cf98f3ab247c4f4a8017f17286&#8243;},&#8221;version&#8221;:&#8221;EC_v1&#8243;},&#8221;paymentMethod&#8221;:{&#8220;displayName&#8221;:&#8221;Visa 0224&#8243;,&#8221;network&#8221;:&#8221;Visa&#8221;,&#8221;type&#8221;:&#8221;debit&#8221;},&#8221;transactionIdentifier&#8221;:&#8221;5145CB84015F49A24E9ADD4752737B6B3124E9CF98F3AB247C4F4A8017F17286&#8243;}<\/p>\n<p>[&amp;hash=](http:\/\/client.site.com\/return.php&amp;recurring_init=Y&amp;hash=02cdb60b5c923e06c1b1d71da94b2a39)&#8221;a1a6de416405ada72bb47a49176471dc&#8221;[ https:\/\/test.apiurl.com](https:\/\/test.apiurl.com\/) -k<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Request example\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>curl \\u2013d \\\"action=SALE&amp;client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&amp;brand=applepay&amp;order_id=ORDER12345&amp;order_amount=100<\\\/p>\\n<p>&amp;order_currency=USD&amp;order_description=Product&amp;payer_ip=127.0.0.0&amp;return_url=https\\\/\\\/:apple.com&amp;identifier=0987654321<\\\/p>\\n<p>&amp;parameters[paymentToken]= {\\\"paymentData\\\":{\\\"data\\\":\\\"sSnxW26Va2jj0+QqIrK6zyBve6z3L5j6mNk3iaVcfUwmz76\\\/bu8008BfkRRp7wZvsUtmrMbaHv0MCNCTW70QLAvLCw61kNidMNEzu2r4rGOXUGJQMMvgPgjXuRafWA8628HcOrrrvAtoljlaAbm\\\/8ucZVNhDdOFRgfCENqI13GVXhit2sNsN9MsgMsN4odCl7qX837RfJoXgCv7OC00L9ciqpqlMV0pc7jXb2XWN47DCyyRwja5OGMMHuD+heQ8OwCDq5g1mDBww6Neeubl6zpksdNafBjhtEl4nDJ1nPH6IJET4uPgcbgii9rkaEIHXbKVILB0AjUbX4X8Adk91jG7scRAYmB92H75\\\/6uRvREFvhqvIAlc8C4F5b3ObiB1MpwZt7DwcZIpWz3QJ2WSUGwmc+Qiv4pRV8d5Xw2sSGiEG\\\",\\\"signature\\\":\\\"MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgEwgAYJKoZIhvcNAQcBAACggDCCA+MwggOIoAMCAQICCEwwQUlRnVQ2MAoGCCqGSM49BAMCMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xOTA1MTgwMTMyNTdaFw0yNDA1MTYwMTMyNTdaMF8xJTAjBgNVBAMMHGVjYy1zbXAtYnJva2VyLXNpZ25fVUM0LVBST0QxFDASBgNVBAsMC2lPUyBTeXN0ZW1zMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMIVd+3r1seyIY9o3XCQoSGNx7C9bywoPYRgldlK9KVBG4NCDtgR80B+gzMfHFTD9+syINa61dTv9JKJiT58DxOjggIRMIICDTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFCPyScRPk+TvJ+bE9ihsP6K7\\\/S5LMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB\\\/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMB0GA1UdDgQWBBSUV9tv1XSBhomJdi9+V4UH55tYJDAOBgNVHQ8BAf8EBAMCB4AwDwYJKoZIhvdjZAYdBAIFADAKBggqhkjOPQQDAgNJADBGAiEAvglXH+ceHnNbVeWvrLTHL+tEXzAYUiLHJRACth69b1UCIQDRizUKXdbdbrF0YDWxHrLOh8+j5q9svYOAiQ3ILN2qYzCCAu4wggJ1oAMCAQICCEltL786mNqXMAoGCCqGSM49BAMCMGcxGzAZBgNVBAMMEkFwcGxlIFJvb3QgQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDUwNjIzNDYzMFoXDTI5MDUwNjIzNDYzMFowejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8BcRhBnXZIXVGl4lgQd26ICi7957rk3gjfxLk+EzVtVmWzWuItCXdg0iTnu6CP12F86Iy3a7ZnC+yOgphP9URaOB9zCB9DBGBggrBgEFBQcBAQQ6MDgwNgYIKwYBBQUHMAGGKmh0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDQtYXBwbGVyb290Y2FnMzAdBgNVHQ4EFgQUI\\\/JJxE+T5O8n5sT2KGw\\\/orv9LkswDwYDVR0TAQH\\\/BAUwAwEB\\\/zAfBgNVHSMEGDAWgBS7sN6hWDOImqSKmd6+veuv2sskqzA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLmFwcGxlLmNvbS9hcHBsZXJvb3RjYWczLmNybDAOBgNVHQ8BAf8EBAMCAQYwEAYKKoZIhvdjZAYCDgQCBQAwCgYIKoZIzj0EAwIDZwAwZAIwOs9yg1EWmbGG+zXDVspiv\\\/QX7dkPdU2ijr7xnIFeQreJ+Jj3m1mfmNVBDY+d6cL+AjAyLdVEIbCjBXdsXfM4O5Bn\\\/Rd8LCFtlk\\\/GcmmCEm9U+Hp9G5nLmwmJIWEGmQ8Jkh0AADGCAYcwggGDAgEBMIGGMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUwIITDBBSVGdVDYwCwYJYIZIAWUDBAIBoIGTMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MDExNzE4MTkzM1owKAYJKoZIhvcNAQk0MRswGTALBglghkgBZQMEAgGhCgYIKoZIzj0EAwIwLwYJKoZIhvcNAQkEMSIEIIQ9tom6W3WBqvRdnqAgXd7UW2Qg8ls2rvUEAmfYApD6MAoGCCqGSM49BAMCBEYwRAIgV0aosrF2PwHNfZGkiETl7IXJhCvC+lAq2Nw0qD6aNtYCIF7vK1mGv3qZXi38i4iyfLvMd5TwHID3T2EyN1H7EP7gAAAAAAAA\\\",\\\"header\\\":{\\\"publicKeyHash\\\":\\\"nNc4Fl8dRqE+1J\\\/ibwLTPoXuzYtF3ZJlu7D5CUBZc5w=\\\",\\\"ephemeralPublicKey\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6ah1mcW4JkG9jdptrUmprzlOjvF3iK7JOt3wom28HS1MLwrWIKNY7R3Mmp\\\/tJqMeInAwZZWgXCXXmnujA3Bcig==\\\",\\\"transactionId\\\":\\\"d71de566079d19b44545fa7aa3be682f916f995f5de585021fa9af8cb115a461\\\"},\\\"version\\\":\\\"EC_v1\\\"},\\\"paymentMethod\\\":{\\\"displayName\\\":\\\"Visa 6244\\\",\\\"network\\\":\\\"Visa\\\",\\\"type\\\":\\\"credit\\\"},\\\"transactionIdentifier\\\":\\\"d71de566079d19b44545fa7aa3be682f916f995f5de585021fa9af8cb115a461\\\"}\\\",\\\"transactionId\\\":\\\"5145cb84015f49a24e9add4752737b6b3124e9cf98f3ab247c4f4a8017f17286\\\"},\\\"version\\\":\\\"EC_v1\\\"},\\\"paymentMethod\\\":{\\\"displayName\\\":\\\"Visa 0224\\\",\\\"network\\\":\\\"Visa\\\",\\\"type\\\":\\\"debit\\\"},\\\"transactionIdentifier\\\":\\\"5145CB84015F49A24E9ADD4752737B6B3124E9CF98F3AB247C4F4A8017F17286\\\"}<\\\/p>\\n<p>[&amp;hash=](http:\\\/\\\/client.site.com\\\/return.php&amp;recurring_init=Y&amp;hash=02cdb60b5c923e06c1b1d71da94b2a39)\\\"a1a6de416405ada72bb47a49176471dc\\\"[ https:\\\/\\\/test.apiurl.com](https:\\\/\\\/test.apiurl.com\\\/) -k<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p>We also recommend checking out the demo provided by Apple for Apple Pay: <a href=\"https:\/\/applepaydemo.apple.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/applepaydemo.apple.com\/<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"google-pay\">Google Pay<\/h3>\n\n\n\n<p>To provide the payers with the possibility of Google Pay\u2122 payment you can connect to the Checkout or work directly via S2S VPG protocol. Before using <code>googlepay<\/code> payment method, you should review this section carefully to meet all the Google Pay\u2122 requirements:<\/p>\n\n\n\n<ol>\n<li>Overview the documentation on Google Pay Integration first:<br>\u2022 for sites &#8211; <a href=\"https:\/\/developers.google.com\/pay\/api\/web\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay Web developer documentation<\/ins><\/a><br>\u2022 for Android app &#8211; <a href=\"https:\/\/developers.google.com\/pay\/api\/android\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay Android developer documentation<\/ins><\/a><\/li>\n\n\n\n<li>Make sure you complete all the items on the integration checklist:<br>\u2022 for sites &#8211;&nbsp;<a href=\"https:\/\/developers.google.com\/pay\/api\/web\/guides\/test-and-deploy\/integration-checklist\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay Web integration checklist<\/ins><\/a><br>\u2022 for Android app &#8211;&nbsp;<a href=\"https:\/\/developers.google.com\/pay\/api\/android\/guides\/test-and-deploy\/integration-checklist\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay Android integration checklist<\/ins><\/a><\/li>\n\n\n\n<li>To brand your site with Google Pay elements, you must meet the requirements:<br>\u2022 for sites &#8211; <a href=\"https:\/\/developers.google.com\/pay\/api\/web\/guides\/brand-guidelines\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay Web Brand Guidelines<\/ins><\/a><br>\u2022 for Android app &#8211; <a href=\"https:\/\/developers.google.com\/pay\/api\/android\/guides\/brand-guidelines\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay Android brand guidelines<\/ins><\/a><\/li>\n\n\n\n<li>The merchants must adhere to the Google Pay APIs&nbsp;<a href=\"https:\/\/payments.developers.google.com\/terms\/aup\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Acceptable Use Policy<\/ins><\/a>&nbsp;and accept the terms that the <a href=\"https:\/\/payments.developers.google.com\/terms\/sellertos\" target=\"_blank\" rel=\"noreferrer noopener\"><ins>Google Pay API Terms of Service<\/ins><\/a> defines.<\/li>\n<\/ol>\n\n\n\n<p>To work with Google Pay\u2122 payments through gateway, you need to make settings in the admin panel. You can set the following configurations:<br>\u2022 choose the environment: <code>TEST<\/code> or <code>PRODUCTION<\/code><br>\u2022 specify &#8220;Allowed Auth Method&#8221; &#8211; <code>PAN_ONLY<\/code> or <code>CRYPTOGRAM_3DS<\/code><br>\u2022 determine &#8220;Supported Networks&#8221; &#8211; MASTERCARD, VISA, AMEX, DISCOVER, JCB<br>These configuration will be applied and used when platform interacts with Google Pay.<br>If you are using <strong>Checkout integration<\/strong> to work with <code>googlepay<\/code> payment method, it requires no additional code implementation.<\/p>\n\n\n\n<p>If you are using <strong>S2S VPG integration<\/strong> to work with <code>googlepay<\/code> payment method, you need to pass the additional parameters in the SALE request:<br>\u2022 <code>brand<\/code> = googlepay<br>\u2022 <code>parameters[googlepay_token]<\/code> &#8211; Google Pay payment token.<br>To obtain Google Pay payment token you should get the PaymentData according to the Google Pay API Integration documentation (see the links above).<br>Pass the following parameters to receive PaymentData:<br>\u2022 <code>allowPaymentMethods<\/code>: CARD<br>\u2022 <code>tokenizationSpecification<\/code> = { &#8220;type&#8221;: &#8220;PAYMENT_GATEWAY&#8221;}<br>\u2022 <code>allowedCardNetworks<\/code> = [&#8216;MASTERCARD&#8217;, &#8216;VISA&#8217;, &#8216;AMEX&#8217;, &#8216;DISCOVER&#8217;, &#8216;JCB&#8217;];<br>\u2022 <code>allowedCardAuthMethods<\/code> = [&#8216;PAN_ONLY&#8217;, &#8216;CRYPTOGRAM_3DS&#8217;];<br>\u2022 <code>gateway<\/code> = value provided by your support manager<br>\u2022 <code>gatewayMerchantId<\/code> = CLIENT_KEY (API key)<\/p>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-pmo45y7 betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-pmo45y7 betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>Google Example of data<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Example of data to get PaymentData    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>{<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0&#8220;apiVersionMinor&#8221;: 0,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0&#8220;apiVersion&#8221;: 2,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0&#8220;paymentMethodData&#8221;: {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;description&#8221;: &#8220;Mastercard \u2022\u2022\u2022\u2022 5179&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;tokenizationData&#8221;: {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;type&#8221;: &#8220;PAYMENT_GATEWAY&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;token&#8221;: {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;signature&#8221;: &#8220;MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje\/\/eLrXVc+n6LOlc4PqxWOUcqwrmki\/CNA1ur&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;intermediateSigningKey&#8221;: {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;signedKey&#8221;: &#8220;{&#8220;keyValue&#8221;:&#8221;MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K\/+NEGIWbX8zbk6A\\u003d\\u003d&#8221;,&#8221;keyExpiration&#8221;:&#8221;1571208568000&#8243;}&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;signatures&#8221;: [<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;MEUCIQCR6vIEiyHB8qmlho4\/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI\/vvg1GqXTP3bTBjO49r5mI=&#8221;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;protocolVersion&#8221;: &#8220;ECv2&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;signedMessage&#8221;: {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;encryptedMessage&#8221;: &#8220;k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB\/p31ZyUleN5nihzjOZif\/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0Sspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY\/mII4nTEp7xaKu41hK\/kFE15zVyqgPJXP9bPxzMVk\/ozEZSfhSzVTS+9stjkUkT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKdNuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZyVKCwfpY9u2XyCjKdp7Iu003d&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;ephemeralPublicKey&#8221;: &#8220;BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGnEwu003d&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;tag&#8221;: &#8220;TqhZXY53Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrAu003d&#8221;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;type&#8221;: &#8220;CARD&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;info&#8221;: {<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;cardNetwork&#8221;: &#8220;MASTERCARD&#8221;,<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;cardDetails&#8221;: &#8220;5179&#8221;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0}<\/p>\n<p>}<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Example of data to get PaymentData\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>{<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\\"apiVersionMinor\\\": 0,<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\\"apiVersion\\\": 2,<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\\"paymentMethodData\\\": {<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"description\\\": \\\"Mastercard \\u2022\\u2022\\u2022\\u2022 5179\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"tokenizationData\\\": {<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"type\\\": \\\"PAYMENT_GATEWAY\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"token\\\": {<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"signature\\\": \\\"MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje\\\/\\\/eLrXVc+n6LOlc4PqxWOUcqwrmki\\\/CNA1ur\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"intermediateSigningKey\\\": {<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"signedKey\\\": \\\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K\\\/+NEGIWbX8zbk6A\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1571208568000\\\"}\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"signatures\\\": [<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"MEUCIQCR6vIEiyHB8qmlho4\\\/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI\\\/vvg1GqXTP3bTBjO49r5mI=\\\"<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0]<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0},<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"protocolVersion\\\": \\\"ECv2\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"signedMessage\\\": {<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"encryptedMessage\\\": \\\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB\\\/p31ZyUleN5nihzjOZif\\\/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0Sspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY\\\/mII4nTEp7xaKu41hK\\\/kFE15zVyqgPJXP9bPxzMVk\\\/ozEZSfhSzVTS+9stjkUkT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKdNuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZyVKCwfpY9u2XyCjKdp7Iu003d\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"ephemeralPublicKey\\\": \\\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGnEwu003d\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"tag\\\": \\\"TqhZXY53Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrAu003d\\\"<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0}<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0}<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0},<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"type\\\": \\\"CARD\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"info\\\": {<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"cardNetwork\\\": \\\"MASTERCARD\\\",<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\\"cardDetails\\\": \\\"5179\\\"<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0\\u00a0}<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0\\u00a0}<\\\/p>\\n<p>}<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p>As a result you receive you will be returned a dataset with <code>PaymentData.token<\/code>&nbsp;object contains data that you need add to the SALE request as <code>parameters[googlepay_token]<\/code>&nbsp;parameter.<\/p>\n\n\n<div\n    class=\"betterdocs-faq-wrapper layout-classic icon-before betterdocs-faq-layout-2 betterdocs-faq-ow1baqm betterdocs-shortcode\">\n    <h2 class=\"betterdocs-faq-layout-2 betterdocs-faq-ow1baqm betterdocs-faq-section-title\">\n            <\/h2>\n\n    <div class=\"betterdocs-faq-inner-wrapper\">\n        <div class=\"betterdocs-faq-title\">\n    <h2>Google Pay Example Request<\/h2>\n<\/div>\n<ul class=\"betterdocs-faq-list\"><li><div class=\"betterdocs-faq-group\"><div class=\"betterdocs-faq-post\">\n    <div class=\"betterdocs-faq-post-icon-group\"><svg class=\"betterdocs-faq-iconplus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M18 10h-4V6h-4v4H6v4h4v4h4v-4h4\"><\/path><\/svg><svg class=\"betterdocs-faq-iconminus\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000000\" d=\"M6 10h12v4H6z\"><\/path><\/svg><\/div>    <span class=\"betterdocs-faq-post-name\">\n        Request Example    <\/span>\n    <\/div>\n<div class=\"betterdocs-faq-main-content\">\n    <p>curl \u2013d &#8220;action=SALE&amp;client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&amp;brand=googlepay&amp;order_id=ORDER12345&amp;order_amount=100<\/p>\n<p>&amp;order_currency=USD&amp;order_description=Product&amp;payer_ip=127.0.0.0&amp;return_url=https\/\/:apple.com&amp;identifier=0987654321&amp;<\/p>\n<p>parameters[paymentToken] = {&#8220;apiVersionMinor&#8221;:0,&#8221;apiVersion&#8221;:2,&#8221;paymentMethodData&#8221;:{&#8220;description&#8221;:&#8221;Visa u2006u2022u2022u2022u2022u20065237&#8243;,&#8221;tokenizationData&#8221;:{&#8220;type&#8221;:&#8221;PAYMENT_GATEWAY&#8221;,&#8221;token&#8221;:&#8221;{&#8220;signature&#8221;:&#8221;MEUCIQCmG9CSxMYyrdHr93\/0VPjgM2tLy6t\/+kwTngBtHCguNAIgfsh6MWiaYtoEfkWJp0KpmiyWTu6f\/845UXU96ERnxT0\\u003d&#8221;,&#8221;intermediateSigningKey&#8221;:{&#8220;signedKey&#8221;:&#8221;{\\&#8221;keyValue\\&#8221;:\\&#8221;MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUDf+weSWhii31Exn8d3WHufrnsiQP4weDoRQgF8VlaBbdTxm5xlxrfseZU3IDaUGKwwpNTRhkWVo\/+arRrXf1A\\\\u003d\\\\u003d\\&#8221;,\\&#8221;keyExpiration\\&#8221;:\\&#8221;1706136902000\\&#8221;}&#8221;,&#8221;signatures&#8221;:[&#8220;MEYCIQDfIHM6RIj7HEE8y1T6oSOVbd8iDCtTFSmJidRphrOP\/wIhAPRjdHe1ulwr1gUEzxLGdA73dEoc6IbqHoSJJqtEMSYk&#8221;]},&#8221;protocolVersion&#8221;:&#8221;ECv2&#8243;,&#8221;signedMessage&#8221;:&#8221;{\\&#8221;encryptedMessage\\&#8221;:\\&#8221;gNZVNFqhgZc8WFPjCljFC4NtSWpLI9NyEEKuNnPoMtZM4yfELLf34vtfL1lWORuxup+sCQ+CPEdPFZJsFmZtox8sEsNTfDFP0sJOfGwA10+0\/2b8NeewNjbzU5VIyc+nwtn2Au3XgoLDYgDyPBJ6exuaY2yjTR3\/UpeHK5JEIgbmN+fdPCOPngIzRkGURTauIvDibQUZeNjDhzHgebcoWF5m0gs2jO1jkAaSrajDa8g6emin2aNXImt41Rk0+hk9kOi6QqZavo2wV4+Lf17o9HlNWERNVKFqhECJ57Rkp7MRlzQyFyaIhfGkynY\/KHJNc8HZ04CWyx1Dco0lARiLNIfVF2mploPf8Va8DcCC67FbLLOH0YoY3UmWGLlGY8qNmpsMsL5ULEeSUGMLCxr4mhZZ\/C4rBf7tDcz\/Auh9qkbsz7rNsa\/9l88jc5UcIMHVeTOOXjHnGR3yB4O5AFKvOob9XaDaKDJjXlUtycynCKu9Mo03C2AFGqkzBNh\/I8pCLKiqzd4ntauyKeLDvNqTaLLbZOVoqRN4Z0gtUfL7yaYqmSiAgg0N+lOiM\/qsqoKFrxiATduxl5kgxffXQAY\\\\u003d\\&#8221;,\\&#8221;ephemeralPublicKey\\&#8221;:\\&#8221;BPluTrJ3LqHzodjl0ZXjIRy2XKWWLibakj4hdf9vlnSsGR1kzdTpyFitSJ9DqyKdxmCbyAh2A7gcJf5XlcX3k9k\\\\u003d\\&#8221;,\\&#8221;tag\\&#8221;:\\&#8221;br8r3h8GF5jQwgfxAcNH\/nQXt5+ySEUuaHRmpqYqWek\\\\u003d\\&#8221;}&#8221;}&#8221;},&#8221;type&#8221;:&#8221;CARD&#8221;,&#8221;info&#8221;:{&#8220;cardNetwork&#8221;:&#8221;VISA&#8221;,&#8221;cardDetails&#8221;:&#8221;5237&#8243;}}}<\/p>\n<p>[&amp;hash=](http:\/\/client.site.com\/return.php&amp;recurring_init=Y&amp;hash=02cdb60b5c923e06c1b1d71da94b2a39)&#8221;a1a6de416405ada72bb47a49176471dc&#8221;[ https:\/\/test.apiurl.com](https:\/\/test.apiurl.com\/) -k<\/p>\n<p>\u00a0\u00a0\u00a0<\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Request Example\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>curl \\u2013d \\\"action=SALE&amp;client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&amp;brand=googlepay&amp;order_id=ORDER12345&amp;order_amount=100<\\\/p>\\n<p>&amp;order_currency=USD&amp;order_description=Product&amp;payer_ip=127.0.0.0&amp;return_url=https\\\/\\\/:apple.com&amp;identifier=0987654321&amp;<\\\/p>\\n<p>parameters[paymentToken] = {\\\"apiVersionMinor\\\":0,\\\"apiVersion\\\":2,\\\"paymentMethodData\\\":{\\\"description\\\":\\\"Visa u2006u2022u2022u2022u2022u20065237\\\",\\\"tokenizationData\\\":{\\\"type\\\":\\\"PAYMENT_GATEWAY\\\",\\\"token\\\":\\\"{\\\"signature\\\":\\\"MEUCIQCmG9CSxMYyrdHr93\\\/0VPjgM2tLy6t\\\/+kwTngBtHCguNAIgfsh6MWiaYtoEfkWJp0KpmiyWTu6f\\\/845UXU96ERnxT0\\\\u003d\\\",\\\"intermediateSigningKey\\\":{\\\"signedKey\\\":\\\"{\\\\\\\"keyValue\\\\\\\":\\\\\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUDf+weSWhii31Exn8d3WHufrnsiQP4weDoRQgF8VlaBbdTxm5xlxrfseZU3IDaUGKwwpNTRhkWVo\\\/+arRrXf1A\\\\\\\\u003d\\\\\\\\u003d\\\\\\\",\\\\\\\"keyExpiration\\\\\\\":\\\\\\\"1706136902000\\\\\\\"}\\\",\\\"signatures\\\":[\\\"MEYCIQDfIHM6RIj7HEE8y1T6oSOVbd8iDCtTFSmJidRphrOP\\\/wIhAPRjdHe1ulwr1gUEzxLGdA73dEoc6IbqHoSJJqtEMSYk\\\"]},\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"{\\\\\\\"encryptedMessage\\\\\\\":\\\\\\\"gNZVNFqhgZc8WFPjCljFC4NtSWpLI9NyEEKuNnPoMtZM4yfELLf34vtfL1lWORuxup+sCQ+CPEdPFZJsFmZtox8sEsNTfDFP0sJOfGwA10+0\\\/2b8NeewNjbzU5VIyc+nwtn2Au3XgoLDYgDyPBJ6exuaY2yjTR3\\\/UpeHK5JEIgbmN+fdPCOPngIzRkGURTauIvDibQUZeNjDhzHgebcoWF5m0gs2jO1jkAaSrajDa8g6emin2aNXImt41Rk0+hk9kOi6QqZavo2wV4+Lf17o9HlNWERNVKFqhECJ57Rkp7MRlzQyFyaIhfGkynY\\\/KHJNc8HZ04CWyx1Dco0lARiLNIfVF2mploPf8Va8DcCC67FbLLOH0YoY3UmWGLlGY8qNmpsMsL5ULEeSUGMLCxr4mhZZ\\\/C4rBf7tDcz\\\/Auh9qkbsz7rNsa\\\/9l88jc5UcIMHVeTOOXjHnGR3yB4O5AFKvOob9XaDaKDJjXlUtycynCKu9Mo03C2AFGqkzBNh\\\/I8pCLKiqzd4ntauyKeLDvNqTaLLbZOVoqRN4Z0gtUfL7yaYqmSiAgg0N+lOiM\\\/qsqoKFrxiATduxl5kgxffXQAY\\\\\\\\u003d\\\\\\\",\\\\\\\"ephemeralPublicKey\\\\\\\":\\\\\\\"BPluTrJ3LqHzodjl0ZXjIRy2XKWWLibakj4hdf9vlnSsGR1kzdTpyFitSJ9DqyKdxmCbyAh2A7gcJf5XlcX3k9k\\\\\\\\u003d\\\\\\\",\\\\\\\"tag\\\\\\\":\\\\\\\"br8r3h8GF5jQwgfxAcNH\\\/nQXt5+ySEUuaHRmpqYqWek\\\\\\\\u003d\\\\\\\"}\\\"}\\\"},\\\"type\\\":\\\"CARD\\\",\\\"info\\\":{\\\"cardNetwork\\\":\\\"VISA\\\",\\\"cardDetails\\\":\\\"5237\\\"}}}<\\\/p>\\n<p>[&amp;hash=](http:\\\/\\\/client.site.com\\\/return.php&amp;recurring_init=Y&amp;hash=02cdb60b5c923e06c1b1d71da94b2a39)\\\"a1a6de416405ada72bb47a49176471dc\\\"[ https:\\\/\\\/test.apiurl.com](https:\\\/\\\/test.apiurl.com\\\/) -k<\\\/p>\\n<p>\\u00a0\\u00a0\\u00a0<\\\/p>\\n\"}}]}<\/script>    <\/div>\n<\/div>\n\n\n\n<p>\u26a0\ufe0f <strong>Pay attention<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>in the case of PAN_ONLY, the responsibility for passing 3ds is transferred to the acquirer, through which the payment is processed<\/em><\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>S2S VPG Version: 3.3.4Released: 2024\/07\/01 Copyrighted by lddPay Introduction This document describes integration procedures and VIRTUAL PAYMENT GATEWAY protocol usage [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_category":[11],"doc_tag":[],"year_month":"2026-04","word_count":5221,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"author_nicename":"admin","author_url":"https:\/\/lddpay.com\/zh\/author\/admin\/"},"doc_category_info":[{"term_name":"S2S VPG","term_url":"https:\/\/lddpay.com\/zh\/docs-category\/s2s-vpg\/"}],"doc_tag_info":[],"author_list":[{"ID":"3","user_login":"jony","display_name":"jony","id":"3"},{"ID":"2","user_login":"Merchantlogin","display_name":"Merchantlogin","id":"2"},{"ID":"1","user_login":"w2863431","display_name":"admin","id":"1"}],"_links":{"self":[{"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/docs\/485"}],"collection":[{"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/comments?post=485"}],"version-history":[{"count":49,"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/docs\/485\/revisions"}],"predecessor-version":[{"id":747,"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/docs\/485\/revisions\/747"}],"wp:attachment":[{"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/media?parent=485"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/doc_category?post=485"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/lddpay.com\/zh\/wp-json\/wp\/v2\/doc_tag?post=485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}