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, tus 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 tu 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.
Crea 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.
Selecciona tu cuenta bancaria.
Haga clic Haga su pedido.

Complete el redireccionamiento del banco.

Redirigir a la pago exitoso página.

Haga clic Finalizar.
Puedes encontrar los métodos de pago de redireccionamiento bancario específicos que aceptarás 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 tu 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.
Tu 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 especificaste 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 tu página de pago. Para ello, utiliza 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
Solicita 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 bank_redirect categoría.
Lista de métodos de pago y respuesta
Una respuesta real enumera muchos métodos de pago.
Identifica los campos que tu 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
Solicita 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
La respuesta de muestra se genera a continuación, donde campos 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 tu cliente haga el pago en tu sitio web, usa 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
Solicita a Rapyd que procese el pago de tu 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 ejecutes este ejemplo en tu propia zona de pruebas, obtendrás un ID diferente, que necesitarás para los pasos posterioresEl
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 tu sitio web en función de si la compra se ha realizado correctamente.
Instrucciones para que tu cliente complete el pago.
URL de redireccionamiento bancario
Tu sitio web muestra a tu 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 tu cliente a la URL que proporcionaste 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. Consulta el Webhook a continuación
Simulación de un pago bancario en línea
El caja de arena 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ás el ID de pago que generaste en tu 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 }
El datos la sección 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?
¿Quieres ver los métodos y objetos de la API de Rapyd que utilizarás? Merchant API Reference para obtener más detalles técnicos.