Can I process Payouts to customers using Google Pay?

  Last updated: 

Please see the guidance below:

  The solutions documented here require integration with our Webservices API. View our docs.

For Payment Pages, JavaScript or Mobile SDK integrations

If you're developing Payouts for Google Pay for integrations using our hosted Payment Pages or JavaScript solutions, you can only process payouts using a parenttransactionreference value from a previous transaction.

Expand to view more info

Submit a REFUND request including the parenttransactionreference of a previous transaction from which you want to inherit the Google Pay card account information.

Python PHP cURL Raw JSON Raw XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

payout= {
  "accounttypedescription": "CFT",
  "baseamount": "1",
  "currencyiso3a": "GBP",
  "parenttransactionreference": "1-2-345678",
  "requesttypedescriptions": ["REFUND"],
  "sitereference": "site12346"
}

strequest = securetrading.Request()
strequest.update(payout)
stresponse = st.process(strequest) #stresponse contains the transaction response

Replace <DOMAIN> with a supported domain. View full domain list.

If the payout is declined, this may be due to the Google Pay token referenced in your request being deleted or updated. In this scenario:

  1. Process a new payment or account check to re-capture the cardholder's Google Pay details.
  2. Obtain the new transactionreference from the response.
  3. Submit a new payout request using this transactionreference as the parenttransactionreference.

If the payout is still declined, the cardholder should contact their card issuer for support.

For API integrations with Google Pay direct

If you're developing Payouts for integrations that processes transactions with Google Pay directly, please follow the guidance below:

PAN_ONLY — A card stored on the customer's Google account

Payment details from the Google Pay response:

  • pan
    Mapped from:
    encryptedMessage ≫ paymentMethodDetails ≫ pan
  • expirydate
    Mapped from:
    encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear
  • walletdisplayname
    Mapped from:
    paymentMethodData ≫ info

If you intend to capture the customer's billing and delivery details from their Google Wallet, you will also need to parse the response from the Google API for these fields and map these to the appropriate fields in the subsequent request.

 

Request example

Python PHP cURL Raw JSON Raw XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
  "accounttypedescription":"CFT",
  "baseamount":"2000",
  "currencyiso3a":"GBP",
  "expirydate":"07/2026",
  "pan":"5100000000000511",
  "requesttypedescriptions": ["REFUND"],
  "sitereference": "test_site12345",
  "walletdisplayname":"MasterCard 0511",
  "orderreference":"My_Order_123",
  "walletsource":"GOOGLEPAY"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response

  If the payout is declined, the cardholder should contact their card issuer for support.

CRYPTOGRAM_3DS — Device token stored on Android device

If CRYPTOGRAM_3DS is returned in the authMethod, you don't need to perform 3-D secure authentication.

Following the response from Google Pay, you should be in possession of the fields listed below, which are required in the subsequent request:

Payment details from the Google Pay response:

  • pan
    Mapped from:
    encryptedMessage ≫ paymentMethodDetails ≫ pan
  • expirydate
    Mapped from:
    encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear
  • walletdisplayname
    Mapped from:
    paymentMethodData ≫ info
  • tavv
    Mapped from:
    encryptedMessage ≫ paymentMethodDetails ≫ cryptogram
  • eci 
    Mapped from:
    encryptedMessage ≫ paymentMethodDetails ≫ eciIndicator

If you intend to capture the customer's billing and delivery details from their Google Wallet, you will also need to parse the response from the Google API for these fields and map these to the appropriate fields in the subsequent request.

Request example

Python PHP cURL Raw JSON Raw XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
  "accounttypedescription":"CFT",
  "baseamount":"2000",
  "currencyiso3a":"GBP",
  "eci":"2",
  "expirydate":"07/2026",
  "pan":"5100000000000511",
  "requesttypedescriptions": ["REFUND"],
  "sitereference":"test_site12345",
  "tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
  "tokenisedpayment":"1",
  "tokentype":"GOOGLEPAY",
  "walletdisplayname":"MasterCard 0511",
  "walletsource":"GOOGLEPAY"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response

  If the payout is declined, the cardholder should contact their card issuer for support.

Was this article helpful?
0 out of 0 found this helpful