Desembolso bancario local
Realice un desembolso mediante un método común y rentable para enviar dinero a través de un esquema de pagos local. | Empresa
Los casos de uso más comunes pueden incluir:
Desembolso local a su propia cuenta bancaria o a la cuenta bancaria de su cliente
Desembolso local a la cuenta bancaria de un empleado
Desembolso local a un proveedor (B2B)
Un prestamista desea desembolsar un préstamo registrado a través de un sitio web o una aplicación móvil integrada en la plataforma Rapyd.
El gerente financiero utiliza una billetera corporativa para desembolsar préstamos a las cuentas bancarias de los clientes. El gerente financiero inicia el proceso de envío de los fondos del cliente recopilando el número de ruta y la información de la cuenta bancaria.
El backend de su sitio web solicita a Rapyd que procese el desembolso.Rapyd procesa el desembolso. La plataforma Rapyd notifica al backend de su sitio web cuando el desembolso se completa.
El uso de un método de desembolso como (gb_local_bank) y los campos requeridos correspondientes que los beneficiarios deben completar se describe en Cómo funciona.

Recopile el número de ruta y la información de la cuenta bancaria para desembolsar los fondos.
Especifique el código de motivo en la solicitud (por ejemplo, salario).
El backend del sitio web solicita a Rapyd que procese el desembolso hacia un banco del Reino Unido.

Rapyd procesa el desembolso hacia el banco.
El banco acredita en la cuenta bancaria del cliente el dinero proveniente de la billetera corporativa.
Rapyd notifica al backend del sitio web que el desembolso se ha completado.
Requisitos previos
Para ejecutar los ejemplos de este caso de uso, debe crear el siguiente identificador en su propio sandbox:
ewallet - Ejecute Crear una billetera de Rapyd para la billetera corporativa.Utilice el 'id' que reciba en la respuesta. El desembolso se financiará desde la ewallet indicada en la solicitud de desembolso.
Para la página de desembolsos de su sitio web, necesita encontrar tipos de métodos de desembolso que coincidan con sus criterios, como el país y la moneda del desembolso.
En este ejemplo, encontrará tipos de métodos de desembolso bancario local que admiten transferencias en GBP (libras esterlinas) a un beneficiario en el Reino Unido.
Para ello, utilizará Listar los tipos de métodos de pago con los siguientes parámetros:
Descripción de los parámetros de consulta
Parámetro de consulta | Descripción |
|---|---|
categoría | Ingrese banco como la categoría del método de desembolso. |
beneficiary_country | Ingrese GB como el código del Reino Unido, el país del beneficiario. |
payout_currency | Ingrese GBP como el código de libras esterlinas, la moneda recibida por el beneficiario. |
Solicitud de listado de tipos de métodos de desembolso
Solicite una lista de todos los tipos de métodos de desembolso bancario disponibles para transferencias realizadas en Gran Bretaña y en GBP.
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payouts/supported_types?category=bank&beneficiary_country=GB&payout_currency=GBP // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string category = "bank"; string beneficiaryCountry = "GB"; string payoutCurrency = "GBP"; string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payouts/supported_types?category={category}&beneficiary_country={beneficiaryCountry}&payout_currency={payoutCurrency}"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('../../../../../Utilities/JS/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payouts/supported_types?category=bank&beneficiary_country=GB&payout_currency=GBP'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/code_race_2020/Utilities/PHP/utilities.php"; include($path); try { $object = make_request('get', "/v1/payouts/supported_types?category=bank&beneficiary_country=GB&payout_currency=GBP"); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Python
from pprint import pprint from utilities import make_request beneficiary_country = 'GB' category = 'bank' payout_currency = 'GBP' path = f'/v1/payouts/supported_types?category={category}&' \ f'beneficiary_country={beneficiary_country}&' \ f'payout_currency={payout_currency}' results = make_request(method='get', path=path) pprint(results)
Respuesta del listado de tipos de métodos de desembolso
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "5a9fa131-10bb-42b6-8659-934d9fee57a1" }, "data": [ "payout_method_type": "gb_local_bank", "name": "Local UK payouts", "is_cancelable": 0, "is_expirable": 0, "is_location_specific": 0, "status": 1, "image": "/checkout/gb_local_bank.png", "category": "bank", "beneficiary_country": "GB", "sender_country": "*", "payout_currencies": [ "GBP" ], "sender_entity_types": [ "company", "individual" ], "beneficiary_entity_types": [ "company", "individual" ], "amount_range_per_currency": [ { "maximum_amount": null, "minimum_amount": null, "payout_currency": "GBP" } ], "minimum_expiration_seconds": null, "maximum_expiration_seconds": null, "sender_currencies": [ "USD", "SGD", "SEK", "ISK", "HKD", "GBP", "EUR", "DKK", "CHF", "AUD" ], "estimated_time_of_arrival": "An estimated receipt time is not yet available for this payout method" },
La sección datos de esta respuesta de ejemplo muestra que gb_local_bank es un tipo de método de desembolso bancario compatible en el Reino Unido.
Una respuesta real generalmente enumera muchos métodos de desembolso.
Debe identificar los campos requeridos para el tipo de método de desembolso gb_local_bank.
Para ello, utilizará Obtener campos requeridos del desembolso con los siguientes parámetros:
Descripción de los parámetros de ruta
Parámetro de ruta | Descripción |
|---|---|
tipo_de_método_de_pago | Ingrese gb_local_bank como el tipo de método de desembolso. |
Descripción de los parámetros de consulta
Parámetro de consulta | Descripción |
|---|---|
país_del_remitente | Ingrese GB como el código del Reino Unido, el país del remitente. |
moneda_del_remitente | Ingrese GBP como el código de libras esterlinas, la moneda del remitente. |
país_del_beneficiario | Ingrese GB ccomo el código del Reino Unido, el país del beneficiario. |
moneda_del_desembolso | Ingrese GBP como el código de libras esterlinas, la moneda recibida por el beneficiario. |
tipo_de_entidad_del_remitente | Ingrese empresa como el tipo de entidad del remitente. |
tipo_de_entidad_del_beneficiario | Ingrese individual como el tipo de entidad del beneficiario. |
monto_del_desembolso | Ingrese 3000 como el monto recibido por el beneficiario. |
Solicitud de obtención de los campos requeridos del desembolso
Solicite el conjunto de campos requeridos para el tipo de método de desembolso gb_local_bank.
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payout_methods/:pomt/required_fields?beneficiary_country=GB&beneficiary_entity_type=individual&payout_amount=3000&payout_currency=GBP&sender_country=GB&sender_currency=GBP&sender_entity_type=company // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string senderCountry = "GB"; string senderCurrency = "GBP"; string beneficiaryCountry = "GB"; string payoutCurrency = "GBP"; string senderEntityType = "company"; string beneficiaryEntityType = "individual"; string payoutAmount = "3000"; string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payout_methods/:pomt/required_fields?beneficiary_country={beneficiaryCountry}&beneficiary_entity_type={beneficiaryEntityType}&amount={payoutAmount}")&payout_currency={payoutCurrency}&sender_country={senderCountry}&sender_currency={senderCurrency}&sender_entity_type={senderEntityType}; Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('../../../../../Utilities/JS/utilities').makeRequest; async function main() { try { const result = await makeRequest( 'GET', '/v1/payout_methods/:pomt/required_fields?beneficiary_country=GB&beneficiary_entity_type=individual&payout_amount=3000&payout_currency=GBP&sender_country=GB&sender_currency=GBP&sender_entity_type=company' ); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/code_race_2020/Utilities/PHP/utilities.php"; include($path); try { $object = make_request('get', "/v1/payout_methods/:pomt/required_fields?beneficiary_country=GB&beneficiary_entity_type=individual&payout_amount=3000&payout_currency=GBP&sender_country=GB&sender_currency=GBP&sender_entity_type=company"); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Python
from pprint import pprint from utilities import make_request payout_method_type = 'gb_local_bank' sender_country = 'GB' sender_currency = 'GBP' beneficiary_country = 'GB' payout_currency = 'GBP' sender_entity_type = 'company' beneficiary_entity_type = 'individual' payout_amount = 3000 path = f'/v1/payout_methods/:pomt/required_fields?beneficiary_country={beneficiary_country}&beneficiary_entity_type={beneficiary_entity_type}&' \ f'amount={payout_amount}&payout_currency={payout_currency}&' \ f'sender_country={sender_country}&sender_currency={sender_currency}&sender_entity_type={sender_entity_type}' results = make_request(method='get', path=path) pprint(results)
Respuesta de obtención de los campos requeridos del desembolso
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "7f6a6738-b0a2-469b-89d4-26f0cb70cd06" }, "data": { "payout_method_type": "gb_local_bank", "sender_currency": "GBP", "sender_country": "*", "sender_entity_type": "company", "beneficiary_country": "GB", "payout_currency": "GBP", "beneficiary_entity_type": "individual", "is_cancelable": 0, "is_location_specific": 0, "is_expirable": 0, "minimum_expiration_seconds": null, "maximum_expiration_seconds": null, "is_online": null, "image": "/checkout/gb_local_bank.png", "status": 1, "beneficiary_required_fields": [ { "name": "first_name", "regex": "^.{1,70}$", "is_required": true, "type": "string", "description": "Official first name of the bank account holder. First name and last name together should not exceed 70 characters" }, { "name": "last_name", "regex": "^.{1,68}$", "is_required": false, "type": "string", "description": "Official last name of the bank account holder. First name and last name together should not exceed 70 characters" }, { "name": "address", "regex": "^.{1,35}$", "is_required": true, "type": "string", "description": "Beneficiary street name ; building number" }, { "name": "city", "regex": "^.{1,25}$", "is_required": true, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "state", "regex": "^.{1,15}$", "is_required": false, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "country", "regex": "^[A-Z]{2}$", "is_required": true, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "postcode", "regex": "^.{1,10}$", "is_required": false, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "account_number", "regex": "^.{1,34}$", "is_required": true, "type": "string" }, { "name": "bic_swift", "regex": "^(.{8}|.{11})$", "is_required": true, "type": "string" } ], "sender_required_fields": [ { "name": "company_name", "regex": "^.{1,35}$", "is_required": true, "type": "string" }, { "name": "address", "regex": "^.{1,35}$", "is_required": true, "type": "string", "description": "street name ; building number" }, { "name": "city", "regex": "^.{1,25}$", "is_required": true, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "state", "regex": "^.{1,15}$", "is_required": false, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "country", "regex": "^[A-Z]{2}$", "is_required": true, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "postcode", "regex": "^.{1,10}$", "is_required": false, "type": "string", "description": "The combined length of city+state+country+postcode must not exceed 32 characters" }, { "name": "purpose_code", "regex": "^(investment_income|salary|insurance_payments|computer_services|educational_services|payment_of_goods|payment_of_services|Inward_remittance)$", "is_required": false, "type": "string", "allowed_values": [ "investment_income", "salary", "insurance_payments", "computer_services", "educational_services", "payment_of_goods", "payment_of_services", "Inward_remittance" ], "description": "Required only for sending to - China, India, South Korea, Philippines, Malaysia" } ], "payout_options": [ { "name": "statement_descriptor", "regex": "[-a-zA-Z0-9?:().,'+ /]{1,35}", "is_required": true, "type": "string", "description": "Unstructured remittance information" } ], "minimum_amount": null, "maximum_amount": null, "batch_file_header": "payout_method_type,sender_currency,payout_currency,beneficiary.first_name,beneficiary.last_name,beneficiary.address,beneficiary.city,beneficiary.state,beneficiary.country,beneficiary.postcode,beneficiary.account_number,beneficiary.bic_swift,sender.company_name,sender.address,sender.city,sender.state,sender.country,sender.postcode,sender.purpose_code" } }
La sección datos de esta respuesta muestra los campos requeridos para gb_local_bank.
Usted utilizará los campos requeridos para los objetos 'beneficiario' y 'remitente' cuando solicite a Rapyd que procese el desembolso:
Beneficiario | Remitente |
|---|---|
|
|
|
|
|
|
|
|
| |
|
Sugerencia
Utilice Validar beneficiario para verificar los campos del beneficiario antes de solicitar el desembolso. Consulte Validación de los detalles del beneficiario.
En este ejemplo, Four Star Rideshare Service es el remitente del desembolso y el empleado es el beneficiario que recibe el desembolso.
Cuando el gerente de nómina solicita un desembolso desde la billetera electrónica corporativa hacia la cuenta bancaria del empleado, usted solicita a Rapyd que procese el desembolso.
Para ello, utilizará Crear desembolso con los siguientes parámetros:
Descripción de los parámetros del cuerpo
Parámetro del cuerpo | Descripción |
|---|---|
beneficiario | Ingrese un objeto 'beneficiario' con los siguientes campos:
|
país_del_beneficiario | Ingrese GB como el código del Reino Unido, el país del beneficiario. |
tipo_de_entidad_del_beneficiario | Ingrese individual como el tipo de entidad del beneficiario. |
descripción | Ingrese Desembolso de salario vía banco como la descripción de la transacción de desembolso. |
ewallet | Ingrese el id de la billetera que recibió cuando creó la billetera corporativa en su sandbox.Para los fines de este caso de uso, se utiliza ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca, que es el ID de la billetera corporativa creada en el sandbox. |
monto_del_desembolso | Ingrese 3000 como el monto recibido por el beneficiario. |
moneda_del_desembolso | Ingrese GBP como el código de libras esterlinas, la moneda recibida por el beneficiario. |
tipo_de_método_de_desembolso | Ingrese gb_local_bank como el tipo de método de desembolso. |
remitente | Ingrese un objeto 'remitente' con los siguientes campos:
|
moneda_del_remitente | Ingrese GBP como el código de libras esterlinas, la moneda del remitente. |
tipo_de_entidad_del_remitente | Ingrese empresa como el tipo de entidad del remitente. |
país_del_remitente | Ingrese GB como el código del Reino Unido, el país del remitente. |
Desembolsos para beneficiarios extendidos
La creación de un beneficiario extendido permite a un comercio recopilar información adicional sobre su beneficiario antes de crear un desembolso. Se crea un ID de token del beneficiario, que luego se envía en la solicitud de Crea un pago
Por ejemplo, puede utilizar un beneficiario extendido para un desembolso si usted está:
Realizando desembolsos a creadores de contenido independientes
Creando desembolsos para plataformas de negocios basadas en entretenimiento
Realizando un desembolso local a un proveedor
Consulte Crear beneficiario extendido para obtener más información.
Solicitud de creación de desembolso
Usted solicita a Rapyd que procese el desembolso del gerente por 3,000 GBP (libras esterlinas) hacia la cuenta bancaria del empleado en el Reino Unido.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payouts // Message body: { "beneficiary": { "payment_type": "regular", "address": "45 Albert Road", "city": "Anytown", "country": "GB", "first_name": "Henry", "last_name": "Tan", "state": null, "postcode": "10101", "sort_code": "123456", "account_number": "77711020345678" }, "beneficiary_country": "GB", "beneficiary_entity_type": "individual", "description": "des c15622888", "payout_method_type": "gb_local_bank", "ewallet": "ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca", "metadata": { "merchant_defined": true }, "payout_amount": "3000", "payout_currency": "GBP", "sender": { "first_name": "John", "last_name": "Doe", "identification_type": "work_permit", "identification_value": "asdasd123123", "phone_number": "19019019011", "occupation": "plumber", "source_of_income": "business", "date_of_birth": "11/12/1913", "address": "1 Main Street", "purpose_code": "investment_income", "beneficiary_relationship": "spouse", "city":"London", "state":null, "postcode":"1234" }, "statement_descriptor":"GHY* Limited Access 800-123-4567", "sender_country": "GB", "sender_currency": "GBP", "sender_entity_type": "individual" }
Respuesta de creación del desembolso
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "0916d8d3-35e3-45f3-a56a-e3cc93262a38" }, "data": { "id": "payout_92597636be2bcf8bb974e644db857ce3", "payout_type": "bank", "payout_method_type": "gb_local_bank", "amount": 3000, "payout_currency": "GBP", "sender_amount": 3000, "sender_currency": "GBP", "status": "Created", "sender_country": "GB", "sender": { "id": "sender_7d56509da5660fbd0366cf231f4a90fe", "last_name": "Doe", "first_name": "John", "country": "GB", "entity_type": "individual", "address": "1 Main Street", "name": "John Doe", "date_of_birth": "11/12/1913", "postcode": "1234", "city": "London", "phone_number": "19019019011", "currency": "GBP", "identification_type": "work_permit", "identification_value": "asdasd123123", "purpose_code": "investment_income", "beneficiary_relationship": "spouse", "source_of_income": "business", "occupation": "plumber" }, "beneficiary_country": "GB", "beneficiary": { "id": "beneficiary_00fe9e62f04fd5f6cb3a248afb819e7e", "last_name": "Tan", "first_name": "Henry", "country": "GB", "entity_type": "individual", "address": "45 Albert Road", "name": "Henry Tan", "postcode": "10101", "city": "Anytown", "account_number": "77711020345678", "currency": "GBP", "sort_code": "123456", "payment_type": "regular" }, "fx_rate": 1, "instructions": [ { "name": "instructions", "steps": [ { "step1": "The funds will be transferred to the provided account details of the beneficiary." } ] } ], "ewallets": [ { "ewallet_id": "ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca", "amount": 3000, "percent": 100 } ], "metadata": { "merchant_defined": true }, "description": "des c15622888", "created_at": 1697240038, "payout_fees": null, "expiration": null, "paid_at": null, "identifier_type": null, "identifier_value": null, "error": null, "paid_amount": 0, "statement_descriptor": "GHY* Limited Access 800-123-4567", "gc_error_code": null, "estimated_time_of_arrival": "An estimated receipt time is not yet available for this payout method" } }
Además de los valores de los parámetros que ingresó en la solicitud, la sección datos de esta respuesta muestra lo siguiente:
El
Iddel objeto 'desembolso' es payout_92597636be2bcf8bb974e644db857ce3. Los webhooks relacionados con este desembolso hacen referencia a este ID.El tipo de desembolso es banco.
En la sección
remitente:El
Ides sender_7d56509da5660fbd0366cf231f4a90fe .Se enumeran los campos del objeto 'remitente'.
En la sección
beneficiario:El
Ides beneficiary_00fe9e62f04fd5f6cb3a248afb819e7e .Se enumeran los campos del objeto 'beneficiario'.
El
estadoes Creado. Esto significa que el objeto de 'desembolso' se creó correctamente y que el empleado aún no ha recibido los fondos del desembolso.
Simulación de la finalización del desembolso
El sandbox no simula directamente la acción de que el beneficiario reciba los fondos del desembolso. Puede simular esta acción utilizando el procedimiento descrito en Desembolso completo. Para ello, necesitará el ID del desembolso y el monto del desembolso que generó en su sandbox.
Cuando se simula la finalización del desembolso, Rapyd envía un webhook.Configure su sistema para recibir webhooks siguiendo el procedimiento descrito en Definición de un endpoint de webhook
Después de simular que el banco del empleado aceptó la transferencia, Rapyd le envía el Webhook - Desembolso completado.. Este webhook confirma que el desembolso se completó correctamente.
¿Busca información técnica más detallada?
¿Desea ver los métodos y objetos de la API de Rapyd que utilizará?Visite la Merchant API Reference para obtener más detalles técnicos.