Redireccionamiento bancario
Rapyd facilita a los clientes de su sitio web de comercio electrónico el pago de sus compras en línea directamente desde una cuenta bancaria.
¿Por qué ofrecer Bank Redirect? Es posible que el cliente no tenga una tarjeta de crédito y no haya ninguna local domiciliación bancaria capacidades. Bank Redirect es un método de pago push muy preferido en Asia y LATAM por motivos de seguridad. Durante el proceso de pago, sus clientes son redirigidos a un proceso de inicio de sesión bancario y, una vez completado, el cliente volverá a la página de confirmación de su sitio web.
El proceso de transferencia bancaria que aparece a continuación explica cómo:
Agregue los pagos redirigidos por bancos al flujo de trabajo de su empresa.
Cree una solicitud de redireccionamiento de pago bancario.
Capture la respuesta del pago.
Las siguientes capturas de pantalla representan el flujo de trabajo de la página de pago de Bank Redirect.
Seleccione su cuenta bancaria.
Haga clic en Haga su pedido.

Complete el redireccionamiento del banco.

Redirigir a la página pago exitoso.

Haga clic en Finalizar.
Puede encontrar los métodos de pago de redireccionamiento bancario específicos que aceptará y los campos obligatorios correspondientes que los clientes deben rellenar en la sección Cómo funciona.

El cliente realiza el pago con un artículo y confirma un pago por redireccionamiento bancario en su página.
El back-end de tu sitio web solicita a Rapyd que procese el pago del cliente, especificando el importe, la moneda, el método de pago del banco del cliente y la URL del error y la URL de éxito del pago.
En función de si el cliente completa correctamente el pago con el banco, el banco lo redirigirá a la URL de éxito o error de tu sitio web.
Rapyd procesa la transacción y responde con una URL bancaria única a la que rediriges al cliente para completar el pago.
La URL solo es válida para este pago.
Su sitio web redirige al cliente a la URL del banco.

En el sitio web del banco, el cliente sigue las instrucciones del banco para completar el pago.
Si el pago se realiza correctamente, el banco redirige al cliente a la URL que especificó para realizar el pago correctamente. Si se produce un error en el pago, el banco redirige al cliente a la URL de error.
El banco notifica a Rapyd que el pago se ha completado.
El back-end de su sitio web recibe la confirmación de Rapyd de que el pago se ha completado.
Los siguientes diagramas de secuencia de mensajes describen cómo se intercambia la información entre Rapyd, el comerciante, los clientes del comerciante y el banco.
Crear un pago de redireccionamiento bancario
Crear un pago de redireccionamiento bancario: transacción fallida
Decide los métodos de pago de redireccionamiento bancario que aceptarás para que el cliente pueda especificar sus métodos de pago en su página de pago. Para ello, utilice Enumere los métodos de pago por país con los siguientes parámetros:
Ejemplos de países y divisas
MX (México) y MXN (pesos mexicanos) se utilizan para el país y la moneda en los códigos de muestra que aparecen a continuación.
Descripción de los parámetros de consulta
Parámetro de consulta | Descripción |
|---|---|
país | Entrar MX como código de país para México. |
moneda | Entrar MXN como código de moneda para los pesos mexicanos. |
Solicitud de lista de métodos de pago por país
Solicite una lista de todos los métodos de pago disponibles en MXN (pesos mexicanos).
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/country?country=MX¤cy=MXN // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string country = "MX"; string currency = "MXN"; string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payment_methods/country?country={country}¤cy={currency}"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/country?country=MX¤cy=MXN'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('get', '/v1/payment_methods/country?country=MX¤cy=MXN'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request country = 'MX' currency = 'MXN' results = make_request(method='get', path=f'/v1/payment_methods/country?country={country}¤cy={currency}') pprint(results)
Respuesta
Listar métodos de pago por país describe los campos de la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "8065d391-d324-41cb-8b36-a7d97bd0ed6c" }, "data": [{ "type": "mx_bbva_bank", "name": "online bank payment BBVA mexico", "category": "bank_redirect", "image": "https://iconslib.rapyd.net/checkout/mx_bbva_bank.png", "country": "mx", "payment_flow_type": "redirect_url", "currencies": [ "MXN" ], "status": 1, "is_cancelable": false, "payment_options": [], "is_expirable": false, "is_online": false, "minimum_expiration_seconds": null, "maximum_expiration_seconds": null } ] }
La respuesta muestra que mx_bbva_bank es un método de pago aceptable en la categoría bank_redirect.
Lista de métodos de pago y respuesta
Una respuesta real enumera muchos métodos de pago.
Identifica los campos que su cliente debe completar para el método de pago. Para hacerlo, usa Campos obligatorios para obtener el método de pago con el siguiente parámetro:
Descripción de los parámetros de ruta
Parámetro de ruta | Descripción |
|---|---|
tipo | Entrar mx_bbva_bank como tipo de método de pago. |
Obtener el método de pago Campos obligatorios Solicitud
Solicite el conjunto de campos obligatorios para un pago en el Banco BBVA.
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/mx_bbva_bank/required_fields // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string type = "mx_bbva_bank"; string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payment_methods/{type}/required_fields"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/mx_bbva_bank/required_fields'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/mx_bbva_bank/required_fields'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('get', '/v1/payment_methods/mx_bbva_bank/required_fields'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request payment_method = 'mx_bbva_bank' results = make_request(method='get', path=f'/v1/payment_methods/{payment_method}/required_fields') pprint(results)
Obtener el método de pago Campos obligatorios Respuesta
Campos obligatorios para obtener el método de pago describe los campos de la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "d4b9e9e7-0f9e-4a29-81b6-1e02c7d651af" }, "data": { "type": "mx_bbva_bank", "fields": [], "payment_method_options": [], "payment_options": [], "minimum_expiration_seconds": null, "maximum_expiration_seconds": null } }
La respuesta muestra que no se requieren campos para un mx_bbva_bank pago.
Tipo de método de pago
Para algunos tipos de métodos de pago de esta categoría, los «campos» son obligatorios y deberán completarse. Consulta el código de ejemplo que aparece a continuación donde se indica el tipo de método de pago in_icici_bank
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/in_icici_bank/required_fields // Message body absent
A continuación se genera la respuesta de ejemplo, donde el campo se rellena con la información adicional necesaria para procesar este pago.
Respuesta
"status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "bdb942bd-6c91-4a1c-be66-d78d0c2053bd" }, "data": { "type": "in_icici_bank", "fields": [ { "name": "order_id", "type": "string", "regex": "", "description": "", "is_required": false, "is_updatable": false } ], "payment_method_options": [], "payment_options": [ { "name": "customer", "type": "customer", "regex": "", "description": "make sure a customer was created with first_name, last_name and email ad phone_number", "is_required": false, "is_updatable": false } ], "minimum_expiration_seconds": null, "maximum_expiration_seconds": null } }
Cuando su cliente haga el pago en su sitio web, use Crea un pago con los siguientes parámetros para que Rapyd procese el pago bancario de su cliente:
Descripción de los parámetros corporales
Parámetro corporal | Descripción |
|---|---|
cantidad | Entrar 200 como importe del pago. |
moneda | Entrar MXN como código de divisa. |
URL de pago completa | Sustituya el |
error_payment_url | Sustituya el |
método_pago | Introduzca un objeto con el siguiente campo: |
Crear solicitud de pago
Solicite a Rapyd que procese el pago de su cliente (200 MXN, en este caso) como un pago bancario redirigido.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payments // Message body: { "amount": 200, "currency": "MXN", "complete_payment_url": "https://success_example.net", "error_payment_url": "https://error_example.net", "payment_method": { "type": "mx_bbva_bank" } }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { amount = 200, currency = "MXN", complete_payment_url = "https:success_example.net", error_payment_url = "https:error_example.net", payment_method = new { type = "mx_bbva_bank", } }; string request = JsonSerializer.Serialize(requestObj); string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/payments", request); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const body = { amount: 200, currency: 'MXN', complete_payment_url: 'https://success_example.net', error_payment_url: 'https://error_example.net', payment_method: { type: 'mx_bbva_bank' } }; const result = await makeRequest('POST', '/v1/payments', body); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); $body = [ "amount" => "200", "currency" => "MXN", "complete_payment_url" => "https://success_example.net", "error_payment_url" => "https://error_example.net", "payment_method" => [ "type" => "mx_bbva_bank" ] ]; try { $object = make_request('post', '/v1/payments', $body); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request payment_body = { "amount": 200, "currency": "MXN", "complete_payment_url": "https://success_example.net", "error_payment_url": "https://error_example.net", "payment_method": { "type": "mx_bbva_bank" } } create_payment_response = make_request(method='post', path='/v1/payments', body=payment_body) pprint(create_payment_response) pprint(results)
Crear respuesta de pago
Crear pago describe los campos de la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "5b0e3b02-537d-4a5d-b70b-4b6a4fd35335" }, "data": { "id": "payment_d562969cbe32f8ff175c98ad99a82d4e", "amount": 200, "original_amount": 200, "is_partial": false, "currency_code": "MXN", "country_code": "", "status": "ACT", // ... "customer_token": "cus_5572507a5df016dcaf1cc1e0febfbe69", "payment_method": "other_c8af858b4d7cececb02a8755467c2a21", // ... "captured": true, // ... "redirect_url": "https://sandbox.rapyd.net/complete-bank-payment?token=payment_d562969cbe32f8ff175c98ad99a82d4e", "complete_payment_url": "https://success_example.net", "error_payment_url": "https://error_example.net", // ... "created_at": "1549962206", // ... "paid": false, // ... "instructions": [ { "name": "instructions", "steps": [ { "step1": "You will be redirected to a bank payment page to complete the payment" } ] } ], // ... "payment_method_type_category": "bank_redirect" }} }
La respuesta muestra:
El pago
ides payment_d562969cbe32f8ff175c98ad99a82d4e. Cuando ejecute este ejemplo en su propia zona de pruebas, obtendrá un ID diferente, que necesitará para los pasos posteriores.La
cantidades 200 .El
currency_codees MXN (pesos mexicanos).El
estado(bajodatos) es ACTUAR (activo). Esto significa que el proceso de pago está activo pero no está completo.Se incluyen estas URL:
redireccionar_url- Rediriges al cliente a esta URL única del sitio web del banco para completar el pago.URL de pago completayerror_payment_url- Rapyd proporciona estas URL al banco para redirigir al cliente a su sitio web en función de si la compra se ha realizado correctamente.
Instrucciones para que su cliente complete el pago.
URL de redireccionamiento bancario
Su sitio web muestra a su cliente las instrucciones y lo redirige al sitio web del banco para completar el pago.
Una vez que el cliente haya realizado correctamente un pago:
El banco redirige a su cliente a la URL que proporcionó para realizar el pago correctamente.
El banco informa a Rapyd de que el pago se ha realizado correctamente.
Rapyd le envía un webhook con los detalles de la transacción completada. Consulte el Webhook a continuación.
Simulación de un pago bancario en línea
El sandbox no simula directamente la acción del cliente al completar un pago bancario en línea en el sitio web del banco. Puede simular esta acción con el procedimiento descrito en Completar el pago. Para ello, necesitará el ID de pago que generó en su sandbox.
Configure su sistema para recibir webhooks con el procedimiento descrito en Definición de un endpoint de webhook.
El webhook Webhook: pago completado se genera.
Webhook
{ "id": "wh_267680ccd8fd308b43da58fdd059cd2b", "type": "PAYMENT_COMPLETED”, ", "data": { "id": "payment_d562969cbe32f8ff175c98ad99a82d4e", "fee": 0, "paid": true, "order": null, "amount": 200, "status": "CLO", // ... "captured": true, // ... "created_at": "1549451666", // ... "description": "bank_redirect", // ... "redirect_url": "https://sandbox.rapyd.net/complete-bank-payment?token=payment_d562969cbe32f8ff175c98ad99a82d4e", // ... "currency_code": "MXN", // ... "customer_token": "cus_5572507a5df016dcaf1cc1e0febfbe69", "payment_method": "other_6095cc47e6db1390d170a7fe4a5da6f2", // ... "original_amount": 200, // ... "error_payment_url": "https://https://error_example.net", "payment_method_type": "", "complete_payment_url": "https://success_example.net", // ... "payment_method_type_category": "bank_redirect" }, // ... "created_at": 1549451.726 }
La sección datos del webhook contiene el mismo tipo de información que la respuesta a la solicitud de creación de pago, excepto que estado ahora es CLO (cerrado). Esto indica que la transacción se ha completado.
¿Busca información técnica más detallada?
¿Quiere ver los métodos y objetos de la API de Rapyd que utilizará? Merchant API Reference para obtener más detalles técnicos.