En esta referencia se describen las opciones del objeto de respuesta de la API de Google Pay que puedes usar en tu sitio web. Los objetos de respuesta son objetos que devuelven los métodos de cliente de la API de Google Pay.
IsReadyToPayResponse
Este objeto proporciona información sobre la capacidad de un visitante de un sitio web para proporcionar información de pago al sitio que la solicita.
| Propiedad | Tipo | Siempre existe | Descripción |
|---|---|---|---|
result |
booleano | Sí | El visitante actual puede proporcionar información de pago al sitio que la solicite. La capacidad de un visitante para pagar puede estar vinculada a la capacidad de su navegador web para mostrar los componentes necesarios de los métodos de pago especificados. Esto incluye los casos en los que inician sesión en una cuenta de Google y proporcionan un método de pago. |
paymentMethodPresent |
booleano | No |
Si Solo existe cuando Si |
Ejemplo
En el siguiente ejemplo se muestra cuándo puede proporcionar el visitante actual información para pagos al sitio que la solicita.
{ "result": true }
PaymentData
Es 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
PaymentDataRequest. |
apiVersionMinor |
número | Sí | Versión secundaria de la API. El valor de la respuesta coincide con el valor proporcionado en
PaymentDataRequest. |
paymentMethodData |
PaymentMethodData | Sí | Datos sobre el método de pago seleccionado. |
email |
string | No | Dirección de correo electrónico, si emailRequired se define como true
en
PaymentDataRequest.
Si otra solicitud tiene la propiedad definida como true, no tendrá ningún efecto. |
shippingAddress |
Dirección | No | Dirección de envío, si shippingAddressRequired se ha definido como true en
PaymentDataRequest. |
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" } } }
IntermediatePaymentData
La API de Google Pay devuelve este objeto 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 |
Cadena | Opcional | Describe el motivo por el que se ha invocado la retrollamada de datos de pago.
|
offerData |
OfferData | Opcional | El código promocional proporcionado por el usuario. |
shippingAddress |
IntermediateAddress | Opcional | La dirección seleccionada en la hoja de pago. |
shippingOptionData |
SelectionOptionData | Opcional | Opción de envío seleccionada en la hoja de pago. |
Ejemplo
En este ejemplo se muestra la carga útil intermedia devuelta por 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" } }
PaymentMethodData
Este objeto proporciona datos de un método de pago seleccionado.
| Propiedad | Tipo | Siempre existe | Descripción |
|---|---|---|---|
type |
string | Sí |
PaymentMethod
type seleccionada en la hoja de pago de Google Pay.
|
description |
string | Sí | Mensaje visible para el usuario que describe el método de pago con el que se 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 pago del método de pago seleccionado. |
Ejemplo
En este ejemplo de respuesta se muestra cómo un método de pago CARD seleccionado en la hoja de pago de Google Pay genera un token de método de pago para la pasarela 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í | Los detalles de la tarjeta. Este valor suele ser los cuatro últimos dígitos del número de la cuenta de pago seleccionada. |
assuranceDetails |
AssuranceDetailsSpecifications | Sí | Este objeto proporciona información sobre la validación realizada en los datos de pago devueltos si assuranceDetailsRequired se define como 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 la red de la tarjeta no debe mostrarse al comprador. Se usa cuando se necesitan los detalles de la tarjeta de un comprador. Por ejemplo, si el equipo 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 se ha definido como 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 del instrumento adecuadas.
| Nombre | Tipo | Descripción |
|---|---|---|
accountVerified |
booleano | Si true, indica que se ha realizado la validación de posesión de Cardholder en la credencial de pago devuelta. |
cardHolderAuthenticated |
booleano |
Si 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 Request
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 una 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 comerciante:
|
error |
PaymentDataError | Opcional | 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 de pago devuelto después de procesar 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 |
Cadena | Obligatorio | Lista de motivos de error predefinidos:
|
message |
Cadena | Obligatorio | Mensaje de error que se muestra al usuario en un cuadro de diálogo. |
intent |
Cadena | Obligatorio | La intención del error. Debe ser una que se haya registrado en
|
Ejemplo
En este ejemplo se muestra el intent de error y el mensaje que se va a renderizar 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 formatos MIN, FULL y FULL-ISO3166. Las propiedades de cada formato se pueden consultar 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 |
El 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 se ha definido como 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 |
Tercera línea de la dirección. |
locality |
FULL, FULL-ISO3166 |
Ciudad, pueblo, barrio o zona residencial. |
administrativeArea |
FULL, FULL-ISO3166 |
Una subdivisión de un país, como un estado o una provincia. |
sortingCode |
FULL, FULL-ISO3166 |
El código de ordenación. |
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 de Estados Unidos con varias líneas de datos de la 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" }
IntermediateAddress
| 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 zona residencial. |
postalCode |
Cadena | Obligatorio | El código postal censurado en función del país. En el caso de Canadá y el Reino Unido, solo contiene los tres primeros caracteres. En 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 | Coincidencias con SelectionOption.id |
Ejemplo
En este ejemplo se muestra la opción de envío seleccionada en la hoja de pago.
{ "id": "shipping-001" }
OfferData
Este objeto proporciona información sobre un código de oferta introducido en la hoja de pago.
| Propiedad | Tipo | Necesidad | Descripción |
|---|---|---|---|
redemptionCodes |
array | Siempre existe | Conjunto de códigos promocionales introducidos en la hoja de pago. Incluye los códigos que ya se han aprobado. |
Ejemplo
En el siguiente ejemplo se muestra un objeto OfferData con un array redemptionCodes.
"offerData": { "redemptionCodes": ["PROMOTIONALCODE"] }