Google Pay
| Feature | Description |
|---|---|
| Payment Logo-Usage Guidelines | |
| Integration Methods |
|
| Recommended Regions | Global |
| Virtual Industry Support | ✅ |
| Subscription Support | ✅ Varies by industry |
| Supported SaaS | All integrated SaaS platforms |
| Supported Open-Source Platforms |
|
Integration Method
Embedded
View the complete Google Pay Embedded integration solution.
Server to Server
To use this integration mode, you need to become an official Google Pay developer.
Google Pay developer registration supports business entities from multiple regions. However, availability of full merchant onboarding and live payment processing may vary depending on the registered country or region. For China (CN) entities, registration is supported, but certain payment capabilities (such as merchant onboarding and settlement) may be subject to Google Pay regional eligibility and approval requirements. It is recommended to use a supported region entity (e.g., HK/SG/EU/US) for production payment processing where applicable.
- Google Pay Developer Account Registration and Configuration
- Visit https://pay.google.com/about/business.
- Register using your company's Gmail/Google Workspace.
- Choose a business account.
- Create Merchant ID
- After registration, a Merchant ID will be generated, which can be viewed in Google Pay Console → API access → Merchant Info.
- Configure Google Pay API Key
- Create a project in the Google Cloud Console.
- Enable Google Pay API for Web/Android.
- Get the API Key.
- After the customer completes the payment authorization, retrieve the Google Pay Payment Token. Please refer to the Google Pay complete example for details.
The pay_accountNumber parameter is used to carry the Google Pay Payment Token obtained from paymentData.paymentMethodData.tokenizationData.token. When submitting a payment request to Oceanpayment, pass the JSON content of the token field from the Payment Token object below as the value of the pay_accountNumber parameter.
{
"apiVersion": 2,
"apiVersionMinor": 0,
"paymentMethodData": {
"type": "CARD",
"description": "Visa •••• 1111",
"info": {
"cardNetwork": "VISA",
"cardDetails": "1111"
},
"tokenizationData": {
"type": "DIRECT",
"token": "{\"signature\":\"MEQCIB...\",\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"...\\\",\\\"ephemeralPublicKey\\\":\\\"...\\\",\\\"tag\\\":\\\"...\\\"}\"}"
}
}
}
- Submit the Google Pay Payment Token to Oceanpayment via the pay_accountNumber parameter when calling the Server-to-Server Payment API.
const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'TEST' });
const request = {
apiVersion: 2,
apiVersionMinor: 0,
allowedPaymentMethods: [{
type: 'CARD',
parameters: {
allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],
allowedCardNetworks: ['VISA', 'MASTERCARD'],
},
tokenizationSpecification: {
type: 'PAYMENT_GATEWAY',
parameters: {
'gateway': 'oceanpayment',
'gatewayMerchantId': 'oceanpayment',
},
},
}],
merchantInfo: {
merchantName: 'OceanPayment',
merchantId: 'BCR2DN4TWW...',
},
transactionInfo: {
totalPriceStatus: 'FINAL',
totalPrice: '10.00',
currencyCode: 'USD',
},
};
paymentsClient.loadPaymentData(request).then(paymentData => {
const token = paymentData.paymentMethodData.tokenizationData.token;
//Send token to the server for transaction processing.
});