Method: paycache.issueCardRequestedByPaymentIntegrator

Issue a new payment card that was specifically requested by the payment integrator with the requestForCardIssuance notification.

An example request looks like:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1
    },
    "requestId": "G1MQ0YERJ0Q7LPM",
    "requestTimestamp": {
      "epochMillis":1481899949606
    },
    "paymentIntegratorAccountId": "abcdef123456"
  },
  "googleInstrumentToken": "NewInstrument12345",
  "googleUserToken": "ExistingUser8245",
  "primaryAccountGoogleAccountToken": "ExistingCheckingAccount32145",
  "formFactorDetails": {
    "physicalCard": {
      "fulfillmentDetails": {
        "fulfillmentAddress": {
          "name": "Jane C Customer",
          "address": {
            "addressLine": ["123 Fake St"],
            "localityName": "Springfield",
            "administrativeAreaName": "IL"
          }
        },
        "standardShipping": {}
      },
      "activationDetails": {
        "displayActivationCode": "TDY3D4X",
        "qrActivationCode": "gpay.activate:TDY3D4X"
      }
    }
  },
  "sourceCardDetails": {
    "damagedSourceCard": {
      "googleInstrumentTokenForDamagedCard": "ExistingInstrument6789"
    }
  }
}

An example success response looks like:


{
  "responseHeader": {
    "responseTimestamp": {
      "epochMillis":1481899950236
    }
  },
  "result": {
    "success": {
      "paymentCardDetails": {
        "accountNumber": "4123123412341234",
         "displayExpiration": {
           "expirationMonth": "07",
           "expirationYear": "36"
         },
         "expirationTimestamp":  {
           "epochMillis":1481899950236
         },
        "paymentNetworks": ["PAYMENT_NETWORK_VISA"],
        "cardType": "DEBIT_CARD"
      }
    }
  }
}

HTTP request

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

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },
  "googleInstrumentToken": string,
  "googleUserToken": string,
  "primaryAccountGoogleAccountToken": string,
  "formFactorDetails": {
    object (FormFactorDetails)
  },
  "sourceCardDetails": {
    object (RequestedSourceCardDetails)
  }
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

googleInstrumentToken

string

REQUIRED: A unique ID for the card that is being created. This ID is generated by Google and supplied to the bank during account creation. All methods that operate on the card will use this to identify the it.

googleUserToken

string

REQUIRED: Contains the existing googleUserToken supplied in requestForCardIssuance.

primaryAccountGoogleAccountToken

string

REQUIRED: Contains the googleAccountToken supplied in requestForCardIssuance.

formFactorDetails

object (FormFactorDetails)

REQUIRED: Contains the formFactorDetails supplied in requestForCardIssuance.

sourceCardDetails

object (RequestedSourceCardDetails)

REQUIRED: Contains the sourceCardDetails supplied in requestForCardIssuance.

Response body

If successful, the response body contains an instance of IssueCardResponse.

RequestedSourceCardDetails

JSON representation
{

  // Union field source_card can be only one of the following:
  "noSourceCard": {
    object (Empty)
  },
  "damagedSourceCard": {
    object (DamagedSourceCard)
  }
  // End of list of possible types for union field source_card.
}
Fields

Union field source_card.

source_card can be only one of the following:

noSourceCard

object (Empty)

There is no source card. A brand new card should be created.

damagedSourceCard

object (DamagedSourceCard)

The source card is a physical card that the user has reported as damaged. The new card should reuse the FPAN and may have a new expiration and CVV. The existing, damaged card should not be terminated implicitly (an explicit terminateCard call will follow).

DamagedSourceCard

JSON representation
{
  "googleInstrumentTokenForDamagedCard": string
}
Fields
googleInstrumentTokenForDamagedCard

string

REQUIRED: The googleInstrumentToken for an existing card. The new card will have the same FPAN, but a different expiration date and security code.