Introduction
Google Wallet offers a simpler and more secure alternative to access all your essentials, such as payment cards, loyalty cards, concert tickets and more using your phone. The Google Pay API provides access to physical credit, debit, or prepaid cards that have been saved to Google. It allows you to accept payments in stores, apps, or on the web.
Note: The Android App for Google Pay is now called Google Wallet. Google Wallet can be used anywhere that accepts Google Pay.
Adding a Card to Google Pay™
The customer creates a Google Wallet account and adds payment methods to the wallet.
The payment methods are stored in Google Servers. A list of payment methods is provided when the service is invoked.
Google severs return the payment payload when the payment method is used for a transaction. The payment payload is decrypted, and the specific values required for the authorization are passed to MerchantE by the merchant or Gateway provider for processing.
Making a Purchase using Google Pay™
A customer checks out on the Merchant website and uses Google Pay as payment.
Google Pay is invoked, and the available payment methods are provided. The encrypted payment payload and unencrypted details are provided to the Merchant or Gateway provider.
The encrypted payment payload and transaction details are sent to the Merchant or Gateway provider for decryption.
The payment payload with the decrypted wallet details is sent to MerchantE for transaction Processing. The transaction is executed, and the results are sent back to the Merchant or Gateway Provider.
The Merchant sends the transaction receipt to the customer.
Steps to Implement
MerchantE offers two ways to add Google Pay as a payment option.
Hosted Payment Page
When a customer checks out on your website, they are redirected to a MerchantE payment page. Google Pay can be added directly to this page by enabling the feature in the Hosted Payments Admin Page.
Payment Gateway Direct Integration
You can integrate directly with the MerchantE Payment Gateway by sending the details of the decrypted Google Pay payload. The Payment Gateway will consume the payload and process the transaction.
Google Pay Configuration: You will need to register with Google Pay and follow the instructions listed on the Integration Checklist. When ready, you will need to submit your domain for review by Google and obtain a merchantId and gateway MerchantId (if applicable) to use the production environment. Last, you will need to add a Google Pay button to your site using the instructions below.
Note: Merchants opting to act as the gateway for decryption purposes will need to obtain a gateway MerchantId.
Payment Gateway for Google Pay: Your payment gateway must be configured to send payment information to the MerchantE Payment Gateway for Processing. The decoded
Google Pay with Hosted Payments
The Setting and Configuration tab allows you to set up payment options and manage the URLs needed to make your payment page fully functional.
To use Google Pay with the Hosted Payments Page, you will just need to enable the Google Pay option in the Settings & Configuration page of the Admin Dashboard. MerchantE will handle all registrations and certificate maintenance.
Google Pay with the Payment Gateway
The initial Google Pay request should contain the following the values.
Field | Value |
---|---|
gateway | merchante |
gatewayMerchantId | Google Pay MID |
Google Pay Configuration
https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist
Initial Setup
Use HTTPS with TLS-domain validated certificate.
Use a supported browser.
Add a Payment Method to your account.
Adhere to the Google Pay API Acceptable Use Policy.
Build a Google Pay paymentsClient for the TEST environment using the Tutorial. You can view live demos and code examples on the Google Pay demos page.
Compete the Integration Checklist.
Basics - Ensure card handling procedures are properly configured.
Brand Tests - The Google Pay branding requirements are followed. Ensure the button only appears when called and matches the other elements on your page.
Functional Tests - Use the Test Card Suite to test your integration. Test the CARD payment method with PAN_ONLY and CRYPTOGRAM_3DS. Test the shipping address in various states of completion. Check that the correct final price is shown when completing the transaction.
Request Production Access in the Manage Integrations in Console button.
Set up your website for production.
Add your MerchantID and gateway MerchantId (if applicable).
Launch the website.
Google Pay Button
You can customize the settings for your Google Pay using the Customize your button page. The page allows you alter the color, type, and locale settings for the button. It will then be generated in the library of your choice to incorporate into your website.
Using the Payment Gateway with Google Pay
The initial Google Pay request should include the following values.
Field | Value |
(your gateway merchant ID value) | (your google pay Mid) |
gatewayMerchantId | Google Pay MID |
Google Pay™ to Payment Gateway
The encrypted wallet payload will need to be decrypted by the Merchant or Gateway provider. The parameters in the decrypted payload will need to be passed into the MerchantE Payment Gateway transaction request for Authorization. See Field IDs below.
Payment Gateway API Field Reference
The following fields are used to send payment data directly to the payment gateway for processing.
Field | Description | Example | Required? | Length | Format |
profile_id | ID issued by MerchantE | 94100008819100000003 | Required | 20 | N |
profile_key | EAPI password assigned by MerchantE | oyFnzBewkLQEkGispfAoIjNoTuTwtcbv | Required | 32 | AN |
transaction_type | D, where D denotes a sale. | D | Optional | 1 | AN |
card_number | Payment card number | 4012301230158 | Conditional | 5 – 22 | N |
moto_ecommerce_ind | Acceptable values are 5, 6, 7, and A. Recurring transactions will require 2. | 5 | Required | 1 | AN |
cavv | This contains a data value generated by the issuer to enable cardholder validation for 3D Secure transactions. | BwABBJaSmIZUMzSVMpKYAAAAAAA%3D | Conditional - Used for Visa and Discover. | 40 | AN |
tac |
| TWsyTEhIakRyQWRNakd4SkhoeHI%3D | Conditional – Used for AMEX. | 30 | AN |
ucaf_auth_data | This is a variable length issuer generated security field up to 32 bytes in length. | ucaf:jJJLtQa+Iws8AREAEbjsA1MAAAA | Conditional - Used for Mastercard. | 0-32 | AN |
xid | This field contains a value assigned to a SET or 3D Secure transaction as a unique transaction identifier. | b1h4MTVGa2JXMzFhSEhOU3FqSjA%3D | Conditional - Used for AMEX. | 0 or 40 | AN |
requesterapp_name | Product Identifier | GGL001 | Conditional - Mandatory for Google Pay. |
| AN |
token_requestor_id | Hex-encoded device manufacturer identifier. | 544553544456 | Conditional- Mandatory for AMEX. | 0 or 11 | AN |
recurring_pmt_num | Payment number of the transaction. Initial and subsequent recurring transactions should pass 1. | 1 | Conditional | 2 | N |
Example Request/Response
Tokenized
Visa
Request
transaction_amount=500.00&profile_key=EtLwsVwzcecgpHqkrNjhXPVyvUnEYHdn&card_number=489533XXXXXX1119&transaction_type=D&card_exp_date=1228&cavv=AgAAAAAABk4DWZ4C28yUQAAAAAA%3D&requesterapp_name=ggl001&moto_ecommerce_ind=07&profile_id=94100006000500000001
Response
transaction_id=42850f21a16a3449ab3f7b96d16f8974&error_code=000&auth_response_text=Approval T4002H&avs_result=0&auth_code=T4002H
Mastercard
Request
profile_id=94100012751900000001&profile_key=yIpoVLLeqSxjakiPLfasWbiDkkfwPHYE&transaction_type=D&card_number=5371433XXXXXX489&card_exp_date=1226&transaction_amount=100&moto_ecommerce_ind=5&ucaf_auth_data=APPMyBYhLyIRAFKxrruhAoABFA%3D%3D&token_requestor_id=12345678901&requesterapp_name=ggl001
Response
transaction_id=5db814df6eca36ceb2406f4647c7593c&error_code=000&auth_response_text=Approval T12447&avs_result=0&auth_code=T12447
Discover
Request
profile_id=94100012751900000001&profile_key=yIpoVLLeqSxjakiPLfasWbiDkkfwPHYE&transaction_type=D&card_number=653949XXXXXX8195&card_exp_date=0127&transaction_amount=80.00&moto_ecommerce_ind=7&cavv=BwABCXJ5kwAHACEQFXmTJdyntEE%3D&requesterapp_name=ggl001
Response
transaction_id=15dcc607f6f43b74b99a6ac2f86f0bc7&error_code=000&auth_response_text=Approval T12469&avs_result=0&auth_code=T12469
American Express
Request
card_number=37029XXXXXX2109&transaction_amount=500.00&transaction_type=D&card_exp_date=1228&requesterapp_name=ggl001&profile_key=EtLwsVwzcecgpHqkrNjhXPVyvUnEYHdn&profile_id=94100006000500000001&tac=JnPYbs6FkC1tiVLREAABoAAAkgA%3D
Response
transaction_id=fcd7a94a26893629b26eb5d2d8c599bd&error_code=000&auth_response_text=Approval T25588&avs_result=0&auth_code=T25588
Non-Tokenized
Visa
Request
card_number=4895330111111119&transaction_amount=500.00&transaction_type=D&card_exp_date=1225&requesterapp_name=ggl001&profile_key=EtLwsVwzcecgpHqkrNjhXPVyvUnEYHdn&profile_id=94100006000500000001
Response
transaction_id=5fde440fed653b0ca871d9749ece1aaf&error_code=000&auth_response_text=Approval T4001H&avs_result=0&auth_code=T4001H
Mastercard
Request
profile_id=94100012751900000001&profile_key=yIpoVLLeqSxjakiPLfasWbiDkkfwPHYE&transaction_type=D&card_number=537143XXXXXX8489&card_exp_date=1226&transaction_amount=100&moto_ecommerce_ind=5&requesterapp_name=ggl001
Response
transaction_id=972886409cf53bd6ad5b68f8c08eceda&error_code=000&auth_response_text=Approval T12458&avs_result=0&auth_code=T12458
Discover
Request
profile_id=94100005777800000021&profile_key=CwWuixEDHUChjASTJDkrqrXwulGfKOlL&transaction_type=D&card_number=653949XXXXXX8195&card_exp_date=0127&transaction_amount=80.00&requesterapp_name=ggl001
Response
transaction_id=65889607f8353e7b9f2c3ebfaf5f8ca6&error_code=000&auth_response_text=Approval T12480&avs_result=0&auth_code=T12480
American Express
Request
card_number=37029XXXXXX2109&transaction_amount=500.00&transaction_type=D&card_exp_date=1225&requesterapp_name=ggl001&profile_key=EtLwsVwzcecgpHqkrNjhXPVyvUnEYHdn&profile_id=94100006000500000001
Response
transaction_id=2cab4b01b7e33130bb8610c87d386b2c&error_code=000&auth_response_text=Approval T25588&avs_result=0&auth_code=T25588
Testing Your Google Pay Configuration
Sending Test Payments to MerchantE Payment Gateway
The certification request form must be submitted online in order to obtain testing credentials: Obtain Testing Credentials Upon receipt of the completed form, test credentials will be emailed within 24-48 hours.
Certification Host: https://cert.merchante-solutions.com/mes-api/tridentApi
Note: It is important to use the test profile for testing to prevent billing for authorizations obtained during testing. ME will bill for all authorizations obtained using a production profile even if the transactions are part of the testing cycle.
The MerchantE certification servers are always available for unattended testing. The certification servers replicate the Payment Gateway production servers and support testing for all available functions. The Apply Pay transactions will be visible in your Business Portal reports.
Certification transactions are processed as tests, so there is no need to worry about settlement to a customer account.
0 Comments