Skip to main content

Documentación

Cuentas virtuales

Acepte pagos a nivel local. | Enterprise

Cuando se crea una cuenta virtual, esta se vincula a una cuenta de billetera. Cada billetera Rapyd puede tener varias cuentas virtuales. Esta estructura facilita la identificación de los pagos entrantes y la agrupación de numerosos pagos en una sola billetera, lo cual puede simplificar la conciliación. Los números de las cuentas virtuales están activos mientras la cuenta de la billetera esté activa.

Cree un número de cuenta virtual para cobrar de manera eficiente los pagos transfronterizos de sus clientes por medio de diferentes métodos de pago como transferencias bancarias. Los números de cuenta virtuales de Rapyd son de uso múltiple, por lo que los clientes pueden usar el mismo número para enviar pagos repetidos durante un largo período de tiempo.

Una cuenta virtual se puede usar para procesar el desembolso fondos repetidamente a lo largo del tiempo. Los casos de uso más comunes incluyen el procesar el desembolso de dinero a un beneficiario o el proceso de desembolso para pagar la nómina.

En la actualidad, Rapyd admite Vibans en Europa y formatos de cuentas bancarias locales en otros mercados que no utilizan el estándar IBAN.

Al crear su número de cuenta virtual, asegúrese de generarlo con el código de país con el que espera que sus clientes envíen el pago, puesto que es posible que un responsable de pago tenga que pagar cargos internacionales según su ubicación y las políticas de su propio banco.

Consulte la siguiente tabla para ver los códigos de país y las monedas admitidas en cada mercado.

Código de país

Monedas admitidas

GB

GBP

DE

EUR *

DK

AED, AUD, CHF, CZK, DKK, HKD, HRK, HUF, ILS, JPY, MXN, NOK, NZD, PLN, RON, SAR, SEK, SGD, TRY, USD, ZAR

MX

MXN

SG

SGD, USD, AUD, CHF, EUR, GBP, HKD, JPY, NOK, NZD, SEK

AU

AUD, USD

NZ

NZD, USD

ID

IDR

*Reciba transferencias en EUR en 36 países de la región SEPA.

Nota

No necesita estar en el país especificado para crear un número de cuenta virtual utilizando ese código de país.

Por ejemplo, un cliente es propietario de una billetera, tal y como se describe en Crear una billetera Rapyd. El cliente quiere que su billetera tenga un número de cuenta virtual para poder transferir dinero directamente a la billetera. El cliente proporciona la información solicitada por tu sitio web o aplicación móvil y recibe un número de cuenta bancaria para su billetera.

van-diagram.jpg
issuing-a-va.jpg
  1. Un cliente de su sitio web o aplicación móvil solicita un número de cuenta bancaria virtual para la billetera del cliente y proporciona la información requerida. Usted solicita una conversión de moneda para el pago.

  2. El back-end le pide a Rapyd que emita un número de cuenta bancaria virtual a la billetera.

  3. Rapyd emite el número de cuenta bancaria virtual y le devuelve una confirmación a su back-end.

  4. Usted le muestra el número de cuenta bancaria al cliente.

El mismo cliente desea realizar un nuevo pago a través de la Cuenta Virtual.

receiving-funds.jpg
  1. Usted ejecuta Listar cuentas virtuales de Rapyd Wallet.

  2. Rapyd devuelve los detalles del número de cuenta virtual.

  3. Usted le presenta al cliente el número de cuenta virtual, incluido el ID de la cuenta.

  4. El cliente envía los fondos a los detalles del número de cuenta virtual. Los fondos se convierten a la moneda solicitada.

  5. Rapyd le envía una notificación webhook de los fondos depositados.

Puede solicitar una conversión de moneda para su cuenta virtual especificando la moneda solicitada mediante el campo requested_currency. La moneda solicitada es a lo que se convertirán los fondos cuando cobre pagos o realice pagos con su cuenta virtual.

Todas las monedas admitidas se pueden convertir con FX. La selección de la moneda solicitada no afecta a las monedas que puede recibir la cuenta virtual.

Prerrequisitos

Para ejecutar los ejemplos de este caso de uso, debe crear el siguiente ID en su propio sandbox:

  • ewallet: Ejecute Crear billetera para la billetera del cliente. Use el ID que obtiene en la respuesta.

Usted le pide a Rapyd que emita un número de cuenta virtual a la billetera del cliente.

Para ello, utilizará Emitir número de cuenta virtual a billetera con los siguientes parámetros:

Descripción de los parámetros corporales

Parámetro corporal

Descripción

ewallet

Introduzca el ‘id’ de la billetera que recibió cuando creó la billetera en su sandbox. Para los fines de esta lección de casos de uso, estamos usando ewallet_45c238c0d8882467128318e6a4977eed que es el identificador de la billetera que hemos creado en nuestra sandbox.

country

Introduzca GB como código de país de Gran Bretaña donde vive el cliente.

requested_currency

Introduzca USD como moneda solicitada. Este parámetro es opcional.

currency

Introduzca GBP como código de moneda para las libras.

description

Introduzca Emitir número de cuenta virtual a la billetera como comentario.

Usted le pide a Rapyd que emita el número de cuenta virtual a la billetera.

    • Solicitud

      • // Request URL: POST https://sandboxapi.rapyd.net/v1/issuing/bankaccounts
        
        // Message body:
        {
          "currency": "GBP",
          "country": "GB",
          "requested_currency": "USD",
          "description": "Issuing bank account number to wallet",
          "ewallet": "ewallet_45c238c0d8882467128318e6a4977eed"
        }
    • .NET Core

      • using System;
        using System.Text.Json;
        
        namespace RapydApiRequestSample
        {
            class Program
            {
                static void Main(string[] args)
                {
                    try
                    {
                        var requestObj = new
                        {
                            country = "SK",
                            currency = "EUR",
                            description = "Issuing bank account number to wallet",
                            ewallet = "ewallet_45c238c0d8882467128318e6a4977eed"
                         };
        
                        string request = JsonSerializer.Serialize(requestObj);
        
                        string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/issuing/bankaccounts", 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 = {
              currency: 'EUR',
              country: 'SK',
              description: 'Issuing bank account number to wallet',
              ewallet: 'ewallet_45c238c0d8882467128318e6a4977eed'
            };
            const result = await makeRequest('POST', '/v1/issuing/bankaccounts', 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 = [
            'currency' => 'EUR',
            'country' => 'SK',
            'description' => 'Issuing bank account number to wallet',
            'ewallet' => 'ewallet_45c238c0d8882467128318e6a4977eed'
        ];
        
        try {
            $object = make_request('post', '/v1/issuing/bankaccounts', $body);
            var_dump($object);
        } catch (Exception $e) {
            echo "Error: $e";
        }
        ?>
    • Python

      • from pprint import pprint
        
        from utilities import make_request
        
        body = {
            "currency": "EUR",
            "country": "SK",
            "description": "Issuing bank account number to wallet",
            "ewallet": "ewallet_45c238c0d8882467128318e6a4977eed",
        }
        
        results = make_request(method='post', path=f'/v1/issuing/bankaccounts', body=body)
        pprint(results)
Respuesta de emitir número de cuenta virtual a la billetera

Veamos la respuesta.

    • Respuesta

      • {
            "status": {
                "error_code": "",
                "status": "SUCCESS",
                "message": "",
                "response_code": "",
                "operation_id": "6ccb0572-93ad-4dbf-b419-76b14876c29d"
            },
            "data": {
                "id": "issuing_64c7c4c32189fa8689ec9fe050aff3d9",
                "merchant_reference_id": "issuing_64c7c4c32189fa8689ec9fe050aff3d9",
                "ewallet": "ewallet_45c238c0d8882467128318e6a4977eed",
                "bank_account": {
                    "Iban": "GB3645888045987523520112"
                },
        
                // ...  
                  
                "status": "ACT",
                "description": "Issuing bank account number to wallet",
                "currency": "GBP",
                "requested_currency": "USD",
                "transactions": []
            }
        }

La sección data de esta respuesta muestra:

  • El ID Rapyd del número de cuenta bancaria de la billetera es issuing_64c7c4c32189fa8689ec9fe050aff3d9. Como la solicitud no especificaba un ID de referencia, este número también se utiliza para merchant_reference_id. Cuando ejecute este ejemplo en su sandbox, obtendrá un ID diferente.

  • ewallet es el ID de la billetera del cliente.

  • El bank_account en este caso tiene un IBAN con el número GB3645888045987523520112.

  • El currency es GBP.

  • El requested_currency es USD.

  • El status es ACT. Esto significa que el número de cuenta bancaria está activo.

Su sitio web le muestra al cliente una confirmación y el número de cuenta bancaria.

A continuación se incluyen más ejemplos para otros países, Singapur y Dinamarca.

    • Solicitud (Singapur)

      • {
           "currency": "SGD",
           "country": "SG",
           "description": "Issue bank account number to wallet",
           "ewallet": "ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca",
           "merchant_reference_id": "bankaccountnumber12345543",
           "metadata": {
               "merchant_defined": true
           }
        }
        
    • Solicitud (Dinamarca)

      • {
           "currency": "SGD",
           "country": "DK",
           "description": "Issue bank account number to wallet",
           "ewallet": "ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca",
           "merchant_reference_id": "bankaccountnumber12345543",
           "metadata": {
               "merchant_defined": true
           }
        }
        
    • Respuesta (Singapur)

      • {
           "status": {
               "error_code": "",
               "status": "SUCCESS",
               "message": "",
               "response_code": "",
               "operation_id": "63e2bb39-8087-4d94-9d7d-89070efc701a"
           },
           "data": {
               "id": "issuing_96671e3831b29f9af01202a47c872203",
               "merchant_reference_id": "bankaccountnumber12345543",
               "ewallet": "ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca",
               "bank_account": {
                   "beneficiary_name": "Rapyd Holdings Pte Ltd",
                   "address": "12 Marina Boulevard, DBS Asia Central, Marina Bay Financial Center Tower 3",
                   "country_iso": "SG",
                   "bank": "DBS Bank",
                   "zip": "018892",
                   "country": "Singapore",
                   "account_number": "8850780138613670",
                   "bic": "DBSSSGSGXXX"
               },
               "metadata": {
                   "merchant_defined": true
               },
               "status": "ACT",
               "description": "Issue test bank account",
               "funding_instructions": null,
               "currency": "SGD",
               "transactions": []
           }
        }
        
    • Respuesta (Dinamarca)

      • {
           "status": {
               "error_code": "",
               "status": "SUCCESS",
               "message": "",
               "response_code": "",
               "operation_id": "7db8425e-64a2-49bd-bcc0-dab00fba9cc5"
           },
           "data": {
               "id": "issuing_cf1359c4812a4f3f01db92a76b583b79",
               "merchant_reference_id": "bankaccountnumber12345543",
               "ewallet": "ewallet_3d03be4b6ed60a217fb1faa7c01ae2ca",
               "bank_account": {
                   "beneficiary_name": "CashDash UK Limited",
                   "address": "Northwest House, 119 Marylebone Road NW1 5PU",
                   "country_iso": "DK",
                   "iban": "DK4289000092780662",
                   "bic": "SXPYDKKK"
               },
               "metadata": {
                   "merchant_defined": true
               },
               "status": "ACT",
               "description": "Issue test bank account",
               "funding_instructions": null,
               "currency": "SGD",
               "transactions": []
           }
        }

La sección data de esta respuesta muestra:

  • El ID Rapyd del número de cuenta virtual de la billetera en Singapur es issuing_96671e3831b29f9af01202a47c872203.

  • El ID Rapyd del número de cuenta virtual de la billetera en Dinamarca es issuing_cf1359c4812a4f3f01db92a76b583b79.

  • El merchant_reference_id también es bankaccountnumber12345543. Cuando ejecute este ejemplo en su propia sandbox, obtendrá un ID diferente.

  • ewallet es el ID de la billetera del cliente.

  • La cuenta bancaria en Singapur es una account_number8850780138613670.

  • La cuenta bancaria en Dinamarca tiene un IBAN con el número DK4289000092780662.

  • Ambas cuentas tienen un BIC asignado a ellas. DBSSSGSGXXX (Singapur) o SXPYDKKK (Dinamarca).

  • El currency es SGD.

  • El status es ACT. Esto significa que el número de cuenta bancaria está activo.

Usted le pide a Rapyd que actualice la moneda solicitada según el número de cuenta virtual en la billetera del cliente.

Para ello, utilizará Actualizar la moneda solicitada por número de cuenta virtual con los siguientes parámetros:

Descripción de los parámetros de ruta

Parámetro de ruta

Descripción

issuing_token

Una cuenta virtual que emite un token que comienza con issuing_.

Descripción de los parámetros del cuerpo

Parámetro del cuerpo

Descripción

requested_currency

Valores permitidos:

  • Código de moneda ISO

  • null

  • cadena vacía (“”)

Usted le pide a Rapyd que actualice la moneda solicitada según el número de cuenta virtual en la billetera del cliente.

    • Solicitud

      • // Request URL: POST https://sandboxapi.rapyd.net//v1/issuing/bankaccounts/issuing_293e65543872d2a87057b48dd657dd06
        
        // Message body:
        {
        "requested_currency": "USD"
        }

Veamos la respuesta.

    • Respuesta

      • {
            "status": {
                "error_code": "",
                "status": "SUCCESS",
                "message": "",
                "response_code": "",
                "operation_id": "e213cb38-8a8f-4ae7-b124-2da91e6baaeb"
            },
            "data": {
                "id": "issuing_293e65543872d2a87057b48dd657dd06",
                "merchant_reference_id": "5rtfgk897ter0df0m",
                "ewallet": "ewallet_eb221f9155cf0895c8a4e8b1ad6b844d",
                "bank_account": {
                "beneficiary_name": "CashDash UK Limited",
                "address": "Northwest House, 119 Marylebone Road NW1 5PU",
                "country_iso": "DE",
                "iban": "DE07202208000092780641",
                "bic": "SXPYDEHH"
                },
                "metadata": {
                "merchant_defined": true
                },
                "status": "ACT",
                "description": "Issue test bank account",
                "funding_instructions": null,
                "currency": "EUR",
                "requested_currency": "USD",
                "transactions": []
            }
        }

La sección de datos de esta respuesta muestra:

  • El ID Rapyd del número de cuenta bancaria de la billetera es issuing_293e65543872d2a87057b48dd657dd06. Si la solicitud no especificaba un ID de referencia, este número también se utilizaría para merchant_reference_id. Cuando ejecute este ejemplo en su propia sandbox, obtendrá un ID diferente.

  • ewallet es el ID de la billetera del cliente.

  • El bank_account en este caso tiene un IBAN con el número DE07202208000092780641.

  • El currency es EUR.

  • El requested_currency es USD.

  • El status es ACT. Esto significa que el número de cuenta bancaria está activo.