Débito directo bancario
Retira fondos de las cuentas bancarias de tus clientes.
Banco domiciliación bancaria es un retiro autorizado de la cuenta bancaria de su cliente. Los adeudos domiciliados se suelen utilizar en transacciones recurrentes, como el pago de facturas, las membresías y las suscripciones. La función de domiciliación bancaria solo está disponible en algunos países donde la capacidad existe como parte de una red bancaria
Los esquemas populares con capacidad de domiciliación bancaria incluyen:
Bacs en el Reino Unido.
ACH en los EE. UU.
BECs en Australia.
GIRO en Singapur.
SEPA en la UE. Consulta la lista de países admitidos por la SEPA (debes estar domiciliado aquí para poder aceptar los pagos de la SEPA
Andorra, Austria, Bélgica, Bulgaria, Chipre, República Checa, Dinamarca, Estonia, Finlandia, Francia, Alemania, Gibraltar, Grecia, Santa Sede, Hungría, Irlanda, Islandia, Italia, Liechtenstein, Lituania, Luxemburgo, Mónaco, Malta, Países Bajos, Noruega, Polonia, Portugal, Rumania, San Marino, España, Eslovenia, Suecia, Suiza
El proceso de domiciliación bancaria que aparece a continuación explica cómo:
Añada los pagos por domiciliación bancaria al flujo de trabajo de su empresa.
Crea una solicitud de pago por domiciliación bancaria.
Capture la respuesta del pago.
Reglas de Rapyd Network
Los participantes de la Red Rapyd están sujetos a la Reglas de la red Rapyd. Cualquier uso o participación en la Red Rapyd que no esté contemplado en las Reglas de la Red Rapyd se regirá por los acuerdos de participación aplicables y la documentación asociada
El siguiente ejemplo representa el flujo de trabajo de una página de pago mediante domiciliación bancaria ACH.
Formulario de prueba de autorización
Su cliente debe firmar un formulario de prueba de autorización que cumpla con las reglas de la red ACH de Rapyd. Para obtener más información, consulte la sección 13: Entradas de ACH iniciadas por Internet Reglas de Rapyd Network. Debe conservar una copia de este formulario en sus registros.
Ingresa la información de tu cuenta.
Haga clic Haga su pedido.

Sigue las instrucciones de pago para completar el pago.
Haga clic Finalizar.

Puedes encontrar los métodos de pago por domiciliación bancaria específicos que aceptarás y los campos obligatorios correspondientes que los clientes deben rellenar en la sección Cómo funciona.

El cliente selecciona el pago SEPA.
Le pides a Rapyd que procese la solicitud.
Rapyd procesa la solicitud y envía el URL de redireccionamiento.
Presentas la URL de redireccionamiento al cliente.
El cliente firma el mandato de la SEPA.

El cliente completa el pago por transferencia bancaria ACH.
El back-end de su sitio web le pide a Rapyd que procese el pago por transferencia bancaria ACH.
Rapyd procesa el pago y responde con los detalles de la transacción.
Rapyd notifica al back-end del sitio web cuando el pago se completa correctamente.
Decide los métodos de pago por domiciliación bancaria que aceptarás para que el cliente pueda especificar sus métodos de pago en tu página de pago. Para hacerlo, usa Enumere los métodos de pago por país con los siguientes parámetros:
Los países disponibles se pueden enumerar con el Lista de países Llamada a la API.
Con fines ilustrativos, utilizaremos NOSOTROS y USD para el país y la moneda en los códigos de muestra que aparecen a continuación. US ACH es el tipo de pago por domiciliación bancaria.
Descripción de los parámetros de consulta
Parámetro de consulta | Descripción |
|---|---|
país | Entrar NOSOTROS como código de país ISO ALPHA-2 para los Estados Unidos. |
moneda | Entrar USD como código de divisa para los dólares estadounidenses. |
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/country?country=US¤cy=USD // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string country = "US"; string currency = "USD"; 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=US¤cy=USD'); 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=US¤cy=USD'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request country = 'US' currency = 'USD' results = make_request(method='get', path=f'/v1/payment_methods/country?country={country}¤cy={currency}') pprint(results))
Lista de métodos de pago por país 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": "90ebf1ec-9e40-49f6-9175-b3a764ab3cd0" }, "data": [ { "type": "us_ach_bank", "name": "Evolve Bank & Trust ", "category": "bank_transfer", "image": "https://iconslib.rapyd.net/checkout/us_ach_bank.png", "country": "us", "payment_flow_type": "bank_transfer", "currencies": [ "USD" ], "status": 1, "is_cancelable": false, "payment_options": [], "is_expirable": false, "is_online": false, "minimum_expiration_seconds": null, "maximum_expiration_seconds": null } ] }
El datos la sección de esta respuesta muestra que us_ach_bank es un método de pago admitido.
Lista de métodos de pago y respuesta
Una respuesta completa de la API muestra 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 us_ach_bank como tipo de método de pago. |
Solicite un conjunto de campos obligatorios para us_ach_bank pago.
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/us_ach_bank/required_fields // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string type = "us_ach_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); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/us_ach_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/us_ach_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 = 'us_ach_bank' results = make_request(method='get', path=f'/v1/payment_methods/us_ach_bank/required_fields') pprint(results)
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": "058bc78e-49aa-4370-b0b4-3635950173ac" }, "data": { "type": "us_ach_bank", "fields": [ { "name": "proof_of_authorization", "type": "boolean", "regex": "", "description": "", "is_required": true, "is_updatable": false }, { "name": "first_name", "type": "string", "regex": "", "description": "", "is_required": false, "is_updatable": false }, { "name": "last_name", "type": "string", "regex": "", "description": "", "is_required": false, "is_updatable": false }, { "name": "company_name", "type": "string", "regex": "", "description": "", "is_required": false, "is_updatable": false }, { "name": "routing_number", "type": "string", "regex": "^([0-9]){9,9}$", "description": "", "is_required": true, "is_updatable": false }, { "name": "payment_purpose", "type": "string", "regex": "(PAYMENT|VENDOR PMT)", "description": "", "is_required": true, "is_updatable": false }, { "name": "account_number", "type": "string", "regex": "^([0-9]){1,34}$", "description": "", "is_required": true, "is_updatable": false } ], "payment_method_options": [], "payment_options": [], "minimum_expiration_seconds": null, "maximum_expiration_seconds": null } }
El datos la sección de esta respuesta muestra que los siguientes campos son obligatorios para un us_ach_bank pago:
comprobante_de_autorización
número_de_ruta
finalidad_pago
número_cuenta
Los siguientes campos son opcionales:
nombre_de_pila
apellido_nombre
nombre_empresa
Cuando tu cliente pague un préstamo en tu sitio web, crea una solicitud llamada Crea un pago, mediante los siguientes parámetros, para que Rapyd procese el pago mediante transferencia bancaria ACH:
Descripción de los parámetros corporales
Parámetro corporal | Descripción |
|---|---|
cantidad | Entrar 2100 como importe del pago. |
moneda | Entrar USD como código de divisa para dólares estadounidenses. |
método_pago | Introduzca un objeto con los siguientes campos:
|
Solicita a Rapyd que procese el pago de tu cliente (de 2.100,00 USD) mediante transferencia bancaria ACH.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payments // Message body: { "amount": 2100, "currency": "USD", "payment_method": { "type": "us_ach_bank", "fields": { "proof_of_authorization": true, "first_name": "Test", "last_name": "User", "company_name": "Acme", "routing_number": "123UA34599", "payment_purpose": "Loan payment", "account_number": "USA_2340234-098-0908g" } } }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { amount = 2100, currency = "USD", payment_method = new { type = "us_ach_bank", fields = new { proof_of_authorization = true, first_name = "Test", last_name = "User", company_name = "Acme", routing_number = "123UA34599", payment_purpose = "Loan payment", account_number = "USA_2340234-098-0908g", } } }; 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: 2100, currency: 'USD', payment_method: { type: 'us_ach_bank', fields: { proof_of_authorization: true, first_name: 'Test', last_name: 'User', company_name: 'Acme', routing_number: '123UA34599', payment_purpose: 'Loan payment', account_number: 'USA_2340234to098to0908g' } } }; const result = await makeRequest('POST', '/v1/payments', body); console.log(result); } catch (error) { console.error('Error completing request', error); } }
Pitón
from pprint import pprint from utilities import make_request payment_body = { "amount": 2100, "currency": "USD", "payment_method": { "type": "us_ach_bank", "fields": { "proof_of_authorization": true, "first_name": "Test", "last_name": "User", "company_name": "Acme", "routing_number": "123UA34599", "payment_purpose": "Loan payment", "account_number": "USA_2340234to098to0908g" } } } create_payment_response = make_request(method='post', path='/v1/payments', body=payment_body) pprint(create_payment_response) pprint(results)
Crear pago describe los campos de la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "3ae269bc-11ff-477b-9f2a-ce69786876dc" }, "data": { "id": "payment_a7ed3e41026614bc9e1d50981c099e07", "amount": 0, "original_amount": 2100, // ... "currency_code": "USD", "country_code": "us", "status": "ACT", // ... "customer_token": "cus_722c2234e6f83c5249b5376d743737cc", "payment_method": "other_1a06a5f97f4b0ff901d61f3ea704b296", // ... "created_at": 1583408200, // ... "paid": false, // ... "payment_method_type": "us_ach_bank", "payment_method_type_category": "bank_transfer", // ... } }
El datos la sección de esta respuesta muestra:
El pago
ides payment_a7ed3e41026614bc9e1d50981c099e07. Cuando lo ejecutes en tu propia zona de pruebas, obtendrás una ID diferente, que necesitarás para un paso posteriorEl
original_amountsi el pago es 2100. Necesitará este valor para un paso posterior.El
currency_codees USD .El
estadoes ACTUAR. Esto significa que el proceso de pago está activo y pendiente de finalización. Objeto de pago enumera los valores posibles paraestado.
Simule la finalización del pago
El caja de arena no simula directamente la acción que completa un pago. Puede simular esta acción con el procedimiento descrito en Completar el pago. Para ello, necesitarás los siguientes valores de la respuesta que recibiste cuando ejecutaste «Crear pago» en
identificador de pagocódigo(en eltextual_codesobjeto)cantidad_original
Cuando se completa un pago, Rapyd envía un webhook. Antes de ejecutar «Completar el pago», configura tu sistema para recibir webhooks Definición de un endpoint de webhook .
Tras simular la transferencia de fondos por parte del banco de su cliente, Rapyd le envía un webhook Webhook: pago completado para confirmar que se completó el pago.