Hey! These docs are for version 3.2, which is no longer officially supported. Click here for the latest version, 1.0!

GooglePay Integration

Pre-Requisites

  1. The merchant needs to have a working VPA and UPI credentials from a bank or payment gateway partner enabled at Juspay
  2. The merchant needs to get on-boarded on GooglePay as a merchant. Refer https://developers.google.com/pay/india/api/otherapis/omnichannel/prerequisites
  3. Merchant to enable GooglePay from Juspay Ops Sandbox | Production dashboard. Refer Dashboard
  4. Brand guidelines https://developers.google.com/pay/api/android/guides/brand-guidelines

GooglePay UPI intent - in app payments flow

The Googlepay in-app flow is currently supported in the Android SDK.

GooglePay SDK flow

📘

Note:

Merchants have the option of using the OmniChannel flow (described on next page), where requesting and accepting payments are done via the OmniChannel API through Google Pay. A single identifier for the customer (like a phone number) is used in the purchase flow. This flow is preferred in iOS.

User Experience

  1. When a user taps the Google Pay payment option on the merchant checkout page, they’ll see a payment sheet that displays the payment methods saved to their Google Account.
  2. Users can then quickly select the bank account for paying and proceed to pay.
  3. The user will be redirected to GooglePay ScreenLock and then asked to enter his UPI PIN for final authentication.
  4. Once GooglePay gives a successful callback, the merchant will do a Status Check with Juspay on redirection and confirm the status to the user.
3000

Googlepay user Journey

GooglePay flow can be integrated using Juspay's ExpressCheckout SDK.

Marking down the required sections for integrating GooglePay via Express Checkout Headless SDK

  1. Add the below dependencies to the Gradle
repositories {
    mavenCentral()
    maven {
       url "https://maven.juspay.in/jp-build-packages/hyper-sdk/"
    }
}
dependencies {
    implementation 'in.juspay:google-pay-client-api:1.0.0'
}
  1. Check Device specific App/SDK: Check GooglePay availability for the current device and show GooglePay on UI only if it is present/ready. The response from SDK would be a boolean. Please consider the app/SDK to be present on the Merchant device when the status returns true. For more info Refer- Check for device-specific App/SDK Android

  2. Initiate transaction: Use walletTxn operation to initiate GooglePay.

JSONObject juspayPayload = new JSONObject();
juspayPayload.put("opName","walletTxn");
juspayPayload.put("paymentMethod","walletObject.walletName");
juspayPayload.put("sdkPresent",""walletObject.walletSdkName"");
  1. Merchant can consume the SDK response or call the get order status API and confirm the order.