En esta referencia se describen las opciones de 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 de cliente de la API de Google Pay.
PaymentData
Se trata de un objeto de respuesta que devuelve Google después de que un pagador apruebe el pago.
PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.| Propiedad | Tipo | Siempre existe | Descripción |
|---|---|---|---|
apiVersion |
número | Sí | Versión principal de la API. El valor de la respuesta coincide con el valor proporcionado en |
apiVersionMinor |
número | Sí | Versión secundaria de la API. El valor de la respuesta coincide con el valor proporcionado en |
paymentMethodData |
PaymentMethodData | Sí | Datos sobre el método de pago seleccionado. |
email |
string | No | Dirección de correo electrónico, si se asigna el valor true a emailRequired en
PaymentDataRequest.
Si otra solicitud tiene la propiedad definida como true, no se produce ningún efecto. |
shippingAddress |
Dirección | No | Dirección de envío, si shippingAddressRequired tiene el valor true en
|
Ejemplo
En este ejemplo de respuesta de la versión 2.0 de la API de Google Pay se muestra un método de pago CARD seleccionado en la hoja de pago de Google Pay. Se ha generado un token de método de pago para la pasarela 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 de un método de pago seleccionado.
| Propiedad | Tipo | Siempre existe | Descripción |
|---|---|---|---|
type |
string | Sí |
PaymentMethod
type seleccionado en la hoja de pago de Google Pay.
|
description |
string | Sí | Mensaje que se muestra a los usuarios para describir el método de pago que financia esta transacción. |
info |
objeto | Sí | El valor de esta propiedad depende del método de pago type devuelto.
Para CARD, consulta CardInfo.
|
tokenizationData |
PaymentMethodTokenizationData | No | Datos de tokenización del método de pago seleccionado. |
Ejemplo
En este ejemplo de respuesta se muestra cómo un método de pago de CARD seleccionado en la hoja de pago de Google Pay genera un token de método de pago para la pasarela de 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 | Sí | Información sobre la tarjeta. Este valor suele ser los últimos cuatro dígitos del número de cuenta de pagos seleccionado. |
assuranceDetails |
AssuranceDetailsSpecifications | Sí | Este objeto proporciona información sobre la validación realizada en los datos de pago devueltos si assuranceDetailsRequired tiene el valor true en
CardParameters.
|
cardNetwork |
string | Sí | La red de tarjetas de pago del pago seleccionado.
Los valores devueltos coinciden con el formato de Este valor de red de tarjetas no debe mostrarse al comprador. Se usa cuando se necesitan los detalles de la tarjeta de un comprador. Por ejemplo, si el servicio de asistencia necesita este valor para identificar la tarjeta que ha usado un comprador en su transacción. Para obtener una descripción visible para el usuario, usa la propiedad |
billingAddress |
Dirección | No | La dirección de facturación asociada al método de pago proporcionado, si billingAddressRequired tiene el valor true en
CardParameters. |
cardFundingSource |
string | Sí | Origen de los fondos de la tarjeta del método de pago seleccionado.
|
Ejemplo
En este ejemplo se muestra una tarjeta de la red Visa.
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications
Este objeto proporciona información sobre la validación que se ha realizado en las credenciales de pago devueltas para que se puedan aplicar las comprobaciones de riesgo de instrumento adecuadas.
| Nombre | Tipo | Descripción |
|---|---|---|
accountVerified |
booleano | Si es true, indica que se ha realizado la validación de posesión de Cardholder en la credencial de pago devuelta. |
cardHolderAuthenticated |
booleano |
Si es Si |
Puedes recibir y procesar el objeto de respuesta aunque no uses el campo assuranceDetails. Para recibir este objeto, incluye assuranceDetailsRequired: true en el objeto
CardParameters.
PaymentMethodTokenizationData
Este objeto proporciona datos de tokenización del método de pago.
| Propiedad | Tipo | Siempre existe | Descripción |
|---|---|---|---|
type |
string | Sí | El tipo de tokenización que se aplicará al método de pago seleccionado.
Este valor coincide con el type definido en
PaymentMethodTokenizationSpecification.
|
token |
string | No | Token del método de pago generado.
|
Ejemplo
Este es un ejemplo de respuesta tokenizada preparada para la pasarela 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 |
Cadena | Obligatorio | El estado de la transacción se resuelve con uno de los siguientes resultados del comercio:
|
error |
PaymentDataError | Opcional | El error que se mostrará en la hoja de pago al usuario cuando sea necesario volver a intentar el pago. |
Ejemplo
En el siguiente ejemplo se muestra el resultado del pago después de que se haya procesado:
{ "transactionState": "ERROR", "error": { "reason": "PAYMENT_DATA_INVALID", "message": "Cannot pay with payment credentials", "intent": "PAYMENT_AUTHORIZATION" } }
PaymentDataError
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
reason |
Cadena | Obligatorio | Lista de motivos de error predefinidos:
|
message |
Cadena | Obligatorio | Mensaje de error para el usuario que se muestra en un cuadro de diálogo. |
intent |
Cadena | Obligatorio | La intención del error.
|
Ejemplo
En este ejemplo se muestra el intent de error y el mensaje que se mostrará en la hoja de pago.
{ "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 los formatos MIN, FULL y FULL-ISO3166. Las propiedades de cada formato se pueden ver en la siguiente tabla.
| Propiedad | Formato de dirección | Descripción |
|---|---|---|
name |
MIN, FULL y FULL-ISO3166 |
El nombre completo del destinatario. |
postalCode |
MIN, FULL y FULL-ISO3166 |
Código postal. |
countryCode |
MIN, FULL y FULL-ISO3166 |
Código de país ISO 3166-1 alfa-2. |
phoneNumber |
MIN, FULL y FULL-ISO3166 |
Un número de teléfono, si phoneNumberRequired tiene el valor true en
PaymentDataRequest.
|
address1 |
FULL, FULL-ISO3166 |
La primera línea de la dirección. |
address2 |
FULL, FULL-ISO3166 |
Segunda línea de la dirección. |
address3 |
FULL, FULL-ISO3166 |
La tercera línea de la dirección. |
locality |
FULL, FULL-ISO3166 |
Ciudad, pueblo, barrio o suburbio. |
administrativeArea |
FULL, FULL-ISO3166 |
Una subdivisión de un país, como un estado o una provincia. |
sortingCode |
FULL, FULL-ISO3166 |
El sort code. |
iso3166AdministrativeArea |
FULL-ISO3166 |
Código de área administrativa ISO 3166-2 correspondiente a administrativeArea. |
Ejemplo
Este es un ejemplo de dirección con formato FULL-ISO3166 en Estados Unidos con varias líneas de datos de dirección postal.
{ "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
Este objeto se devuelve mediante la entrada onPaymentDataChanged() de la API de Google Pay 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 |
Cadena | Opcional | Describe el motivo por el que se ha invocado la retrollamada de datos de pago.
|
shippingAddress |
IntermediateAddress | Opcional | La dirección seleccionada en la hoja de pago. |
shippingOptionData |
SelectionOptionData | Opcional | La opción de envío seleccionada en la hoja de pago. |
paymentMethodData |
IntermediatePaymentMethodData | Opcional | Los datos del método de pago seleccionado en la hoja de pago. |
Ejemplos
En este ejemplo se muestra la carga útil intermedia que devuelve la API de Google Pay para los cambios de dirección de envío.
{ "callbackTrigger": "SHIPPING_ADDRESS", "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
En este ejemplo se muestra la carga útil intermedia que se devuelve cuando cambia el método de pago.
{ "callbackTrigger": "PAYMENT_METHOD", "paymentMethodData": { "type": "CARD", "info": { "cardNetwork": "VISA", "cardFundingSource": "CREDIT", "billingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" } } } }
IntermediateAddress
La dirección intermedia contiene una dirección de envío oculta (sin líneas de dirección de calle ni nombres de destinatarios) para poder calcular las opciones de impuestos y envío aplicables antes de que el usuario autorice el pago.
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
administrativeArea |
Cadena | Obligatorio | Una subdivisión de un país, como un estado o una provincia. |
countryCode |
Cadena | Obligatorio | Código de país ISO 3166-1 alfa-2. |
locality |
Cadena | Obligatorio | Ciudad, pueblo, barrio o suburbio. |
postalCode |
Cadena | Obligatorio | El código postal ocultado según el país. En el caso de Canadá y el Reino Unido, solo contiene los tres primeros caracteres. En el caso de EE. UU., contiene los cinco primeros dígitos. |
iso3166AdministrativeArea |
Cadena | Opcional |
Código de área administrativa ISO 3166-2 correspondiente a administrativeArea. Solo se incluye 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 pago.
{ "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" "iso3166AdministrativeArea": "US-NY" }
SelectionOptionData
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
id |
Cadena | 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" }
IntermediatePaymentMethodData
Este objeto contiene información limitada sobre el método de pago seleccionado para las retrollamadas de desarrolladores.
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
type |
string | Obligatorio | Tipo de método de pago. Solo se admite CARD para esta retrollamada. |
info |
IntermediateCardInfo | Opcional | Información sobre la tarjeta seleccionada. Solo aparece si type es CARD. |
IntermediateCardInfo
Este objeto contiene información limitada sobre la tarjeta seleccionada, que se usa en las retrollamadas de desarrolladores.
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
billingAddress |
IntermediateAddress | Opcional | La dirección de facturación asociada a la tarjeta. Solo se rellena cuando la dirección de facturación se define como obligatoria. |
cardNetwork |
string | Opcional | La red de la tarjeta de pago seleccionada. Los valores devueltos coinciden con el formato de Este valor de red de tarjetas no se debe mostrar al comprador. |
cardFundingSource |
string | Opcional | Origen de los fondos de la tarjeta de pago seleccionada.
|