PaymentOptions

Options for payment associated with a order.

JSON representation
{

  // Union field payment_option can be only one of the following:
  "googleProvidedOptions": {
    object(GoogleProvidedPaymentOptions)
  },
  "actionProvidedOptions": {
    object(ActionProvidedPaymentOptions)
  },
  // End of list of possible types for union field payment_option.
}
Fields
Union field payment_option. Options for payment. payment_option can be only one of the following:
googleProvidedOptions

object(GoogleProvidedPaymentOptions)

Requirements for Google provided payment instrument.

actionProvidedOptions

object(ActionProvidedPaymentOptions)

Info for an Action-provided payment instrument for display on receipt.

GoogleProvidedPaymentOptions

Requirements for Google-provided payment method.

JSON representation
{
  "tokenizationParameters": {
    object(PaymentMethodTokenizationParameters)
  },
  "supportedCardNetworks": [
    enum(CardNetwork)
  ],
  "prepaidCardDisallowed": boolean,
}
Fields
tokenizationParameters

object(PaymentMethodTokenizationParameters)

Required field for requesting Google provided payment instrument. These tokenization parameters will be used for generating payment token for use in transaction. The app should get these parameters from their payment gateway.

supportedCardNetworks[]

enum(CardNetwork)

The app allows cards from any card network listed here being used in transaction. By default, Amex, Visa, MC and Discover are supported.

prepaidCardDisallowed

boolean

If true, disallow prepaid cards from being used in the transaction.

PaymentMethodTokenizationParameters

Partner MUST specify the tokenization parameters if payment methods user saved with Google will be used in the transaction. Partner should be able to get these parameters from its own Payment Gateway.

JSON representation
{
  "tokenizationType": enum(PaymentMethodTokenizationType),
  "parameters": {
    string: string,
    ...
  },
}
Fields
tokenizationType

enum(PaymentMethodTokenizationType)

Required.

parameters

map (key: string, value: string)

If tokenizationType is set to PAYMENT_GATEWAY then the list of parameters should contain payment gateway specific parameters required to tokenize payment method as well as parameter with the name "gateway" with the value set to one of the gateways that we support e.g. "stripe" or "braintree". A sample tokenization configuration used for Stripe in JSON format. { "gateway" : "stripe", "stripe:publishableKey" : "pk_1234", "stripe:version" : "1.5" } A sample tokenization configuration used for Braintree in JSON format. { "gateway" : "braintree", "braintree:clientToken" : "fds12345555ssd", "braintree:version" : "1.5" }

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ActionProvidedPaymentOptions

Requirements for Action-provided payment method.

JSON representation
{
  "paymentType": enum(PaymentType),
  "displayName": string,
}
Fields
paymentType

enum(PaymentType)

Type of payment. Required.

displayName

string

Name of the instrument displayed on the receipt. Required for action-provided payment info. For PAYMENT_CARD, this could be "VISA-1234". For BANK, this could be "Chase Checking-1234". For LOYALTY_PROGRAM, this could be "Starbuck's points". For ON_FULFILLMENT, this could be something like "pay on delivery".