Skip to main content

Documentación

Dividir el pago por importe

Divida un único importe de pago entre varias cuentas.

Rapyd permite a un empleador pagar a varios empleados en una sola operación dividiendo un pago único en varias carteras Rapyd. Puedes dividir un pago en 2 a 10 monederos. Pagar directamente a los monederos es especialmente útil cuando tus empleados no tienen cuentas bancarias

  • Este proceso se puede utilizar para dividir los pagos en carteras de clientes, carteras de empresas y carteras personales.

Certificación PCI

Solo clientes con PCI-DSS La certificación puede gestionar la información de identificación personal de las tarjetas. Este método está disponible para los comerciantes que hayan firmado un acuerdo especial con Rapyd

split-payment.jpg
  1. Obtienes los ID de las carteras de los empleados de tu propia base de datos y envías los ID de los monederos y los montos a Rapyd.

  2. Rapyd procesa la transacción y te envía la confirmación.

  3. Usted notifica a los empleados que se realizó el pago.

Prerrequisitos

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

  • billetera_ - Corre Crea una billetera para la billetera de cada conductor-empleado. Usa la identificación que aparece en la respuesta. Para este caso práctico, necesitas dos ID de monederos distintos. Para obtener más información, consulta Creación de una billetera Rapyd.

Para enviar dinero a las carteras de los empleados, le pides a Rapyd que cree un pago. De entre muchas opciones de pago, tú eliges pagar con la tarjeta de tu empresa

Para eso, utilizarás Crear pago con los siguientes parámetros:

Descripción de los parámetros corporales

Parámetro corporal

Descripción

cantidad

Entrar 300 para pagar 300,00 dólares estadounidenses. Esta es la cantidad total adeudada a todos los empleados

moneda

Entrar USD como código de divisa para los dólares estadounidenses.

monedero electrónico

Introduzca una matriz de objetos JSON.

El primer objeto contiene los campos siguientes:

  • monedero electrónico - Introduce el «identificador» del monedero que recibiste cuando creaste el primer monedero en tu sandbox. Para los fines de esta lección de casos de uso, estamos usando ewallet_cfb416d9108161347d98acf17f3fd3e8, que es el identificador de monedero que hemos creado en nuestra zona de pruebas.

  • cantidad - 120

El segundo objeto contiene los campos siguientes:

  • monedero electrónico - Introduce el «identificador» del monedero que recibiste al crear el segundo monedero en tu sandbox. Para los fines de esta lección de casos de uso, estamos usando ewallet_4f8009d08b7b41e5d3b356494101d83b, que es el identificador de monedero que hemos creado en nuestra zona de pruebas.

  • cantidad - 180

método_pago

Introduzca un objeto con los siguientes campos:

  • tipo - us_debit_visa_card

  • campos - Introduzca un objeto con los siguientes campos:

  • número - 4 1111111

  • mes_caducidad - 10

  • año_caducidad - 20

  • cvv - 123

Crear solicitud de pago

Le pides a Rapyd que cree el pago a las carteras.

    • Solicitud

      • // Request URL: POST https://sandboxapi.rapyd.net/v1/payments
        
        // Message body:
        {
            "amount": 300.00,
            "currency": "USD",
            "payment_method": {
                "type": "us_debit_visa_card",
                "fields": {
                    "number": "4111111111111111",
                    "expiration_month": "10",
                    "expiration_year": "20",
                    "cvv": "123"
                }
            },
            "description": "Split payment to multiple wallets",
            "ewallet": [
                      {
                    "ewallet": "ewallet_cfb416d9108161347d98acf17f3fd3e8",
                    "amount": 120
                }, 
                            {
                    "ewallet": "ewallet_4f8009d08b7b41e5d3b356494101d83b",
                    "amount": 180
                }
            ]
        }
        
    • .NET Core

      • using System;
        using System.Text.Json;
        
        namespace RapydApiRequestSample
        {
            class Program
            {
                static void Main(string[] args)
                {
                    try
                    {
                        var requestObj = new
                        {
                            amount = 300.00,
                            currency = "USD",
                            description = "Split payment to multiple wallets",
                            ewallet = new Object[]
                            {
                                new
                                {
                                    ewallet = "ewallet_cfb416d9108161347d98acf17f3fd3e8",
                                    amount = 120
                                },
                                new
                                {
                                    ewallet = "ewallet_4f8009d08b7b41e5d3b356494101d83b",
                                    amount = 180
                                },
                            },
                            payment_method = new
                            {
                                type = "us_visa_card",
                                fields = new
                                {
                                    number = "4111111111111111",
                                    expiration_month = "10",
                                    expiration_year = "20",
                                    cvv = "123",
                                }
                            },
                        };
        
                        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: 300,
              currency: 'USD',
              payment_method: {
                type: 'us_visa_card',
                fields: {
                  number: '4111111111111111',
                  expiration_month: '10',
                  expiration_year: '20',
                  cvv: '123'
                }
              },
              error_payment_url: 'https://error_example.net',
              description: 'Split payment to multiple wallets',
              ewallet: [
                {
                  ewallet: 'ewallet_89099803a1e923a3e1fe9fc8f656b425',
                  amount: 70
                },
                {
                  ewallet: 'ewallet_ecf2ee726c151603968549dd7f1406aa',
                  amount: 30
                }
              ]
            };
            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": 300.00,
            "currency": "USD",
            "payment_method": {
                "type": "us_visa_card",
                "fields": {
                    "number": "4111111111111111",
                    "expiration_month": "10",
                    "expiration_year": "20",
                    "cvv": "123"
                }
            },
            "description": "Split payment to multiple wallets",
            "ewallets": [
                {
                    "ewallet": "ewallet_452c8cd682f347b4abee9bbee04eac03",
                    "amount": 120
                },
                {
                    "ewallet": "ewallet_7af0aeeacbd9bf4d84bf1aeb52f6d8c3",
                    "amount": 180
                }
            ]
        }
        
        create_payment_response = make_request(method='post',
                                               path='/v1/payments',
                                               body=payment_body)
        pprint(create_payment_response)
Crear respuesta de pago

Echemos un vistazo a la respuesta.

    • Respuesta

      • {
            "status": {
                "error_code": "",
                "status": "SUCCESS",
                "message": "",
                "response_code": "",
                "operation_id": "81148d4b-185a-4069-9f32-3cf60a579730"
            },
            "data": {
                "id": "payment_6d8548656ddf97e5c9327c9c46e5498c",
                "amount": 3000,
        
        //      ...
                  
                "currency_code": "USD",
        
        //      ...
                  
                "status": "CLO",
                "description": "Split payment to multiple ewallets",
        
        //      ...
                  
                "customer_token": "cus_8a10326d75423c369420f2a2355df353",
                "payment_method": "card_2ed1da907a0603e3a3c13c737fc073ac",
        
        //      ...
                  
                "captured": true,
        
        //      ...
                  
                "ewallets": [
                    {
                        "ewallet_id": "ewallet_cfb416d9108161347d98acf17f3fd3e8",
                        "amount": 120,
                        "percent": 40,
                        "refunded_amount": 0
                    },
                    {
                        "ewallet_id": "ewallet_4f8009d08b7b41e5d3b356494101d83b",
                        "amount": 180,
                        "percent": 60,
                        "refunded_amount": 0
                    }
                ],
        
        //      ...
                  
                "payment_method_type": "us_debit_visa_card",
                "payment_method_type_category": "card",
        
        //      ...
                  
            }
        }

El datos la sección de la respuesta muestra:

  • identificación - El ID del objeto de «pago».

  • El original_amount es 300. Este es el importe total pagado.

  • El currency_code es USD (Dólares estadounidenses).

  • El estado es CLO (cerrado). Esto significa que la transacción se ha completado.

  • token de cliente - El ID del objeto «cliente» del empleador.

  • método_pago - El identificador del método de pago del empleador.

  • capturado - El valor de cierto muestra que el pago con tarjeta se ha completado.

  • monederos electrónicos - Los identificadores de las carteras de los empleados, junto con los montos y su respectiva participación porcentual en el pago total.

  • tipo de método de pago - En este ejemplo, el método de pago es us_debit_visa_card.

  • tipo_categoría_de_método de pago - El método de pago es tarjeta tipo.

  • Tras un pago exitoso, Rapyd le enviará un Webhook - Confirmación de pago

Ahora su sitio web puede informar a los dos empleados de que la transferencia a sus carteras se realizó correctamente.