Method: paycache.getGooglePayOpc

Gets an issuer OPC (Opaque Payment Card) for a given card, suitable for use in Google Pay Push Provisioning (aka Issuer Provisioning).

An example request looks like:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1
    },
    "requestId": "G1MQ0YERJ0Q7LPM",
    "requestTimestamp": {
      "epochMillis":1481899949606
    },
    "paymentIntegratorAccountId": "abcdef123456"
  },
  "googleInstrumentToken": "Instrument12345",
  "googlePayPublicWalletId": "PublicWallet123",
  "googlePayPublicDeviceId": "PublicDeviceABC"
}

An example success response looks like:


 {
   "responseHeader": {
     "responseTimestamp": {
       "epochMillis":1481899950236
     }
   },
   "result": {
     "opcDetails": {
       "opaquePaymentCard": "Alkjsfusofijer987dferkhhakuyer",
       "tokenServiceProvider": "TOKEN_SERVICE_PROVIDER_VISA",
       "paymentNetwork": "PAYMENT_NETWORK_VISA"
     }
   }
 }

HTTP request

POST https://www.integratordomain.com/v1/paycache/getGooglePayOpc

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },
  "googleInstrumentToken": string,
  "googlePayPublicWalletId": string,
  "googlePayPublicDeviceId": string
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

googleInstrumentToken

string

REQUIRED: Contains the googleInstrumentToken value that was provided during the issueCard call.

googlePayPublicWalletId

string

REQUIRED: The public wallet ID (A Google Pay concept), to which the card will be provisioned given this OPC. Ultimately, when the request to tokenize the card arrives at the Token Service Provider, it will have the same wallet ID. This is the same wallet ID that would be returned by calling the getActiveWalletId SDK method.

googlePayPublicDeviceId

string

REQUIRED: The public device ID (A Google Pay concept), to which the card will be provisioned given this OPC. Ultimately, when the request to tokenize the card arrives at the Token Service Provider, it will have the same device ID. This is the same device ID that would be returned by calling the getStableHardwareId SDK method.

Response body

If successful, the response body contains data with the following structure:

Response object for the getGooglePayOpc method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": {
    object (GetGooglePayOpcResult)
  }
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

result

object (GetGooglePayOpcResult)

REQUIRED: Details corresponding to the result.

GetGooglePayOpcResult

Details corresponding to the result.

JSON representation
{
  "opcDetails": {
    object (OpcDetails)
  }
}
Fields
opcDetails

object (OpcDetails)

The OPC has been successfully retrieved.

OpcDetails

The full details of an OPC (Opaque Payment Card). Note that these parameters closely match those required by the PushTokenizeRequest in the Google Pay Push Provisioning SDK: https://developers.google.com/pay/issuers/apis/push-provisioning/android/wallet-operations#push_provisioning

JSON representation
{
  "opaquePaymentCard": string,
  "tokenServiceProvider": enum (TokenServiceProvider),
  "paymentNetwork": enum (PaymentNetwork)
}
Fields
opaquePaymentCard

string

REQUIRED: The OPC itself, bytes encoded in base64url format.

tokenServiceProvider

enum (TokenServiceProvider)

REQUIRED: The token service provider with which the OPC can be tokenized.

paymentNetwork

enum (PaymentNetwork)

REQUIRED: The payment network where the tokenized card can be used. (Used for display purposes during setup, and is required because cards may be enabled for multiple payment networks, but only tokenizable on one.)

TokenServiceProvider

Enums
TOKEN_SERVICE_PROVIDER_UNSPECIFIED DO NOT USE
TOKEN_SERVICE_PROVIDER_AMEX
TOKEN_SERVICE_PROVIDER_MASTERCARD
TOKEN_SERVICE_PROVIDER_VISA
TOKEN_SERVICE_PROVIDER_DISCOVER
TOKEN_SERVICE_PROVIDER_EFTPOS
TOKEN_SERVICE_PROVIDER_INTERAC
TOKEN_SERVICE_PROVIDER_PAYPAL
TOKEN_SERVICE_PROVIDER_APTEST
TOKEN_SERVICE_PROVIDER_JCB
TOKEN_SERVICE_PROVIDER_GEMALTO
TOKEN_SERVICE_PROVIDER_ELO