latestOpenAPI 3.0.12026-08-10122864.6 KB

15f03804be72

Push provisioning

Initiate unified Google Pay push provisioning flow

Initiates the Google Pay Unified Push Provisioning flow. Unlike standard provisioning, the Unified flow allows a user to simultaneously add a card to their device's Google Wallet (for tap-to-pay) and save the actual card number to their broader Google Account (for online and Chrome autofill). <br><br> Because this flow handles the actual card number, it requires Strong Customer Authentication (SCA). <br><br> Integration Flow: <br> 1. Trigger SCA: Calling this endpoint initially returns a 200 OK and triggers a Change Request. The customer must complete a 2FA challenge. <br> 2. Fetch Payloads: Once authorized, the endpoint returns the two required Opaque Payment Cards (OPCs): <ul>

<li><b>TSP OPC:</b> The standard tokenization payload for the device wallet.</li> <li><b>Google OPC:</b> A PGP-signed, encrypted payload containing the user's Primary Account Number (FPAN).</li> </ul> <br> **Important:** Do not attempt to parse, decode, or modify the Google OPC string. Your backend must pass both OPCs exactly as received directly to your mobile client, which will feed them into the Google Wallet SDK.
post/v1/cards/{card_id}/sca_push_provision/google_unified

Path parameters

card_idstring required

The unique identifier of the customer's card.

Request body

wallet_idstring

The wallet ID of the active wallet on the selected device. A unique 24-byte identifier for each instance of an [Android user, Google account] pair. Provided by Google's TapAndPay SDK via the GeneratePaymentCredentialsRequest.

stable_hardware_idstring

The stable hardware ID of the selected device. A stable identifier for a physical Android device, provided by Google's TapAndPay SDK. Optionally used by certain TSPs during OPC generation. Use the getStableHardwareId method to retrieve this value.

token_requestor_idstring

Unique identifier for the token requestor, provided by Google's TapAndPay SDK. Recommended for Visa cards — Visa may require issuers to embed this value in the TSP OPC. For non-Visa cards this field is accepted but not used in OPC generation.

server_session_idstring required

A push provisioning session ID in the form of a UUID, generated by Google's server and provided via the TapAndPay SDK. Used to generate the Google OPC, which enables saving the card's FPAN to the user's Google Account. The destination user is implied by the session.

Example request

{
  "wallet_id": "Rwt3tJek_k1JxivcwbPHjKDk",
  "stable_hardware_id": "a1b2c3d4e5f6g7h8",
  "token_requestor_id": "12345678901",
  "server_session_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}

Response

The request was accepted and requires Strong Customer Authentication (SCA). The response contains a Change Request ID. The customer must confirm this change request via 2FA before the payloads can be generated.

idstring

ID of the change request.

status'ACCEPTED' | 'AUTHORIZATION_REQUIRED' | 'CONFIRMATION_REQUIRED' | 'COMPLETED' | 'FAILED'

The current status of the change request.

updated_atstring date-time

UTC timestamp from the last time the change request was updated.

urlstring

URL to use to authorize the change request.

Example response

{
  "id": "d6c778822b2d7bd3b778935bcfd0d1d3csc",
  "status": "AUTHORIZATION_REQUIRED",
  "updated_at": "2022-04-21T13:59:52+00:00",
  "url": "https://example.com/authorize"
}