Objetos de respuesta JSON

En esta referencia, se describen las opciones del objeto de respuesta de la API de Google Pay que puedes usar con tu aplicación. Los objetos de respuesta son objetos que devuelven los métodos del cliente de la API de Google Pay.

PaymentData

Es un objeto de respuesta que Google devuelve después de que el pagador aprueba el pago.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Propiedad Tipo Siempre existe. Descripción
apiVersion número Es la versión principal de la API. El valor de la respuesta coincide con el valor proporcionado en
apiVersionMinor número Es la versión secundaria de la API. El valor de la respuesta coincide con el valor proporcionado en
paymentMethodData PaymentMethodData Son los datos sobre la forma de pago seleccionada.
email string No Dirección de correo electrónico, si emailRequired se configura como true en PaymentDataRequest. Si otra solicitud tiene la propiedad establecida en true, no hay ningún efecto.
shippingAddress Dirección No Dirección de envío, si shippingAddressRequired se establece en true en

Ejemplo

En esta respuesta de ejemplo para la versión 2.0 de la API de Google Pay, se muestra una forma de pago CARD seleccionada en la hoja de pago de Google Pay. Se generó un token de forma de pago para la puerta de enlace example.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

PaymentMethodData

Este objeto proporciona datos para una forma de pago seleccionada.

Propiedad Tipo Siempre existe. Descripción
type string PaymentMethod type seleccionado en la hoja de pagos de Google Pay.
description string

Es el mensaje visible para el usuario que describe la forma de pago con la que se financia esta transacción.

info objeto El valor de esta propiedad depende de la forma de pago type que se muestra. Para CARD, consulta CardInfo.
tokenizationData PaymentMethodTokenizationData No Son los datos de tokenización del pago para la forma de pago seleccionada.

Ejemplo

En este ejemplo de respuesta, se muestra cómo una forma de pago CARD seleccionada en la hoja de pago de Google Pay genera un token de forma de pago para la puerta de enlace example.

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

Este objeto proporciona información sobre la tarjeta de pago seleccionada.

Propiedad Tipo Siempre existe. Descripción
cardDetails string Son los detalles de la tarjeta. Por lo general, este valor corresponde a los últimos cuatro dígitos del número de cuenta de pago seleccionada.
assuranceDetails AssuranceDetailsSpecifications Este objeto proporciona información sobre la validación que se realizó en los datos de pago devueltos si assuranceDetailsRequired se establece en true en CardParameters.
cardNetwork string

Es la red de la tarjeta de pago del pago seleccionado. Los valores devueltos coinciden con el formato de allowedCardNetworks en CardParameters. CardParameters.

Este valor de la red de tarjetas no se debe mostrar al comprador. Se usa cuando se necesitan los detalles de la tarjeta de un comprador. Por ejemplo, si el equipo de asistencia al cliente necesita este valor para identificar la tarjeta que usó un comprador en su transacción. Para obtener una descripción visible para el usuario, usa la propiedad description de PaymentMethodData.

billingAddress Dirección No Es la dirección de facturación asociada a la forma de pago proporcionada, si billingAddressRequired se establece en true en CardParameters.
cardFundingSource string

Es el método de financiación de la tarjeta para la forma de pago seleccionada.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Ejemplo

En este ejemplo, se muestra una tarjeta en la red de Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

Este objeto proporciona información sobre la validación que se realizó en las credenciales de pago devueltas para que se puedan aplicar las verificaciones de riesgo del instrumento adecuadas.

Nombre Tipo Descripción
accountVerified booleano Si es true, indica que se realizó la validación de posesión de Cardholder en la credencial de pago devuelta.
cardHolderAuthenticated booleano

Si es true, indica que se realizaron identificaciones y verificaciones (IDyV) en la credencial de pago devuelta.

Si es false, se puede realizar la misma autenticación basada en el riesgo que se haría para las transacciones con tarjeta. Esta autenticación basada en el riesgo puede incluir, sin limitaciones, la autenticación reforzada con el protocolo 3D Secure si corresponde.

Puedes recibir y procesar el objeto de respuesta incluso si no usas el campo assuranceDetails. Para recibir este objeto, incluye assuranceDetailsRequired: true en el objeto Request de CardParameters.

PaymentMethodTokenizationData

Este objeto proporciona datos de tokenización para la forma de pago.

Propiedad Tipo Siempre existe. Descripción
type string Es el tipo de tokenización que se aplicará a la forma de pago seleccionada. Este valor coincide con el type establecido en PaymentMethodTokenizationSpecification.
token string No

Es el token de la forma de pago generado.

Ejemplo

Este es un ejemplo de una respuesta tokenizada preparada para la puerta de enlace example.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

Dirección

Este objeto proporciona información sobre una dirección postal solicitada. Todas las propiedades son cadenas.

Las direcciones se pueden devolver en formatos MIN,FULL y FULL-ISO3166. En la siguiente tabla, se pueden ver las propiedades que pertenecen a cada formato.

Propiedad Formato de dirección Descripción
name MIN, FULL, FULL-ISO3166 Nombre completo del destinatario
postalCode MIN, FULL, FULL-ISO3166 Es el código postal.
countryCode MIN, FULL, FULL-ISO3166 Código de país ISO 3166-1 alpha-2.
phoneNumber MIN, FULL, FULL-ISO3166 Número de teléfono, si phoneNumberRequired se establece en true en PaymentDataRequest.
address1 FULL, FULL-ISO3166 Primera línea de la dirección.
address2 FULL, FULL-ISO3166 Segunda línea de la dirección
address3 FULL, FULL-ISO3166 Es la tercera línea de la dirección.
locality FULL, FULL-ISO3166 Ciudad, pueblo, vecindario o suburbio.
administrativeArea FULL, FULL-ISO3166 Es una subdivisión del país, como un estado o una provincia.
sortingCode FULL, FULL-ISO3166 Es el código de clasificación.
iso3166AdministrativeArea FULL-ISO3166 Es el código de área administrativa ISO 3166-2 que corresponde a administrativeArea.

Ejemplo

Este es un ejemplo de una dirección con formato FULL-ISO3166 en Estados Unidos con varias líneas de datos de dirección.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

IntermediatePaymentData

La API de Google Pay devuelve este objeto en la entrada onPaymentDataChanged() cuando se cambia la dirección de envío o las opciones de envío en la hoja de pago.

Propiedad Tipo Necesidad Descripción
callbackTrigger String Opcional

Describe el motivo por el que se invocó la devolución de llamada de datos de pago.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Opcional Es el código promocional que proporcionó el usuario.
shippingAddress IntermediateAddress Opcional Es la dirección seleccionada en la hoja de pagos.
shippingOptionData SelectionOptionData Opcional Es la opción de envío seleccionada en la hoja de pago.

Ejemplo

En este ejemplo, se muestra la carga útil intermedia que devuelve la API de Google Pay.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

PaymentAuthorizationResult

Este objeto proporciona información sobre el resultado de la autorización de pago.

Propiedad Tipo Necesidad Descripción
transactionState String Obligatorio El estado de la transacción se resuelve con uno de los siguientes resultados del comercio:
  • SUCCESS
  • ERROR
error PaymentDataError Opcional Es el error que se renderizará en la hoja de pagos para el usuario cuando sea necesario volver a intentar el pago.

Ejemplo

En el siguiente ejemplo, se muestra el resultado del pago que se devuelve después de que se procesa un pago:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}