otros métodos de pago
Google Pay
Permite a tus clientes realizar pagos cómoda y rápidamente incorporando Google Pay a tu TPV Virtual
Funcionamiento
Los servicios de pago móvil están cada vez más extendidos y son usados por un amplio abanico de personas que cada vez tiene más confianza en guardar sus tarjetas en el móvil. Por ello, en BBVA, te damos la opción de agregar estos servicios a tu TPV Virtual para que tus clientes puedan pagar de forma rápida y sencilla.
Con Google Pay, tus clientes podrán realizar pagos en tu TPV Virtual con cualquier tarjeta de crédito o débito que tengan guardada en su cuenta de Google, incluidas aquellas de Google Play, YouTube, Chrome o un dispositivo Android. Al integrar este método de pago en tu TPV Virtual, estás aceptando las condiciones de uso de la API de Google Pay.
Modalidades de integración
El enrolamiento del comercio para poder utilizar Google Pay no es tan complejo como Apple Pay, y en unos sencillos pasos podrías aceptar pagos usando Google Pay en tu TPV Virtual.
Conexión por redirección: aceptación de Google Pay en la web
Puedes empezar a aceptar pagos con Google Pay de forma automática en tu TPV Virtual solicitando la activación de este método de pago a BBVA. Este tipo de conexión no requiere de ningún desarrollo técnico ni enrolamiento externo.
Cuando el método de pago esté activo, un botón se mostrará en la pantalla de introducción de datos de tarjeta de tu TPV Virtual por redirección. Al seleccionar ese método de pago, una ventana emergente solicitará los datos de inicio de sesión de Google al cliente si estos no están guardados en el navegador. Luego, se preguntará con qué tarjeta de las guardadas en su cuenta de Google desea pagar y posteriormente el pago será procesado, mostrándose el resultado en pantalla.
Cuando en la pantalla de introducción de datos de tarjeta se pulsa sobre el botón de Google Pay, una ventana emergente solicitará el login en la cuenta de Google (o mostrará aquellas con las que ya se ha iniciado sesión en el ordenador) para poder realizar el pago.
Al seleccionar una cuenta, se mostrarán las tarjetas asociadas a la misma para poder seleccionar con cual se quiere realizar el pago. Una vez seleccionada la tarjeta con la que se quiere abonar el importe, al pulsar sobre el botón continuar, el pago se procesará automáticamente. En algunos casos, se podría solicitar autenticación del titular, deberá seguir las instrucciones de su banco (normalmente confirmar la operación en la aplicación oficial de la entidad).
Si se quiere forzar la ejecución del método de pago usando un X-PAY (Apple Pay o Google Pay), se debe enviar el campo Ds_Merchant_PayMethods con el valor xpay. Esto hará que se muestre la pantalla de pago sin los campos de introducción de datos de tarjeta.
Integración directa por parte del comercio
Para integrar Google Pay en tu app o sitio web, deberás seguir las guías de integración de Google Pay. Puedes consultar la guía de instalación y la guía de referencias para más información.
Una vez hayas completado todos los pasos de la guía, deberás incluir como parametrización obligatoria los siguientes datos:
const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
'gateway': 'redsys',
'gatewayMerchantId': 'FUC proporcionado por BBVA'
}
};
allowedCardNetworks = ["AMEX", "DISCOVER", "JCB", "MASTERCARD", "VISA"];
allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];
paymentDataRequest.merchantInfo = {
//a merchant ID provided by Google is available for a production environment after approval by Google
merchantId: 'XXXXXXXXXXXXXXXXXXXX',
merchantName: 'Nombre del comercio',
merchantOrigin: 'URL del comercio'
};
Puede encontrar más información en las siguientes guías de la documentación oficial:
Una vez completada la itegración en el entorno de pruebas de Google Pay, se deberá solicitar el acceso a producción para aceptar pagos de sus clientes. Este proceso es muy sencillo:
- Solicitar el acceso a producción desde el portal de desarrolladores de Google.
- Google revisará la información que hayas enviado y te podrán enviar modificaciones que, en todo caso, validarán en el mismo entorno de pruebas.
- Google revisará la información que hayas aportado ante esta revisión y, en caso de aprobación, se permitirá su uso en producción.
Una vez hayas seguido todos los pasos que se describían en el apartado anterior, será el momento de probar el funcionamiento de Google Pay en tu TPV Virtual.
Es muy importante que, en primer lugar, solicites el alta del método de pago a BBVA.
Una vez activado, en la opearción de autorización enviada al TPV Virtual, se deben añadir los siguientes parámetros adicionales:
- InApp: Si la integración es sobre una App Móvil.
- WEB: Si la integración es vía web.
Funcionalidades avanzadas: envío de datos descifrados en comercio
IMPORTANTE
Esta funcionalidad podría tener implicaciones en el cumplimiento de la normativa PCI-DSS.
Deberás encargarte de descodificar los datos, obteniendo un objeto con un formato como el de la documentación de Google. El objeto descodificado será algo similar al siguiente bloque.
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1561533871082",
"messageId": "AH2Ejtc8qBlP_MCAV0jJG7ErQKeDrkEUt…",
"paymentMethod": "CARD",
"paymentMethodDetails":
{
"expirationYear": 2026,
"expirationMonth": 12,
"pan": "489537XXXXXX3478",
"authMethod": "CRYPTOGRAM_3DS",
"eciIndicator": "07",
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA="
}
}
Estos datos se enviarán al TPV Virtual en el parámetro Ds_XPayDecodedData en formato JSON, tal y como se muestra en el siguiente bloque de código.
{
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",
"eciInd": "07",
"expirationDate":"2612",
"token": "489537XXXXXX3478",
"paymentMethod": "CARD"
}
Los parámetros tienen los siguientes significados.
- Cryptogram = Referencia al criptograma.
- EciInd = Referencia al eciIndicator.
- ExpirationDate = Formato AAMM de la tarjeta que envía Google (Para esta tarjeta, habría que enviar 2612).
- Token = Referencia al campo pan.
- PaymentMethod = Referencia al campo paymentMethod, podrá ser únicamente CARD o TOKENIZED_CARD.
En la petición de autorización al TPV Virtual sería necesario incorporar los siguientes datos:
- InApp: Si la integración es sobre una App Móvil.
- WEB: Si la integración es vía web.
Y estos datos se adjuntan a la petición al TPV Virtual, tal y como se muestra.
{
<DATOSENTRADA>
<DS_MERCHANT_AMOUNT></DS_MERCHANT_AMOUNT>
<DS_MERCHANT_ORDER></DS_MERCHANT_ORDER>
<DS_MERCHANT_MERCHANTCODE></DS_MERCHANT_MERCHANTCODE>
<DS_MERCHANT_CURRENCY></DS_MERCHANT_CURRENCY>
<DS_MERCHANT_TRANSACTIONTYPE></DS_MERCHANT_TRANSACTIONTYPE>
<DS_MERCHANT_TERMINAL></DS_MERCHANT_TERMINAL>
<DS_XPAYDECODEDDATA>
{
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",
"eciInd": "07",
"expirationDate":"2612",
"token": "489537XXXXXX3478",
"paymentMethod": "CARD"
}
</DS_XPAYDECODEDDATA>
<DS_XPAYTYPE></DS_XPAYTYPE>
<DS_XPAYORIGEN></DS_XPAYORIGEN>