Skip to main content

Google Pay

FeatureDescription
Payment Logo-Usage Guidelines
Integration Methods
  1. ✅ Hosted Checkout
  2. ✅ Embedded
  3. ✅ Server-to-Server
Recommended RegionsGlobal
Virtual Industry Support
Subscription Support✅ Varies by industry
Supported SaaSAll integrated SaaS platforms
Supported Open-Source Platforms
  1. ✅ Magento
  2. ✅ WordPress/Woocommerce
  3. ✅ OpenCart
  4. ✅ PrestaShop
  5. ✅ ZenCart

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.

Note

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.

  1. Google Pay Developer Account Registration and Configuration
  1. Create Merchant ID
  • After registration, a Merchant ID will be generated, which can be viewed in Google Pay Console → API access → Merchant Info.
  1. Configure Google Pay API Key
  • Create a project in the Google Cloud Console.
  • Enable Google Pay API for Web/Android.
  • Get the API Key.
  1. After the customer completes the payment authorization, retrieve the Google Pay Payment Token. Please refer to the Google Pay complete example for details.
Info

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\\\":\\\"...\\\"}\"}"
}
}
}
  1. 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.
});