Google Pay
Overview
Google Pay™ is a payment method to pay on sites and in apps using payment cards. Google Pay service allows customers to pay without having to enter the card information because it is already saved in their Google accounts. Purchases including COF purchases through this method can be initiated by using Payment Page and Gate, refunds and card verifications—by using Gate.
General information
Payment method type | digital wallet payments |
---|---|
Payment instruments | payments cards |
Countries and regions | The list is available at the link |
Payment currencies | All currencies supported by American Express, Mastercard and Visa payment systems in supported regions |
Currency conversion | On ecommpay side |
Purchases | + |
Payouts | – |
Stored credentials payments | + |
Full refunds | + |
Partial refunds | + |
Card verification | + |
Chargebacks | + |
Special considerations |
|
Obtaining access to the payment method and access fee | Refer to your ecommpay key account manager |
Interaction diagram
Payment processing by using the Google Pay payment method requires merchant's web service, oone of ecommpay interfaces, and the ecommpay payment platform, as well as the Google Pay and the issuer bank services.
Operations support
Interfaces | Amounts | Times** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | Minimum | Maximum | Basic | Threshold | |
Purchases | + | – | + | – | * | * | * | * |
Stored credentials payments | + | – | + | – | * | * | * | * |
Full refunds | – | – | + | – | * | * | * | * |
Partial refunds | – | – | + | – | * | * | * | * |
* Amount limits and payment processing times depend on issuer banks.
- The basic time is the average estimated time between the moment a payment is initiated in the payment platform to the moment the payment result is sent to the initiator. The basic time evaluation is made on the assumption of normal operation of all technical facilities and communication channels and typical customer behaviour (if any input from customer is required). Use the basic time to estimate when to react to the absence of payment result notifications or when to check payment status.
- The threshold time is the maximum possible time between the moment a payment is initiated in the payment platform to the moment the initiator receives the callback with the payment result. A payment is automatically declined, if its waiting time exceeds the threshold time. For individual setting of the threshold time limit, contact ecommpay technical support.
Processing scenarios
To be able to confirm payments using Google Pay method, a customer needs to register a payment card in Google Payapp at one of the supported devices first. Then to perform a purchase, it is required to request the tokenized card details from the Google Pay service by using Google Pay API. When processing a purchase by using Payment Page, ecommpay establish all interactions with the Google Pay service, when processing a purchase by using Gate, interaction with the Google Pay service is on the merchant web service side. To perform a refund, you need to receive a request from a customer and notify about payment result via the web service.
Figure: Purchase by using Payment Page procedure
Figure: Purchase by using Gate procedure without 3‑D Secure 2 authentication
Figure: Purchase by using Gate procedure with 3‑D Secure 2 authentication
Figure: Refund by using Gate procedure
The sections that follow provide detailed information about what you need to perform payments and how you can analyse the information on payments and operations.
Purchase by using Payment Page
General information
In the Google Pay method, to perform a purchase by using Payment Page, the merchant web service should send a request with all the required parameters and signature to the ecommpay URL and get the callback with the payment result from the payment platform. When opening Payment Page, you can have Payment Page opened with the Google Pay method selected. For more information about preselecting payment methods, see in Preselecting payment methods.
The following diagram provides the detailed picture of the payment processing procedure.
Figure: Purchase sequence by using Payment Page
- Customer initiates purchase by using the web service.
- The merchant web service sends to the specified ecommpay URL the purchase request for Payment Page opening.
- The payment platform receives the request for processing the purchase by using Payment Page.
- The payment platform performs the initial request processing that involves validation of the required parameters and signature.
- Requested Payment Page is generated into the ecommpay payment platform as specified in the project settings and the request parameters.
- Payment Page is displayed to the customer.
- The customer selects the Bank card method and clicks the Google Pay button. If the Google Pay button is displaying among other payment methods on the first page, the customer just clicks the button.
- The payment platform receives the request for opening the Google Pay app or the Google Pay payment form.
- The payment platform sends the request for opening the payment form with the customer masked card details stored in the Google account to the Google Pay service.
- The Google Pay service processes the request and generates a payment form with the list of cards available for the customer.
- The Google Pay app or form is displayed to the customer with masked card details:
- when processing a purchase on web sites by using mobile Google Chrome or in apps supporting payments with Google Pay, the Google Pay app opens
- in other cases the Google Pay form is displayed in any mobile or desktop browser.
- The customer selects the specific card and confirms the purchase.
- The Google Pay service redirects the customer to Payment Page
- The customer data is processed on the Google Pay service side.
- The Google Pay service sends the token of the encrypted card details to the payment platform.
- The payment platform sends the payment request to the card organisation service.
- The payment is processed on the card organisation side.
- The card organisation service sends the payment result notification to the payment platform.
- The payment platform sends the callback to the web service.
- The payment platform sends payment results to Payment Page.
- A page with the payment result information is displayed to the customer.
The sections that follow discuss in more details the request format and the Payment Page parameters to use in the Google Pay payment method and provide the information on the format of callbacks with payment results. For the general information on how to use the API, see Payment Page API Description.
Request format
There are several things you need to consider when opening the payment form to perform a purchase by using the Google Pay method:
- You must provide values for the basic minimum of parameters. Listed below are the parameters that are mandatory for any payment method:
- customer_id—the unique ID of the customer within your project
- project_id—the project ID obtained from ecommpay
- payment_id—payment ID unique within the project
- payment_currency—payment currency in ISO-4217 alpha-3 format
- payment_amount—payment amount in minor units
- You can choose the way of displaying the Google Pay button on Payment Page. There are several ways:
- Displaying the Google Pay button on the page for entering card details. The customer must first select the Bank cards method on the page for selection a payment method among other payment methods. This option is set by default.
- Displaying the Google Pay button on the page for selection a payment method among other payment methods. To set this option, contact ecommpay technical support.
- Displaying the Google Pay button on the page for entering card details by passing the page for the payment method selection. The customer does not need to select the Bank cards method. To set this option, pass the code
card
in theforce_payment_method
parameter. - Displaying only the Google Pay button on Payment Page. To set this option, pass the code
google_pay_host
in theforce_payment_method
parameter.
- If required, you can also add any other additional parameters Payment Page supports. For information about all parameters available, see Parameters for opening payment form.
- After you specify all the parameters you need, you must create the signature for the request. For instructions on how to sign a payment request, see Signature generation and verification.
Thus, a correct payment request in the Google Pay method must include project, customer and payment IDs, the currency and the amount of a payment in the appropriate currency, as shown in the following example:
EPayWidget.run( { project_id: 208, customer_id: '123', payment_id: '486', payment_amount: 10000, payment_currency: 'USD', signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HA...==" } )
Callback format
In the Google Pay method, the callbacks that deliver purchase results use the standard format described in Callbacks.
Note that unlike other payment methods, in the Google Pay method, the callbacks for purchase included 3‑D Secure validation contain the ECI indicator code in the operation.eci parameter. For more detailed information about ECI indicator, see Electronic Commerce Indicators.
The following is the example of a callback with an information about successful 1,000.00 USD
purchase in the 688
project by using 489537******3478
payment card without 3‑D Secure authentication.
The title of the payment method is specified as etoken-google
in the payment.method
parameter.
Figure: Example of a successful purchase without 3‑D Secure callback
{ "project_id": 688, "payment": { "id": "TEST_154356886034722221", "type": "purchase", "status": "success", "date": "2019-04-11T11:22:36+0000", "method": "etoken-google", "sum": { "amount": 100000, "currency": "USD" }, "description": "TEST_154356886034722221" }, "account": { "number": "489537******3478" }, "operation": { "id": 2000015, "type": "sale", "status": "success", "date": "2019-04-11T11:22:36+0000", "created_date": "2019-04-11T11:22:20+0000", "request_id": "2b36e68d4d9fc8839d5d65ee6273dfdebbd", "sum_initial": { "amount": 100000, "currency": "USD" }, "sum_converted": { "amount": 100000, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "d1b9-3qfl-9rns-1ql9aokzi2v8", "date": "2019-04-11T11:22:34+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "Xkf7nUDleg8wcLltroCvNOMq751VtZcgrz6Nax...==" }
The following is the example of a callback with an information about successful 1,000.00 USD
purchase in the 688
project by using 489537******3478
payment card with 3‑D Secure authentication.
Figure: Example of a successful purchase with 3‑D Secure callback
{ "project_id": 688, "payment": { "id": "TEST_154356886034722221", "type": "purchase", "status": "success", "date": "2019-04-11T11:22:36+0000", "method": "etoken-google", "sum": { "amount": 100000, "currency": "USD" }, "description": "TEST_154356886034722221" }, "account": { "number": "489537******3478" }, "operation": { "id": 2000015, "type": "sale", "status": "success", "date": "2019-04-11T11:22:36+0000", "created_date": "2019-04-11T11:22:20+0000", "request_id": "2b36e68d4d9fc8839d5d65ee6273dfdebbd", "sum_initial": { "amount": 100000, "currency": "USD" }, "sum_converted": { "amount": 100000, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "d1b9-3qfl-9rns-1ql9aokzi2v8", "date": "2019-04-11T11:22:34+0000", "auth_code": "" }, "code": "0", "message": "Success", "eci": "02" }, "signature": "Xkf7nUDleg8wcLltroCvNOMq751VtZcgrz6Nax...==" }
The following is the example of a callback for a declined purchase with 3‑D Secure 2 authentication.
Figure: Example of a declined purchase callback
{ "project_id": 688, "payment": { "id": "TEST_154356886034722222", "type": "purchase", "status": "decline", "date": "2019-04-11T11:24:51+0000", "method": "etoken-google", "sum": { "amount": 100100, "currency": "RUB" }, "description": "TEST_154356886034722222" }, "account": { "number": "489537******3478" }, "operation": { "id": 2000000383, "type": "sale", "status": "decline", "date": "2019-04-11T11:24:51+0000", "created_date": "2019-04-11T11:24:35+0000", "request_id": "0eef294c20a7d72abd0fb20f3753ee674b51fbe", "sum_initial": { "amount": 100100, "currency": "RUB" }, "sum_converted": { "amount": 100100, "currency": "RUB" }, "provider": { "id": 1381, "payment_id": "1rvp-fc2k-cnp9-h41ocauwn6fr", "date": "2019-04-11T11:24:50+0000", "auth_code": "" }, "code": "20000", "message": "General decline", "eci": "00" }, "signature": "cQbMiD0pON9eJc5ZugNK0iT5SwHc0feItZRcAB...==" }
Related topics
The following topics might be useful when implementing payments by using Payment Page:
Purchase by using Gate
General information
Before payment performing by using Gate, the merchant is required to do the following:
- Perform the necessary setup required by Google and follow the integration checklist
- Apply for the registration in Google service and receive the Google merchant ID
- Fill in the Google Pay API integration support request form and take the next steps in accordance with the communications from Google. It may be necessary to provide additional integration information to Google
Also merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms defined in the Google Pay API Terms of Service.
Purchases using this method can be initiated by the customer from a device that supports or does not support the Google Pay app. In the first case, the payment is performed without 3‑D Secure 2 authentication, in the second case—with the authentication.
When processing a purchase in the Google Pay method by using Gate without 3‑D Secure 2 (on devices and browsers that support the Google Pay app), the merchant web service is required to do the following:
- Integrate the Google Pay button following the Google Pay brand guidelines and implement the receiving of the token of customer card from Google Pay.
- Send a request to Google Pay service for payment form or app opening with the list of saved cards that are available to a customer.
- Send a request to Google Pay service for receiving the token of the card selected by a customer.
- Send a request with all the required parameters and signature to the ecommpay URL.
- Get the callback with the payment result from the payment platform.
When processing a purchase in the Google Pay method by using Gate with 3‑D Secure 2 (on devices that do not support the Google Pay app), the merchant web service is required to do the following:
- Integrate the Google Pay button following the Google Pay brand guidelines and implement the receiving of the token of customer card from Google Pay.
- Send a request to Google Pay service for payment form or app opening with the list of saved cards that are available to a customer.
- Send a request to Google Pay service for receiving the token of the card selected by a customer.
- Send a request with all the required parameters and signature to the ecommpay URL.
- Get the callback from the platform with data to redirect the customer to the authentication page.
- Redirect the customer to the authentication page to pass 3‑D Secure 2.
- Send the payment completion request with the result of authentication to the payment platform.
- Get the callback with the payment result from the payment platform.
The following diagrams provide the detailed picture of the payment processing procedures.
Figure: Purchase sequence when using Gate without 3‑D Secure 2
- Customer initiates purchase by using the web service and clicks the Google Pay button.
- The request for opening the Google Pay app or the Google Pay payment form that display masked card details stored in the customer Google account is sent to the Google Pay service.
- The Google Pay service processes the request and generates a payment form with the list of cards available for the customer.
- When processing a purchase on web sites by using mobile Google Chrome or in apps supporting payments with Google Pay, the Google Pay app opens with masked card details is displayed to the customer.
- The customer selects the specific card and confirms the purchase.
- The Google Pay service redirects the customer to the result waiting page in the merchant web service.
- The customer data is processed on the Google Pay service side.
- The Google Pay service sends the token that represents encrypted card details.
- The web service sends the request for processing the purchase through Gate by using the card token received from Google Pay to the specified ecommpay URL.
- The payment platform receives the request for processing the purchase by using Gate.
- The payment platform performs the initial request processing that includes validation of the required parameters and signature.
- The payment platform sends to the web service response with request receipt confirmation and correctness check result. For more information about the response, see Response format.
- The payment platform performs the internal payment request processing and sends it to the card organisation service.
- The payment is processed on the card organisation side.
- The card organisation service sends the payment result notification to the payment platform.
- The payment platform sends the callback to the web service.
- The customer receives the payment result from the web service.
Figure: Purchase sequence when using Gate with 3‑D Secure 2
- Customer initiates purchase by using the web service and clicks the Google Pay button.
- The request for opening the Google Pay app or the Google Pay payment form that display masked card details stored in the customer Google account is sent to the Google Pay service.
- The Google Pay service processes the request and generates a payment form with the list of cards available for the customer.
- When processing a purchase using devises that do not support payments with Google Pay the payment form of Google Pay is displayed to the customer in any mobile or desktop browser with masked card details.
- The customer selects the specific card and confirms the purchase.
- The Google Pay service redirects the customer to the result waiting page in the merchant web service.
- The customer data is processed on the Google Pay service side.
- The Google Pay service sends the token that represents encrypted card details.
- The web service sends the request for processing the purchase through Gate by using the card token received from Google Pay to the specified ecommpay URL.
- The payment platform receives the request for processing the purchase by using Gate.
- The payment platform performs the initial request processing that includes validation of the required parameters and signature. If the purchase is performed from the web browser and not from the Google Pay app, the 3‑D Secure 2 authentication is also performed.
- The payment platform sends to the web service response with request receipt confirmation and correctness check result. For more information about the response, see Response format.
- The payment platform performs the internal payment request processing and sends it to the card organisation service.
- The request is processed and the necessity of 3‑D Secure 2 authentication is checked on the card organisation side.
- The data for redirection of the customer to the authentication page is sent to the payment platform from card organisation.
- The payment platform sends a callback with customer redirection data as described in more details in Callbacks section. Further information on the formats for callbacks with the data for redirection of the customer to the authentication page is provided in the corresponding section 3‑D Secure authentication.
- Merchant web service redirects the customer to the authentication page.
- Customer is redirected to the authentication page and passes the 3‑D Secure 2 authentication.
- Card organisation performs customer authentication.
- Customer is redirected to the web service waiting page.
- The web service sends the payment completion request through Gate to the specified ecommpay URL.
- The payment platform receives the payment completion by using Gate.
- The payment platform performs the request processing that includes validation of the required parameters and signature.
- The payment platform sends to the web service response with request receipt confirmation and correctness check result.
- The payment platform performs the internal payment request processing and sends it to the card organisation service.
- The payment is processed on the card organisation side.
- The card organisation service sends the payment result notification to the payment platform.
- The payment platform sends the callback to the web service.
- The customer receives the payment result from the web service.
The sections that follow discuss in more details the request format and the Gate parameters to use in the Google Pay payment method and the information about the format of callbacks with payment results. For the general information about working with API, see the API Description section.
Request format
There are several things you must consider when using purchase requests in the Google Pay method:- You perform purchase by sending the request by using POST (HTTP) method to the URL:
- /v2/payment/googlepay/sale for one-step purchase
- /v2/payment/googlepay/auth for two-step purchase
- The following objects and parameters must be specified in any request:
- Object general—general purchase information:
- project_id—the project ID obtained from ecommpay
- payment_id—payment ID unique within the project
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
- Object customer—customer information:
- id—the unique ID of the customer within your project
- ip_address—customer IP address
- Object payment—purchase information:
- amount—purchase amount in minor units
- currency—purchase currency in ISO-4217 alpha-3 format
- Object etoken — information about token that represents card details received from the Google Pay service:
- token—token with card encrypted details
- Object general—general purchase information:
- Other mandatory parameters may be required. It depends on the tokenization type that is used in a request to the Google Pay service. For information about what type of tokenization you need to perform purchase in a project, contact ecommpay technical support.
To use
PAYMENT_GATEWAY
tokenization type, customer email is required to specify in the email parameter of the customer object.To use
DIRECT
tokenization type, the following parameters must be specified in the etoken object:- google_merchant_id—merchant ID in the Google Pay service
- google_tokenization_type—the
DIRECT
tokenization type
- If required, you can also add any other additional parameters Gate supports.
Thus, a correct payment request in the Google Pay method by using the PAYMENT_GATEWAY
tokenization type must include project, customer and payment IDs, signature, IP address and email of customer, currency and amount of the purchase, and token, as shown in the following example:
{ "general": { "project_id": 626, "payment_id": "ORDER_ID_gev_S01_0.20111200_1554473913", "signature": "xWOlMksKctAKeYADt8W6F98D/ZFgyNqOYw...==" }, "customer": { "id": "123", "email": "googlepay@google.com", "ip_address": "1.2.3.4" }, "payment": { "amount": 10000, "currency": "USD" }, "etoken": { "token": "..." // as it is received from Google Pay } }
A correct payment request in the Google Pay method by using the DIRECT
tokenization type must include project, customer and payment IDs, signature, customer IP address, currency and amount of the purchase, token, merchant ID in the Google Pay service, and tokenization type, as shown in the following example:
{ "general": { "project_id": 688, "payment_id": "ORDER_89218100_1554981739", "signature": "aRZiZZc0w5RVnuCxC7KSm50Pfwsj/8fqy2XlAJ...==" }, "customer": { "id": "123", "ip_address": "1.2.3.4" }, "payment": { "amount": 10000, "currency": "USD" }, "etoken": { "token": "...", // as it is received from Google Pay "google_merchant_id": "12345678901234567890", "google_tokenization_type": "DIRECT" } }
Payment completion request format
There are several things you must consider when using payment completion requests in the Google Pay method:- You send the requests by using HTTP method POST to /v2/payment/card/3ds_result.
- The following objects and parameters must be specified in any request:
- general—general purchase information:
- project_id—project identifier
- payment_id—purchase identifier to be confirmed
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- One of the following parameters:
- pares— the 3‑D Secure 2 authentication result you obtain from the payment platform
- cresthe 3‑D Secure 2 authentication result you obtain from the Access Control Server
- general—general purchase information:
Thus, a correct payment completion request in the Google Pay method must include project and payment IDs, a PARes message, and the signature, as shown in the following example:
Figure: Example of a payment completion request
{ "general": { "project_id": 580, "payment_id": "TEST_15427033321774", "signature": "96c+hWk1zweuGKwDRrl+Se5mDLXHChlDZrjJXZw7ew6ow3RpGYv4U...==" }, "pares": "eJzVWdfvq8iy/iujOY/WDBnbI+9ldZMMJpho4I1...Dfn76en3N+f/A1fJrSU=" }
Two-step purchase capture request format
There are several things you must consider when using capture requests in the Google Pay method:- You send purchase requests by using HTTP method POST to /v2/payment/googlepay/capture.
- The following objects and parameters must be specified in any request:
- general—general purchase information:
- project_id—project identifier
- payment_id—purchase identifier to be confirmed
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- payment—purchase information:
- amount—purchase amount in the minor currency units
- currency—purchase currency in the ISO-4217 alpha-3 format
- general—general purchase information:
- The amount and currency must match the values in the auth request.
- If required, you can also add any other additional parameters Gate supports.
Thus, a correct payment request in the Google Pay method must include project and payment IDs, currency and amount of the purchase, and the signature, as shown in the following example:
Figure: Example of a purchase capture request
{ "general": { "project_id": 580, "payment_id": "TEST_15427033321774", "signature": "96c+hWk1zweuGKwDRrl+Se5mDLXHChlDZrjJXZw7ew6ow3RpGYv4U...==" }, "payment": { "amount": 1000, "currency": "RUB" }
Two-step purchase cancellation request format
There are several things you must consider when using cancel requests in the Google Pay method:- You send purchase requests by using HTTP method POST to /v2/payment/googlepay/cancel.
- The following objects and parameters must be specified in any request:
- general—general purchase information:
- project_id—project identifier
- payment_id—purchase identifier to be cancelled
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- general—general purchase information:
- If required, you can also add any other additional parameters Gate supports.
Thus, a correct payment request in the Google Pay method must include project and payment IDs, and the signature:
Figure: Example of a purchase cancellation request
{ "general": { "project_id": 580, "payment_id": "TEST_15427033321774", "signature": "96c+hWk1zweuGKwDRrl+Se5mDLXHChlDZrjJXZw7ew6ow3RpGYv4U...==" }
Callback format
In the Google Pay method, the callbacks that deliver purchase results use the standard format described in Callbacks.
Note that unlike other payment methods, in the Google Pay method, the callbacks for purchase included 3D-Secure authentication contain the ECI indicator code in the operation.eci parameter. For more detailed information about ECI indicator, see Electronic Commerce Indicators.
The following is the example of a callback with an information about successful 1,000.00 USD
purchase in the 688
project by using 489537******3478
payment card without 3D-Secure authentication.
The title of the payment method is specified as etoken-google
in the payment.method
parameter.
Figure: Example of a successful purchase without 3D-Secure callback
{ "project_id": 688, "payment": { "id": "EPb940-4dab6", "type": "purchase", "status": "success", "date": "2019-04-11T11:22:36+0000", "method": "etoken-google", "sum": { "amount": 100000, "currency": "USD" }, "description": "Successful purchase with 3DS" }, "account": { "number": "489537******3478" }, "operation": { "id": 2000015, "type": "sale", "status": "success", "date": "2019-04-11T11:22:36+0000", "created_date": "2019-04-11T11:22:20+0000", "request_id": "2b36e68d4d9fc8839d5d65ee6273dfdb089 619bf-ea20fea0361aacb3e1c8fbbcd701b22c5957ebbd", "sum_initial": { "amount": 100000, "currency": "USD" }, "sum_converted": { "amount": 100000, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "gmftho8c-d1b9-3qfl-9rns-1ql9aokzi2v8", "date": "2019-04-11T11:22:34+0000", "auth_code": "HOSTOK" }, "code": "0", "message": "Success" }, "signature": "Xkf7nUDleg8wcLltroCvNOMq751VtZcgrz6Naxq s838RjKwkkhwc5InQKdYrgbAaRCI3MHuwdefE+JBsJEy2SQ==" }
The following is the example of a callback with an information about successful 1,000.00 USD
purchase in the 688
project by using 489537******3478
payment card with 3D-Secure authentication.
Figure: Example of a successful purchase with 3D-Secure callback
{ "project_id": 688, "payment": { "id": "EPb940-4dab6", "type": "purchase", "status": "success", "date": "2019-04-11T11:22:36+0000", "method": "etoken-google", "sum": { "amount": 100000, "currency": "USD" }, "description": "Successful purchase with 3DS" }, "account": { "number": "489537******3478" }, "operation": { "id": 2000015, "type": "sale", "status": "success", "date": "2019-04-11T11:22:36+0000", "created_date": "2019-04-11T11:22:20+0000", "request_id": "2b36e68d4d9fc8839d5d65ee6273dfdb089 619bf-ea20fea0361aacb3e1c8fbbcd701b22c5957ebbd", "sum_initial": { "amount": 100000, "currency": "USD" }, "sum_converted": { "amount": 100000, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "gmftho8c-d1b9-3qfl-9rns-1ql9aokzi2v8", "date": "2019-04-11T11:22:34+0000", "auth_code": "HOSTOK" }, "code": "0", "message": "Success", "eci": "02" }, "signature": "Xkf7nUDleg8wcLltroCvNOMq751VtZcgrz6Naxq s838RjKwkkhwc5InQKdYrgbAaRCI3MHuwdefE+JBsJEy2SQ==" }
The following is the example of a callback for a declined purchase with 3‑D Secure 2 authentication.
Figure: Example of a declined purchase callback
{ "project_id": 688, "payment": { "id": "TEST_154356886034722222", "type": "purchase", "status": "decline", "date": "2019-04-11T11:24:51+0000", "method": "etoken-google", "sum": { "amount": 100100, "currency": "USD" }, "description": "TEST_154356886034722222" }, "account": { "number": "489537******3478" }, "operation": { "id": 2000000383, "type": "sale", "status": "decline", "date": "2019-04-11T11:24:51+0000", "created_date": "2019-04-11T11:24:35+0000", "request_id": "0eef294c20a7d72abd0fb20f3753ee674b51fbe", "sum_initial": { "amount": 100100, "currency": "USD" }, "sum_converted": { "amount": 100100, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "1rvp-fc2k-cnp9-h41ocauwn6fr", "date": "2019-04-11T11:24:50+0000", "auth_code": "" }, "code": "20000", "message": "General decline", "eci": "00" }, "signature": "cQbMiD0pON9eJc5ZugNK0iT5SwHc0feItZRcAB...==" }
Related topics
The following topics might be useful when implementing payments by using Gate:
COF purchases by using Payment Page
General information
The Google Pay payment method provides the ability to perform COF purchases—regular on-demand payments. For more information about COF purchases, see On-demand COF purchase.
Registration of a COF purchases is also available by using Payment Page. For registration the web service must send a request containing the required parameters and signature, as well as data for registering a COF purchase in the recurring object, to the ecommpay URL and accept a callback with the result. In the callback about registering a COF purchase, you will get its ID, which you need to use to make or cancel regular payments via Gate. For more information, see the section COF purchases by using Gate.
The sections that follow discuss in more details the request format and the Payment Page parameters to use in the Google Pay payment method and provide the information on the format of callbacks with payment results. For the general information on how to use the API, see Payment Page API Description.
Request format
There are several things you need to consider when creating requests to open a payment form for registering COF purchases by using the Google Pay method:
- You must provide values for the basic minimum of parameters. Listed below are the parameters that are mandatory for any payment method:
- customer_id—the unique ID of the customer within your project
- project_id—the project ID obtained from ecommpay
- payment_id—payment ID unique within the project
- payment_currency—payment currency in ISO-4217 alpha-3 format
- payment_amount—payment amount in minor units
- To register a COF purchase, you must pass a recurring object containing the registration attribute and the necessary information. To register regular payments, the request must contain information about the frequency, amount, and beginning and end time of regular payments. The full list of parameters that can be passed in the recurring object is shown in the COF purchase registration section.
- If you need to have payment form displayed with the Google Pay method selected, set the force_payment_method parameter to:
google_pay_host
—to open Payment Page with pre-selected payment method Google Paycard
—for the ability of payment by using either a payment card or Google Pay. In this case customer can chose the payment method on Payment Page
- If required, you can also add any other additional parameters Payment Page supports. For information about all parameters available, see Parameters for opening payment form.
- After you specify all the parameters you need, you must create the signature for the request. For instructions on how to sign a payment request, see Signature generation and verification.
Thus, a correct payment request in the Google Pay method must include project, customer and payment IDs, the currency and the amount of a payment in the appropriate currency, as shown in the following example:
EPayWidget.run( { payment_id: 'X03936', payment_amount: 100000, payment_currency: 'RUB', customer_id: '123', project_id: 208, force_payment_method: 'google_pay_host', recurring={"register":true,"type":"R","expiry_year":2025,"expiry_month":"01","period":"D","time":"10:00:00","start_date":"15-11-2020","scheduled_payment_id":"A2323"}, signature: "mcsgn6KHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySO...==" } )
Callback format
The Google Pay method uses the standard format for callbacks to deliver COF purchase registration results. For more information, see Callbacks.
The following is the example of a callback with an information about successful COF purchase registration made by a customer in the 208
project. The title of the payment method is specified as etoken-google
in the payment.method
parameter.
Figure: Example of a successful COF purchase registration callback
{ "project_id": 208, "payment": { "id": "payment", "type": "purchase", "status": "success", "date": "2018-11-20T08:44:46+0000", "method": "etoken-google", "sum": { "amount": 300, "currency": "USD" }, "description": "payment" }, "account": { "number": "489537******3478" }, "recurring": { "id": 1000030038, "currency": "USD", "valid_thru": "-0001-11-30T00:00:00+0000" }, "operation": { "id": 1000034, "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "created_date": "2018-11-20T08:44:41+0000", "request_id": "07fd7ade7cf010", "sum_initial": { "amount": 300, "currency": "USD" }, "sum_converted": { "amount": 300, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "2548950091", "date": "2020-11-20T08:44:45+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "x2tsnvLCRXZMX8Kwyr9a8+I3RipuPWUod5c89cDSQ6cRq...==" }
Related topics
The following topics might be useful when implementing payments by using Payment Page:
COF purchases by using Gate
General information
The Google Pay payment method provides the ability to perform COF purchases—regular on-demand payments. For more information about COF purchases, see On-demand COF purchase.
The sections that follow discuss in more details the requests formats and parameters to use in the Google Pay payment method and the information about the format of callbacks with payment results. The general information about working with API see in the API Description section.
COF purchase registration
To register a COF purchase by using Gate, the merchant is required to send a request for purchase with all the required parameters, signature, and the COF purchase registration parameter recurring.register: true
to the ecommpay URL and get the callback with the payment result from the payment platform. To register a regular payment the request should also contain information about the frequency, amount, start and end dates of the regular payments.
For more information about purchase processing by using Gate, see Purchase by using Gate.
In the COF purchase registration callback you receive its identifier, which you can use to perform or cancel regular payments.
Requests format
There are several things you must consider when performing COF purchases registration in the Google Pay method:
- You can perform COF purchases by sending the request by using POST (HTTP) method to the one of the URL: /v2/payment/googlepay/sale or /v2/payment/googlepay/auth
- The following objects and parameters must be specified in the request:
- Object general—general information:
- project_id—project identifier
- payment_id—unique payout identifier
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object customer—customer information:
- id—the unique ID of the customer within your project
- ip_address—customer IP address
- Object payment—payment information:
- amount—payment amount in the minor currency units
- currency—payment currency in the ISO-4217 alpha-3 format
- Object recurring—COF purchase information:
- register—payment registration as a COF purchase
- type—type of the COF purchase:
R
(for Regular payment),C
(for OneClick payment), orU
(for Autopayment), for more information, refer to Overview - scheduled_payment_id—identifier of the next COF purchase
- start_date—the start date of regular payments, in the
DD-MM-YYYY
format (must be at least one day later than the date of registration) - amount—amount of debiting
- period—regular payment performing period
- interval— regular payment performing interval
- time—regular payment performing time in the
hh:mm:ss (UTC0)
format
- Object general—general information:
- If required, you can also add any other additional parameters Gate supports.
A correct COF purchase registration request through the Google Pay method must include project, customer and payment IDs, customer IP-address, signature, currency and amount of the purchase, as well as the registration parameter and the conditions for regular payments, as shown in the following example:
Figure: COF purchase registration request example
{ "general": { "project_id": 208, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQh+wwx/OqrWdbltzO5GMSkzd0Iq6lM2...==", }, "customer": { "id": "123", "ip_address": "1.1.1.1" }, "payment": { "amount": 1000, "currency": "RUB" }, "recurring": { "register": true, "type": "R", "amount": 1000, "interval": 1, "cycle": "week", "start_date": "21-11-2018" } }
COF purchase performing
After the payment is registered, the funds are debited according to the specified regular payment conditions. You initiate COF purchase by sending a recurring
request to the payment platform.
Request format
There are several things you must consider when performing COF purchases performing in the Google Pay method:
- You can perform COF purchases by sending the request by using POST (HTTP) method to the /v2/payment/googlepay/recurring.
- The following objects and parameters must be specified in the request:
- Object general—general purchase information:
- project_id—project identifier
- payment_id—unique payout identifier
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object customer—customer information:
- id—the unique ID of the customer within your project
- ip_address—customer IP address
- Object payment—payment information:
- amount—payment amount in the minor currency units
- currency—payment currency in the ISO-4217 alpha-3 format
- Object recurring—COF purchase information:
- id—registered COF purchase identifier
- Object general—general purchase information:
- If required, you can also add any other additional parameters Gate supports.
So that a correct COF purchase request through the Google Pay method must include project, customer and payment IDs, customer IP-address, signature, currency and amount of the payment, as shown in the following example:
Figure: COF purchase performing request example
{ "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQh+wwx/OqrWdbltzO5GMSkzd0Iq6lM2v8rmWQV4sbP+4A==", }, "customer": { "id": "123", "ip_address": "87.245.207.226" }, "payment": { "amount": 1000, "currency": "USD" }, "recurring": { "id": 1234567890 } }
Cancellation of the COF purchases performing
Until the expiration date of COF purchases performing, you can cancel it. Also, to change the conditions of COF purchases, you must cancel it and send a request to register a new one.
Request format
There are several things you must consider when performing COF purchases cancellation in the Google Pay method:
- You can perform COF purchases by sending the request by using POST (HTTP) method to the /v2/payment/googlepay/recurring/cancel.
- The following objects and parameters must be specified in the request:
- Object general—general purchase information:
- project_id—project identifier
- payment_id—unique payout identifier
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object recurring—COF purchase information:
- id—registered COF purchase identifier
- Object general—general purchase information:
- If required, you can also add any other additional parameters Gate supports.
Figure: Regular payment cancellation request example
{ "general": { "project_id": 208, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQh+wwx/OqrWdbltzO5GMSkzd0Iq6lM2v8rmWQV4sbP+4A==", }, "recurring": { "id": 1234567890 } }
Callback format
The standard format for callbacks is used to deliver the results of actions with COF purchases. For more information, see Callbacks.
The following is the example of a callback with an information about COF purchase registration for a customer in the 208
project. The title of the payment method is specified as etoken-google
in the payment.method
parameter.
Figure: Example of successful COF purchase registration
{ "project_id": 208, "payment": { "id": "payment", "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "method": "etoken-google", "sum": { "amount": 300, "currency": "USD" }, "description": "payment" }, "account": { "number": "489537******3478" }, "recurring": { "id": 1000030038, "currency": "USD", "valid_thru": "-0001-11-30T00:00:00+0000" }, "operation": { "id": 1000034, "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "created_date": "2018-11-20T08:44:41+0000", "request_id": "07fd7ade7cf010", "sum_initial": { "amount": 300, "currency": "USD" }, "sum_converted": { "amount": 300, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "2548950091", "date": "2020-11-20T08:44:45+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "x2tsnvLCRXZMX8Kwyr9a8+I3RipuPWUod5c89cDSQ6cRq...==" }
The following is the example of a callback after regular payment cancellation.
Figure: Example of regular payment cancellation callback
{ "project_id": 208, "payment": { "id": "payment", "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "method": "etoken-google", "sum": { "amount": 300, "currency": "USD" }, "description": "payment" }, "account": { "number": "489537******3478" }, "recurring": { "id": 1000030038, "currency": "USD", "valid_thru": "-0001-11-30T00:00:00+0000" }, "operation": { "id": 1000034, "type": "recurring_cancel", "status": "success", "date": "2018-11-20T08:44:46+0000", "created_date": "2018-11-20T08:44:41+0000", "request_id": "07fd7ade7cf010", "sum_initial": { "amount": 300, "currency": "USD" }, "sum_converted": { "amount": 300, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "2548950091", "date": "2020-11-20T08:44:45+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "x2tsnvLCRXZMX8Kwyr9a8+I3RipuPWUod5c89cDSQ6cRq...==" }
The following is the example of a callback with an information about declined COF purchase.
Figure: Example of declined COF purchase registration
{ "project_id": 208, "payment": { "id": "payment", "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "method": "etoken-google", "sum": { "amount": 300, "currency": "USD" }, "description": "payment" }, "errors": [ { "code": "2701", "message": "Rules Failed Code", "description": "fatal: RULES_FAILED_CODE" } ], "recurring": { "id": 1000700, "currency": "USD", "valid_thru": "-0001-11-30T00:00:00+0000" }, "operation": { "id": 1000034, "type": "recurring", "status": "decline", "date": "2018-11-20T08:44:46+0000", "created_date": "2018-11-20T08:44:41+0000", "request_id": "07fd7ade7cf010", "sum_initial": { "amount": 300, "currency": "USD" }, "sum_converted": { "amount": 300, "currency": "USD" }, "provider": { "id": 1381, "payment_id": "2548950091", "date": "2020-11-20T08:44:45+0000", "auth_code": "" }, "code": "2701", "message": "Rules Failed Code" }, "signature": "x2tsnvLCRXZMX8Kwyr9a8+I3RipuPWUod5c89cDSQ6cRq...==" }
Related topics
The following topics might be useful when implementing payments through Gate:
Refund by using Gate
General information
Google Pay supports full and partial refunds processing. To perform a refund through the Google Pay method, merchant's web service sends a request with all the required parameters and signature to ecommpay URL, and receives a callback with the payment result. The full sequence of the refund process is provided below.
Figure: Refund sequence by using Gate
- A customer orders a refund on the merchant's web service side.
- Merchant's web service sends the request for the refund processing by using Gate to the appropriate ecommpay URL.
- Gate redirects the request to the ecommpay payment platform.
- The payment platform performs all the necessary checks and processes the request.
- The reply with the request processing results is sent to the merchant's web service. For more information, see Response format.
- The payment platform redirects the refund request to the card organisation service.
- The payment is processed on the card organisation side.
- The card organisation sends the result notification to the payment platform.
- The payment platform sends a callback with the payment result to the web service.
- The customer receives the refund result from the web service.
The sections that follow discuss in more details the request format and the Gate parameters to use in the Google Pay payment method and provide the information on the format of callbacks with refund results.
Request format
There are several things you must consider when using refund requests in the Google Pay method:- You perform refund by sending the request to /v2/payment/googlepay/refund by using POST (HTTP) method.
- The following objects and parameters must be specified in any request:
- Object general—general information:
- project_id—project identifier
- payment_id—unique payment identifier
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object customer—customer information:
- ip_address—customer IP address
- Object payment—refund information:
- description—comment or description
- amount—refund amount in minor units (mandatory for partial refund only)
- currency—refund currency in ISO-4217 alpha-3 format (mandatory for partial refund only)
- Object general—general information:
- If required, you can also add any other additional parameters Gate supports.
Thus, a correct partial refund request in the Google Pay method must include project and payment IDs, customer IP address, and payment description, currency and amount of the refund, as shown in the following example:
Figure: Example of a partial refund request
{ "general": { "project_id": 239, "payment_id": "refund_02", "signature": "of8k9xerKSK4XL1QFaDH3p9Mh0CIcjmOwSwKJ7KLTZYO56lCv+f1M0Sf/7eg==" }, "customer": { "ip_address": "1.2.3.4" }, "payment": { "amount": 10000, "currency": "RUB", "description": "refund_02" } }
Callback format
The Google Pay method uses the standard format for callbacks to deliver refund results. For more information, see Callbacks.
The following is the example of a callback with an information about successful 30,00 USD
refund for the customer account 537018******8236
in the 208
project.
The title of the payment method is specified as etoken-google
in the payment.method
parameter.
Figure: Example of a successful refund callback
{ "project_id": 208, "payment": { "id": "TEST_123456", "type": "purchase", "status": "refunded", "date": "2020-03-30T08:54:23+0000", "method": "etoken-google", "sum": { "amount": 0, "currency": "USD" }, "description": "payment for 30.0 USD" }, "account": { "number": "537018******8236", "type": "mastercard", "card_holder": "LEE OONG", "expiry_month": "09", "expiry_year": "2020" }, "customer": { "id": "907680850" }, "operation": { "id": 57299000036261, "type": "refund", "status": "success", "date": "2020-03-30T08:54:24+0000", "created_date": "2020-03-30T08:54:22+0000", "request_id": "122809a-c43c08a4b6ee7d73bfaaf7f", "sum_initial": { "amount": 3000, "currency": "USD" }, "sum_converted": { "amount": 3000, "currency": "USD" }, "code": "0", "message": "Success", "provider": { "id": 120, "payment_id": "353197036", "auth_code": "000000", "endpoint_id": 120, "date": "2020-03-30T08:54:23+0000" } }, "signature": "8y41YTzCAy0N/mV+tkJmB6OsGYLUYAyAIp3U/3x7jymU...==" }
The following is the example of a callback for a refund declined because the refund amount does not match the initial amount.
Figure: Example of a declined refund callback
{ "project_id": 208, "payment": { "id": "TEST_1234567", "type": "purchase", "status": "success", "date": "2020-03-27T17:41:04+0000", "method": "etoken-google", "sum": { "amount": 2000, "currency": "EUR" }, "description": "35121367" }, "account": { "number": "532196******1368", "type": "mastercard", "card_holder": "LEE OONG", "expiry_month": "09", "expiry_year": "2028" }, "customer": { "id": "LEE OONG" }, "operation": { "id": 42809000016421, "type": "refund", "status": "decline", "date": "2020-03-27T17:41:04+0000", "created_date": "2020-03-27T17:41:03+0000", "request_id": "b869d91-ff913d9c5ae5ba1bb6c3457c30e91", "sum_initial": { "amount": 1400, "currency": "EUR" }, "sum_converted": { "amount": 1400, "currency": "EUR" }, "code": "10000", "message": "General decline" }, "signature": "8ql4yC3p2RiYbNXN15+64vo2B1HhpQVr1RbsDkpyQmD6HSxMYBrBQJmcKmL...==" }
Related topics
The following topics might be useful when implementing payments through Gate:
Payment card verification
General information
To perform a payment card verification through the Google Pay method, merchant's web service sends a request with all the required parameters and signature to ecommpay URL, and receives a callback with the result. Payment card verification processing for this method is the same as standard processing sequence which is provided in the section Payment instrument verification.
Request format
There are several things you must consider when using payout requests in the method:
- You send payout requests by sending the request by using HTTP method POST to /v2/payment/googlepay/account_verification.
- The following objects and parameters must be specified in any request:
- Object general—general payout information:
- project_id—project identifier
- payment_id—unique payout identifier
- signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object customer—customer information:
- id—identifier in the project
- ip_address—IP address
- Object payment—payout information:
- amount—payout amount in the minor currency units
- currency—payout currency in the ISO-4217 alpha-3 format
- etoken—token received from the Google Pay information:
- token—token received from the Google Pay after customer identification
- Object general—general payout information:
- The payment amount must be zero.
- If required, you can also add any other additional parameters Gate supports.
Thus, a correct card verification request in the Google Pay method must include project and payment IDs, payment and customer data, and token, as shown in the following example:
Figure: Example of card verification request
{ "general": { "project_id": 238, "payment_id": "TEST_15427033321774", "signature": "96c+hWk1zweuGKwDRrl+Se5mDLXHChlDZrjJXZw7ew6ow3RpGYv4U...==" }, "customer": { "ip_address": "1.1.1.1" }, "payment": { "amount": 0, "currency": "RUB" }, "etoken": { "token": "k/cNkKsVhu5yGuRB4aFMNlwI9W36mgzBYgOeW61l/MkzFvx2P8RivIx7WWQtVWePx3Pjp3D4B5yn3SzDTxGyoo2GLojZ5Jh9wIycsuRbV00L55s9L7xDcs7ds30zUxDgo/XDGjckVmjfRuO6KlqYsDHaNd6LsAGXxWCNupL/2uwM8JolbW8AziV3l/MkgvaKldMwPu6MSq5k87lqKZPKiqf21NdO59n6PlS/Bqw6+GEJ5fcgkGZxrZzQLatk3IVlzwgVdsKBV4UH82Gx5uNW8OwsClJPZClTnCjkpVsxFxMrqOn1tZOohL5Bz7N18MGPIUAC01PgiauL+31ORBRrRxin8D7J1QLme0eTnlhbv+8IXdCyP1Ct/TwmbHaTFnCbFPy23mdTZ7NKZ95CPUIjiSP/PGnLxE6KqvGxu67g==" } }
Callback format
The Google Pay method uses the standard format for callbacks to deliver results. For more information, see Payment instrument verification.
Related topics
The following topics might be useful when implementing payments through Gate:
Testing
General information
For the Google Pay method the testing of one-step and two-step purchases by using Payment Page and Gate, as well as payment card verification by using Gate. Testing can be performed within a test project, to enable and disable the testing availability, contact ecommpay technical support via support@ecommpay.com.
When performing a test payment, take into account that you must specify the identifier of the test project in the requests, and the interfaces of the payment forms emulator of Payment Page and the 3‑D Secure 2 authentication page may differ from the production environment. At the same time to process a test payment it is necessary to use verified payment cards previously registered in the Google Pay service. This does not influence the processing of real payments by using such cards, but allows to perform full-fledged testing. In order to test purchases by using Gate it is necessary to prepare the web-service for interaction with the Google service (more information is presented in the section Purchase by using Gate).
Test payments statuses
When testing one-step and two-step purchases, the final payment status is determined by the amount specified in the request:
success
status is used with1000
amount specified.decline
status is used with2000
,5000
, or10001
amount specified.
When testing payment card verification, the final payment status is determined by the amount specified in the request:
success
status is used with0
amount specified.decline
status is used with any other amount specified.
One-step purchases by using Payment Page
To perform a test one-step purchase by using Payment Page, do the following:
- Send a correct test request for Payment Page opening to the payment platform.
- If the
card
orgoogle_pay_host
method was not specified in the request—select the method on the emulator page. - If the authentication page is displayed pass the 3‑D Secure 2 authentication.
- Accept a callback with information about the payment result.
The full information about purchase process by using Google Pay through Payment Page is provided in the section Purchase by using Payment Page.
One-step purchases by using Gate
To perform a test one-step purchase by using Gate, do the following:
- Send a correct test request for purchase to the payment platform.
- If you receive the callback with the 3‑D Secure 2 authentication redirection data:
- Perform the redirection and pass the 3‑D Secure 2 authentication.
- Send the payment completion request. It is required to use the cres parameter and specify the following value in the request:
ewogICAiYWNzUmVmZXJlbmNlTnVtYmVyIiA6ICJBQ1NFbXUyIiwKICAgImFjc1RyYW5zSUQiIDogIjAwMDAwMDAwLTAwMDUtNWE1YS04MDAwLTAxNmRiNjMzNzZlYiIsCiAgICJtZXNzYWdlVHlwZSIgOiAiQ1JlcyIsCiAgICJtZXNzYWdlVmVyc2lvbiIgOiAiMi4xLjAiLAogICAidGhyZWVEU1NlcnZlclRyYW5zSUQiIDogIjZmMmM3OGFkLTFjOWMtNTI2ZC04MDAwLTAwMDAwMDAwMTA2YiIsCiAgICJ0cmFuc1N0YXR1cyIgOiAiWSIKfQ
- Accept a callback with information about the payment result.
The full information about purchase process by using Google Pay through Gate is provided in the section Purchase by using Gate.
One-step purchases by performing authorization hold via Payment Page and capture or cancellation via Gate
To perform a test one-step purchase by performing authorization hold via Payment Page and capture or cancellation via Gate, do the following:
- Send a correct test request for Payment Page opening to the payment platform.
- If the
card
orgoogle_pay_host
method was not specified in the request—select the method on the emulator page. - If the authentication page is displayed pass the 3‑D Secure 2 authentication.
- Accept a callback with information about successful authorization hold.
- Send a capture or cancellation request.
- Accept a callback with information about the result.
The full information about purchase process by using Google Pay through Payment Page and gate is provided in the sections Purchase by using Payment Page and Purchase by using Gate.
One-step purchases by performing authorization hold and capture or cancellation via Gate
To perform a test one-step purchase by performing authorization hold and capture or cancellation via Gate, do the following:
- Send a correct test request for Payment Page opening to the payment platform.
- If you receive the callback with the 3‑D Secure 2 authentication redirection data:
- Perform the redirection and pass the 3‑D Secure 2 authentication.
- Send the payment completion request. It is required to use the cres parameter and specify the following value in the request:
ewogICAiYWNzUmVmZXJlbmNlTnVtYmVyIiA6ICJBQ1NFbXUyIiwKICAgImFjc1RyYW5zSUQiIDogIjAwMDAwMDAwLTAwMDUtNWE1YS04MDAwLTAxNmRiNjMzNzZlYiIsCiAgICJtZXNzYWdlVHlwZSIgOiAiQ1JlcyIsCiAgICJtZXNzYWdlVmVyc2lvbiIgOiAiMi4xLjAiLAogICAidGhyZWVEU1NlcnZlclRyYW5zSUQiIDogIjZmMmM3OGFkLTFjOWMtNTI2ZC04MDAwLTAwMDAwMDAwMTA2YiIsCiAgICJ0cmFuc1N0YXR1cyIgOiAiWSIKfQ
- Accept a callback with information about successful authorization hold.
- Send a capture or cancellation request.
- Accept a callback with information about the result.
The full information about purchase process by using Google Pay through Gate is provided in the section Purchase by using Gate.
Payment card verification by using Gate
To perform a test payment card verification by using Gate, send a correct test request for payment card verification to the payment platform and accept a callback with information about the verification result.
The full information about payment card verification process by using Google Pay through Gate is provided in the section Payment card verification.
Analysis of payment result
As with other payment methods ecommpay offers, when using the Google Pay method, you have several options to analyse the information about payments and operations performed by using the method—alone or in conjunction with other methods.
You can load and analyse all the necessary information in Dashboard, for instance you can use the analytic panels on the Analytics tab to this end.
Also, you can export the information for further analysis by using third party analytical tools. The following options are available:
- Dashboard allows you to download reports in CSV and XLS formats—by using the tools on the Payments tab. You can perform export as a one-time download to your local computer or have payment data regularly exported and delivered to email addresses you specify.
- Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by using the /operations/get queries.
If you have any further questions regarding payment data analysis, contact ecommpay technical support.