Cómo mover fondos entre carteras
Envía dinero dentro del ecosistema de Rapyd. | Empresa
La plataforma Rapyd facilita a sus clientes la transferencia de dinero desde su propia cuenta Rapyd Wallet a la billetera de otro cliente. Los casos de uso comunes pueden incluir:
Un cliente quiere transferir fondos al monedero de otro cliente.
Un vendedor de un mercado decide transferir fondos al monedero de otro vendedor.
El monedero de una empresa transfiere fondos al monedero de un empleado para que la transacción sea más rápida que el desembolso.
Por ejemplo, un cliente de tu plataforma quiere transferir fondos a otro cliente de tu plataforma.
cliente 1 le proporciona la información de identificación del cliente 2, el importe y la moneda a transferir. Su sistema ERP le pide a Rapyd que transfiera el dinero al cliente 2. Cuando se inicia la transferencia, su ERP le pide al cliente 2 que acepte la transferencia. Rapyd completa la transferencia y su ERP notifica a ambos clientes que se ha transferido el dinero
Nota
¿Por qué transferir fondos entre Rapyd Wallets en lugar de Disburse? Rapidez, sencillez y costes. La creación de un ecosistema de monederos le permite pagar a sus trabajadores de forma más fluida, acelera el tiempo de procesamiento y evita las costosas comisiones de transacción de terceros.
Veamos los aspectos más destacados de su flujo de trabajo.
En tu sitio web o aplicación móvil, el cliente selecciona Transfiere fondos a otro monedero y clics Confirme.

El sitio web o la aplicación móvil solicitan al cliente los detalles de la transferencia.
El cliente 1 proporciona los detalles.
El back-end le pide a Rapyd que inicie la transferencia.
Rapyd procesa la solicitud y le notifica que se ha iniciado la transferencia.
Tu back-end envía la confirmación al cliente que solicitó la transferencia.

Notificas al destinatario que se está enviando dinero y le pides que acepte.
El destinatario hace clic Aceptar .
Tu back-end le pide a Rapyd que finalice la transferencia.
Rapyd transfiere el dinero y le notifica que la transferencia se ha completado.
Notificas a ambos clientes que la transferencia se ha completado.
Los siguientes diagramas de secuencia de mensajes describen cómo se intercambia la información entre Rapyd, el comerciante y los clientes del comerciante.
Transfiere fondos entre carteras
Transferencia de fondos entre carteras: rechazada
Transferencia de fondos entre carteras: cancelada
Prerrequisitos
Para ejecutar los ejemplos de este caso de uso, debes crear los siguientes ID de billetera en tu propio caja de arena :
source_ewallet - Corre Crea una billetera para la billetera del cliente. Usa el ID de billetera tú entras en la respuesta.
destination_wallet - Corre Crea una billetera para la billetera del cliente. Usa la «identificación» que obtienes en la respuesta.
Para obtener más información, consulte Creación de una billetera Rapyd.
Cuando el cliente solicita transferir fondos a la billetera del cliente, le pides a Rapyd que inicie el proceso de transferencia. Este es el primer paso de un proceso de dos pasos
Para eso, utilizarás Transfiera fondos entre carteras con los siguientes parámetros:
Descripción de los parámetros
Parámetro corporal | Descripción |
|---|---|
cantidad | Entrar 100 como el importe a transferir del monedero del cliente. |
moneda | Entrar USD como código de divisa para dólares estadounidenses. |
source_ewallet | Introduzca el ID que recibiste cuando creaste la cartera del cliente en tu sandbox. Para los fines de esta lección de casos de uso, estamos usando ewallet_56a273c10570528c608f2c6bcdc8ea41, que es el identificador de monedero que hemos creado en nuestra zona de pruebas. |
destination_wallet | Introduce la «identificación» que recibiste cuando creaste la cartera del cliente 2 en tu entorno de pruebas. Para los fines de esta lección de casos de uso, estamos usando ewallet_43b888d4c038a219c52f45e754139f74, que es el identificador de monedero que hemos creado en nuestra zona de pruebas. |
Solicitud de transferencia de fondos entre carteras
Le pides a Rapyd que transfiera el dinero a la billetera del cliente 2.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/account/transfer // Message body: { "amount": 100, "currency": "USD", "source_ewallet": "ewallet_56a273c10570528c608f2c6bcdc8ea41", "destination_ewallet": "ewallet_43b888d4c038a219c52f45e754139f74", }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { amount = 100, currency = "USD", source_ewallet = "ewallet_56a273c10570528c608f2c6bcdc8ea41", destination_ewallet = "ewallet_43b888d4c038a219c52f45e754139f74", }; string request = JsonSerializer.Serialize(requestObj); string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/account/transfer", 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 = { source_ewallet: 'ewallet_56a273c10570528c608f2c6bcdc8ea41', destination_ewallet: 'ewallet_43b888d4c038a219c52f45e754139f74', amount: 100, currency: 'USD' }; const result = await makeRequest('POST', '/v1/account/transfer', 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' => 100, 'currency' => 'USD', 'source_ewallet' => 'ewallet_56a273c10570528c608f2c6bcdc8ea41', 'destination_ewallet' => 'ewallet_43b888d4c038a219c52f45e754139f74' ]; try { $object = make_request('post', '/v1/account/transfer', $body); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Transfiere fondos entre carteras Response
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "1e6a07d6-7b06-4d6b-88b6-552fd4c2ec60" }, "data": { "id": "af468df8-6f4e-11ea-833c-02e199f7f6f5", "status": "PEN", "amount": 100, "currency_code": "USD", "transfer_response_at": 0, "created_at": 1585219432, // ... } }
El datos la sección de esta respuesta muestra:
El
Idsi la transacción de transferencia es af468df8-6f4e-11ea-833c-02e199f7f6f5. Cuando ejecutes este ejemplo en tu propia zona de pruebas, obtendrás un ID diferente, que necesitarás para un paso posterior en este caso prácticoEl
estadoes BOLÍGRAFO (Pendiente). El dinero aún no se ha transferido.El
cantidades 100.El
currency_codees USD.
Transacciones pendientes en un libro mayor de monederos
Para ver el estado de las transacciones, consulte estado campo. source_ewallet_id o el destination_ewallet_id identifique la cartera de origen y destino de la transacción.
Cuando el cliente 2 indica que acepta la transferencia, le pides a Rapyd que complete la transacción.
Para eso, utilizarás Configure la respuesta de transferencia con los siguientes parámetros:
Descripción de los parámetros
Parámetro corporal | Descripción |
|---|---|
identificación | Introduce el «identificador» de la transacción de transferencia que recibiste al crear la transacción de transferencia en tu entorno de pruebas. Para los fines de esta lección de casos de uso, estamos usando af468df8-6f4e-11ea-833c-02e199f7f6f5, que es el identificador de la transacción de transferencia que creamos en nuestra zona de pruebas. |
estado | Entrar aceptar para indicar que el cliente 2 acepta la transferencia. |
Configurar solicitud de respuesta de transferencia
Le pides a Rapyd que complete la transferencia de 100,00$ del monedero del cliente al monedero del cliente 2.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/account/transfer/response // Message body: { "id": "af468df8-6f4e-11ea-833c-02e199f7f6f5", "status": "accept" }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { id = "af468df8-6f4e-11ea-833c-02e199f7f6f5", status = "accept", }; string request = JsonSerializer.Serialize(requestObj); string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/account/transfer/response", 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 = { id: 'af468df8-6f4e-11ea-833c-02e199f7f6f5', status: 'accept' }; const result = await makeRequest('POST', '/v1/account/transfer/response', 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 = [ 'id' => 'af468df8-6f4e-11ea-833c-02e199f7f6f5', 'status' => 'accept', ]; try { $object = make_request('post', '/v1/account/transfer/response', $body); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request transfer = 'af468df8-6f4e-11ea-833c-02e199f7f6f5' body = { "id": transfer, "status": "accept" } results = make_request(method='post', path='/v1/account/transfer/response', body=body) pprint(results)
Establecer la respuesta de respuesta de transferencia
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "4b8e014f-38ff-48dc-812b-547bd1f65874" }, "data": { "id": "af468df8-6f4e-11ea-833c-02e199f7f6f5", "status": "CLO", "amount": 100, "currency_code": "USD", "destination_phone_number": null, "transfer_response_at": 1585219599, "created_at": 1585219432, // ... } }
El datos la sección de esta respuesta muestra que el estado es ahora CLO (cerrado). Esto indica que el dinero se ha transferido al monedero del cliente 2.
Tu sitio web notifica a ambos contactos del monedero que la transferencia se ha completado.