Plexy
Pay API
Gate APISDKDashboard
Pay API
Gate APISDKDashboard
  1. Wallet
  • Overview
  • Authorization
  • Webhooks
  • API Errors
  • Test Scenarios
  • Ecommerce Plugins
  • API
    • Payments
      • Overview
      • Transaction Errors
      • Payment Links
        • Create Payment Link
        • List Payment Links
        • Retrieve Payment Link by Order Reference
        • Cancel Payment Link
        • Retrieve Payment Link
        • Update Payment Link Expiration
        • Retrieve Payment Links Statistics
      • Reccurent Payments
        • Create Merchant-Initiated Payment
      • Direct Payments
        • Get Keys
        • Create Host-to-Host Payment
      • Transaction Management
        • Find Transaction's History by ID
        • Find Transaction by Payment Link ID
        • Find Transaction by ID
        • Find Transaction by Order reference
      • Payment Management
        • Cancel Payment
        • Capture Payment
        • Process Refund
      • Split Requests
        • Create
        • List
        • Update
        • Get By Id
        • Delete
    • Payouts
      • Retrieve Payout Transactions
      • Process Payout
      • Save Card for Payouts
    • Customers
      • Get Customer's Card Tokens
      • List Customers
      • Create Customer
      • Get Customer by ID
      • Get Customer's Transactions
    • Merchants
      • Payment Beneficiary
        • Create
        • Update
        • Gey By Id
        • List
        • Transfer from beneficiary balance to merchant balance
        • Create manual settlement for beneficiary
      • Retrieve Merchant's Details
    • Wallet
      • Authorize
      • Сapture
      • Refund
      • Cancel
    • Payment Methods
      • Google Pay™ Integration
    • Invoice
      • List Bank Invoices
      • Create Bank Invoice
      • Get Bank Invoice
    • Distributions
      • Create distribution
      • List distributions
      • Get distribution by ID
      • Get distributions balance
  • Client SDK
    • SDK Overview
    • Wallet
      • Apple Pay
      • Google Pay
    • Android
      • Android Components
      • Android SDK
      • Android Drop-in
      • Android Customization
    • React Native
      • React Native SDK
    • Flutter
      • Flutter SDK
    • iOS
      • iOS Components
      • iOS Drop-in
      • iOS Customization
      • iOS SDK
    • Server Integration
      • Overview
      • Sessions Flow
      • Advanced Flow
      • Authentication
      • Result Codes and Errors
      • Payment Methods and Checkout Settings
      • Test and Live Payments
      • API Reference
      • Payment Methods
        • Get a list of available payment methods
      • Payments
        • Start a transaction
        • Submit details for a payment
      • Sessions
        • Create a payment session
        • Get the result of a payment session
    • Web
      • Web SDK
      • Web Customization
      • Web Drop-in
      • Web Components
  • Schemas
    • Schemas
      • response.TransactionList
      • entity.SplitRequest
      • entity.PaymentBeneficiary
      • request.CreatePaymentBeneficiary
      • entity.SettlementPaymentOrder
      • entity.PayoutRequest
      • entity.PayoutRequestRowData
      • entity.UserProfile Copy
      • entity.Store
      • request.AssignStoreToUser
      • request.RemoveStoreFromUser
      • entity.AccountExternalSystem
      • response.AssignStoreToUser
      • request.CreateStore
      • response.Store
      • response.UserList
      • request.WalletAuthorizeRequest
      • entity.ShortWalletTransaction
      • response.WalletAuthorizeResponse
      • request.WalletCapture
      • response.RemoveStoreFromUser
      • command.HandleThreeDResult
      • domain.Report
      • entity.CardSaveSessionCustomer
      • entity.Permission
      • entity.UserProfile
      • entity.UserRole
      • git_plexypay_com_ecom_back_api_internal_domain_view.Page-domain_Report
      • git_plexypay_com_ecom_back_api_internal_domain_view.Page-entity_UserProfile
      • models.CSVApiRequest
      • models.CreateBussinessDetails
      • models.KeyResponse
      • models.OnboardingRequest
      • models.Transaction
      • paymentcore.Address
      • paymentcore.CustomerDetails
      • request.AuthorizePayment
      • request.BrowserDetails
      • request.CardData
      • request.ChangeUserRole
      • request.ContinueThreeDS
      • request.CreateCardSaveSession
      • request.CreateInviteSession
      • request.CreatePaymentLink
      • request.CreatePaymentLinkMetadata
      • request.HandlePayout
      • request.MerchantInitiatedPayment
      • request.PasswordRequest
      • request.Recurring
      • request.RefundPayment
      • request.SaveCard
      • request.SaveOneCustomer
      • request.TwoStepAuthorizePayment
      • request.UpdateMerchantSettingsRequest
      • request.UpdatePaymentLink
      • response.AcquirerResponseThreeDSecure
      • response.AuthorizeAndCapturePayment
      • response.AuthorizePayment
      • response.CancelPaymentResponse
      • response.CapturePaymentResponse
      • response.ContinueThreeDS
      • response.Currency
      • response.Customer
      • response.CustomerTransaction
      • response.CustomerTransactions
      • response.Customers
      • response.Merchant
      • response.MerchantInitiatedPayment
      • response.MerchantSettings
      • response.PaymentLink
      • response.PaymentLinkInfo
      • response.PaymentLinkMetadata
      • response.PaymentLinksInfo
      • response.PaymentLinksStatistics
      • response.PaymentLinksStatisticsItem
      • response.Payout
      • response.Permission
      • response.RefundPaymentResponse
      • response.Report
      • response.SavedCard
      • response.Session
      • response.Settlement
      • response.SettlementTransaction
      • response.Store
      • response.Stores
      • response.Transaction
      • response.TransactionDetails
      • response.TransactionEvents
      • response.TransactionHistoryEvent
      • response.TransactionHistoryEventData
      • response.TransactionResponse
      • response.TransactionWebhookDetails
      • response.Transactions
      • response.UpdateMerchantSettingsResponse
      • response.UserProfile
      • value.PaymentMethod
    • receipt
    • Error
    • response.BankInvoice
    • DistributionStatus
    • LivenessResponse
    • DecimalAmount
    • errors.Source
    • Currency
    • AmountDto
    • ProductType
    • errors.Message
    • DistributionRecipient
    • PaymentMethodsRequestDto
    • ProductCategory
    • request.CreateBankInvoice
    • DistributionCreateRequest
    • PaymentMethodDto
    • Product
    • git_plexypay_com_ecom_back_api_internal_platform_errors.Code
    • DistributionBase
    • StoredPaymentMethodDto
    • response.Error
    • Order
    • DistributionCreatedResponse
    • PaymentMethodsResponseDto
    • AgentBalance
    • response.BankInvoiceList
    • DistributionDetailResponse
    • CreatePaymentDto
    • AgentDeposit
    • errors.Type
    • DistributionListItem
    • AdditionalDataDto
    • TopupRequest
    • DistributionListResponse
    • ActionDto
    • CreateOrderRequest
    • DistributionBalanceResponse
    • CreatePaymentResponseDto
    • PaymentDetailsDto
    • PaymentDetailsRequestDto
    • PaymentActionDto
    • FraudResultDto
    • ResponsePaymentMethodDto
    • PaymentDetailsResponseDto
    • ApplePayMerchantValidationRequestDto
    • ApplePayMerchantSessionResponseDto
    • ApplePaySessionRequestDto
    • ApplePaySessionResponseDto
    • GooglePayDecodeRequestDto
    • GooglePayPaymentMethodDetails
    • GooglePayDecryptedData
    • GooglePayDecodeSuccessResponseDto
    • RiskDataDto
    • GooglePayPaymentMethodDto
    • BrowserInfoDto
    • GooglePayPaymentRequestDto
    • EncryptedCardDataDto
    • GooglePayPaymentResponseDto
    • GooglePayPaymentErrorResponseDto
    • LineItemDto
    • AddressDto
    • CreateCheckoutSessionRequestDto
    • CreateCheckoutSessionResponseDto
    • PaymentDto
    • SessionResultResponseDto
    • EncryptedSessionDataDto
    • DecryptPaymentRequestDto
    • DecryptPaymentResponseDto
    • ThreeDSDetailsDto
    • SessionPaymentDetailsRequestDto
    • SessionPaymentDetailsResponseDto
    • CardDetailsRequestDto
    • CardBrandDetailsDto
    • CardDetailsResponseDto
    • PublicKeyResponseDto
  1. Wallet

Google Pay

Google Pay lets your shoppers pay with the cards stored in their Google account. Unlike Apple Pay, Google Pay does not require per-domain validation or a per-merchant certificate upload — Plexy's gateway handles tokenization. The work is account-level setup plus a small amount of platform-specific configuration.
The Plexy gateway is fixed as plexy inside the SDK. You never configure the gateway directly; you provide the merchant identifiers required by the platform SDK.

Prerequisites#

A Google Pay & Wallet Business Console account.
Access to the Plexy dashboard.
A Plexy client key for Drop-in or Components.
Your Plexy merchant account value from Plexy Dashboard settings, where it is labeled merchantName.

Web setup#

1
Create a business profile
In the Google Pay & Wallet Business Console, create a business profile if you don't already have one. Complete the legal business name, website, and support contact details. The profile contains the merchant name and brand assets that appear on the Google Pay sheet.
2
Request production access
Open the Google Pay API section and submit your integration for review. Google checks that your checkout follows Google Pay brand and UX guidelines before granting production access. The Google Pay TEST environment works without approval and is suitable for development. This is a Google Pay setting, not the Plexy SDK environment. To accept real payments, submit your integration for Production access in the Business Console and plan for a review period.
3
Enable Google Pay in Plexy
Confirm Google Pay is enabled for your account in Plexy. No per-merchant certificate upload is required — Plexy's gateway tokenizes the payment.
Unlike Apple Pay, Google Pay needs no separate domain-registration step. Create the Google Pay component, check availability, and mount the button into your page.
Google Pay availability
In Google Pay TEST, the component is considered available for development. Plexy SDK environment should still stay live-apse; use a test API key on your backend when you need simulated Plexy transactions.

Merchant identifiers on Web#

The Web SDK does not receive Google Pay merchant configuration from the API. Pass these values manually in the component configuration:
FieldMeaningRequired
gatewayMerchantIdYour Plexy merchant account. It is placed in Google Pay's gateway tokenization parameters and forwarded to Plexy to route the token. Use the value from Plexy Dashboard settings labeled merchantName.Yes
merchantIdGoogle-issued merchant ID from Google Pay Business Console. Google uses it to identify the merchant and render the sheet.Yes
merchantNameDisplay name rendered in the payment sheet.No
merchantOrigin / authJwtPlatform or fully-qualified-domain options.No
Merchant ID required
merchantId is required on Web in both Google Pay TEST and PRODUCTION. The component throws IMPLEMENTATION_ERROR "Missing merchantId" if it is missing.
The gateway is internal and fixed:
If the Google Pay component environment is omitted, the SDK resolves it from the checkout environment: production, live, and live-* values map to Google Pay PRODUCTION; everything else maps to Google Pay TEST. Plexy examples still keep the checkout SDK environment on live/APSE.
Info
Drop-in can render Google Pay once the payment method is enabled on your account. If you build with individual Web Components, create and mount the GooglePay component yourself as shown above. There is no separate domain registration step on the web.
Web SDK
Mount Drop-in or individual components to render Google Pay on the web.

Native setup (Android)#

1
Declare Google Pay API in your manifest
Add the Google Pay API meta-data tag inside your <application> element in AndroidManifest.xml:
<meta-data
  android:name="com.google.android.gms.wallet.api.enabled"
  android:value="true" />
2
Set the Google Pay environment
Configure Google Pay with TEST during development and PRODUCTION once Google has approved your Business Console submission. Keep the Plexy checkout SDK environment live/APSE.
3
Render Google Pay
The Plexy Android SDK exposes the Google Pay button via Drop-in or individual components. No additional Google account configuration is required in-app.

React Native#

Google Pay config is a googlepay sub-object inside the unified checkout config. countryCode and amount are required so Google Pay can display the sheet.
merchantAccount is your Plexy merchant account, equivalent to Web gatewayMerchantId. Take it from Plexy Dashboard settings where it is labeled merchantName. React Native does not expose Google merchantId, Google merchantName, or gateway; the native Android SDK supplies the Google merchant info and Plexy gateway internally.

Flutter#

Flutter uses the typed GooglePayConfiguration, wrapped by GooglePayComponentConfiguration.
Flutter sets the Google Pay environment explicitly with GooglePayEnvironment.test or GooglePayEnvironment.production. Keep the Plexy SDK environment on Environment.apse.

Configuration parameters#

ParameterDescriptionDefault
merchantAccountYour Plexy merchant account sent as Google Pay gateway merchant identifier. Use the value from Plexy Dashboard settings labeled merchantName.Set manually
merchantInfoFlutter only. Google identity shown in the sheet: merchantId and merchantName.Not set
googlePayEnvironmentGoogle Pay environment: TEST / PRODUCTION or the SDK enum equivalent. In React Native, if omitted, it is derived from the root checkout environment; in Flutter it is set explicitly.Platform-specific
totalPriceStatusNOT_CURRENTLY_KNOWN, ESTIMATED, or FINAL.FINAL
allowedCardNetworksSupported card networks.SDK default
allowedAuthMethodsPAN_ONLY / CRYPTOGRAM_3DS.SDK default
allowCreditCards / allowPrepaidCardsSupport credit or prepaid cards.true
billingAddressRequired and billingAddressParametersRequest billing address.false
shippingAddressRequired and shippingAddressParametersRequest shipping address.false
emailRequiredRequest email.false
existingPaymentMethodRequiredReport shopper readiness to pay.false
Info
Google Pay in-app is not available on iOS. For iOS, see Apple
Pay.
Android SDK
Render Google Pay in your Android app with Drop-in or Components.
React Native SDK
Google Pay on Android via the Plexy React Native wrapper.
Flutter SDK
Google Pay on Android via the Plexy Flutter wrapper.

Troubleshooting#

SymptomLikely cause / fix
PRODUCTION shows "not enabled"Google Pay & Wallet Business Console submission has not been approved yet. Use Google Pay TEST until approved.
Button does not appearDevice or browser does not support Google Pay, or isAvailable() rejected. On Web, check the console warning from .catch().
Button missing on AndroidVerify com.google.android.gms.wallet.api.enabled is inside <application> in AndroidManifest.xml.
Google Pay is unavailable on this device in FlutterNo Google Pay support or no saved cards; show unavailableWidget.
iOS shows no Google Pay buttonExpected. Google Pay is not available in-app on iOS. Use Apple Pay.
Sheet shows wrong amount or currencyEnsure amount and countryCode are both set.
Token routes to the wrong merchantCheck gatewayMerchantId on Web or merchantAccount on mobile. It must match your Plexy merchant account.

Merchant terminology#

ConceptWebReact NativeFlutter
Plexy merchant accountconfiguration.gatewayMerchantIdgooglepay.merchantAccountmerchantAccount
Google merchant identityconfiguration.merchantId / merchantNameHandled nativelymerchantInfo.merchantId / merchantName
GatewayFixed internally as plexyInternalInternal
Key points:
The gateway is always plexy and is never set by you.
On Web, all merchant identifiers are configured manually in code.
On Web, merchantId is required in both Google Pay TEST and PRODUCTION.
On React Native, only merchantAccount is exposed for Google Pay merchant routing.
The Plexy merchant account value is found in Plexy Dashboard settings under merchantName.
Modified at 2026-07-07 10:25:45
Previous
Apple Pay
Next
Android Components
Built with