En esta referencia, se describen las opciones del objeto de respuesta de la API de Google Pay que se pueden 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 |
number | Sí | Es la versión principal de la API. El valor de la respuesta coincide con el valor proporcionado en |
apiVersionMinor |
number | Sí | Es la versión secundaria de la API. El valor de la respuesta coincide con el valor proporcionado en |
paymentMethodData |
PaymentMethodData | Sí | Son los datos sobre la forma de pago seleccionada. |
email |
cadena | No | Dirección de correo electrónico, si emailRequired se establece en 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 |
cadena | Sí |
PaymentMethod
type seleccionado en la hoja de pago de Google Pay.
|
description |
cadena | Sí | Es el mensaje visible para el usuario que describe la forma de pago que financia esta transacción. |
info |
objeto | Sí | 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 |
cadena | Sí | 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 | Sí | 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 |
cadena | Sí | Es la red de la tarjeta de pago del pago seleccionado.
Los valores devueltos coinciden con el formato de 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 para su transacción. Para obtener una descripción visible para el usuario, usa la propiedad |
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 |
cadena | Sí | Es el método de financiación de la tarjeta para la forma de pago seleccionada.
|
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 Si es |
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 |
cadena | Sí | 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 |
cadena | No | Es el token de la forma de pago generada.
|
Ejemplo
Este es un ejemplo de una respuesta tokenizada preparada para la puerta de enlace example.
{ "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" }
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:
|
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" } }
PaymentDataError
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
reason |
String | Obligatorio | Lista de motivos de error predefinidos:
|
message |
String | Obligatorio | Es el mensaje de error que se muestra al usuario en un diálogo. |
intent |
String | Obligatorio | Es la intención del error.
|
Ejemplo
En este ejemplo, se muestran la intención y el mensaje de error que se renderizarán en la hoja de pagos.
{ "error": { "reason": "SHIPPING_OPTION_INVALID", "message": "This shipping option is invalid for the given address", "intent": "SHIPPING_OPTION" } }
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. Las propiedades que pertenecen a cada formato se pueden ver en la siguiente tabla.
| Propiedad | Formato de dirección | Descripción |
|---|---|---|
name |
MIN, FULL y FULL-ISO3166 |
Nombre completo del destinatario |
postalCode |
MIN, FULL y FULL-ISO3166 |
Es el código postal. |
countryCode |
MIN, FULL y FULL-ISO3166 |
Es el código de país ISO 3166-1 alpha-2. |
phoneNumber |
MIN, FULL y 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 como 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.
|
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", "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
IntermediateAddress
La dirección intermedia contiene una dirección de envío redactada (sin líneas de dirección a nivel de la calle ni nombres de destinatarios) para permitir el cálculo de las opciones de impuestos y envío aplicables antes de que el usuario autorice el pago.
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
administrativeArea |
String | Obligatorio | Es una subdivisión del país, como un estado o una provincia. |
countryCode |
String | Obligatorio | Es el código de país ISO 3166-1 alpha-2. |
locality |
String | Obligatorio | Ciudad, pueblo, vecindario o suburbio. |
postalCode |
String | Obligatorio | Es el código postal censurado según el país. En el caso de Canadá y el Reino Unido, solo contiene los primeros tres caracteres. En el caso de EE.UU., contiene los primeros cinco dígitos. |
iso3166AdministrativeArea |
String | Opcional |
Es el código de área administrativa ISO 3166-2 que corresponde a administrativeArea. Solo está presente si el formato de la dirección de envío es FULL-ISO3166.
|
Ejemplo
En este ejemplo, se muestra la dirección seleccionada en la hoja de pagos.
{ "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" "iso3166AdministrativeArea": "US-NY" }
SelectionOptionData
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
id |
String | Obligatorio | Coincide con SelectionOption.id |
Ejemplo
En este ejemplo, se muestra la opción de envío seleccionada en la hoja de pago.
{ "id": "shipping-001" }