Cancelación de un depósito en garantía
Cancela un pago retenido en depósito en garantía.
Cuando un pago se retiene en depósito en garantía, puedes determinar durante cuánto tiempo se deben retener los fondos y también liberar o cancelar el depósito en garantía en cualquier momento según los requisitos de tu mercado. Este método ofrece la opción de cancelar el depósito en garantía y liberar los fondos de inmediato. Si hay varios vendedores, los fondos se entregan a todos ellos
Un cliente compra un artículo a un vendedor y, por error, se crea un depósito en garantía para este vendedor y tú decides cancelarlo. A continuación, el dinero se entrega al vendedor
Puedes encontrar los métodos de pago específicos que aceptarás y los campos obligatorios correspondientes que los clientes deben rellenar en la sección Cómo funciona.

Un cliente de tu plataforma compra un producto a un vendedor.
El back-end del sitio web le pide a Rapyd que procese la transacción y mantenga los fondos en depósito durante cinco días.
Rapyd procesa el pago y retiene los fondos en depósito.

El back-end de su sitio web le pide a Rapyd que cancele el depósito en garantía.
Rapyd cancela el depósito en garantía de inmediato, te notifica que se canceló correctamente y libera los fondos al vendedor.
Requisito previo
Para ejecutar los ejemplos de este caso de uso, debe crear el siguiente ID en su propio sandbox:
monedero electrónico - Corre Crea un monedero para la billetera del cliente. Usa la «identificación» que obtienes en la respuesta.
Decide qué métodos de pago aceptarás. Listar los métodos de pago por país.
Busca los campos obligatorios que los clientes deben rellenar para el método de pago que has elegido. Campos obligatorios para obtener el método de pago.
El cliente ha comprado un artículo por 501,47 PHP (pesos filipinos) a un vendedor en el sitio web de tu plataforma. Le pides a Rapyd que procese el pago e incluya un depósito en garantía para retener los fondos durante cinco días
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 501.47 como el importe total del pago. |
moneda | Entrar PHP como código para los pesos filipinos. |
método_pago | Introduzca un objeto 'payment_method' que tenga los siguientes campos:
|
monederos electrónicos | En la matriz, agrega un objeto 'ewallet' que tiene los siguientes campos:
|
depósito en garantía | Entrar verdadero para crear el depósito en garantía. |
días_de_liberación_de_depósito | Entrar 5 como el número de días antes de que los fondos del depósito en garantía se liberen automáticamente. |
Crear solicitud de pago
Le pides a Rapyd que procese el pago y el depósito en garantía.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payments // Message body: { "amount": 501.47, "currency": "php", "payment_method": { "type": "ph_dpcard_card" }, "ewallets": [ { "ewallet": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "amount": 501.47 } ], "escrow": true, "escrow_release_days": "5" }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { amount = 501.47, currency = "PHP", description = "Payment by card token", payment_method = new { type = "ph_dpcard_card", }, ewallets = new Object[] { new { ewallet = "ewallet_090e1ef18c3aa754fd43cce9ee454858", amount = 501.47 }, }, escrow = true, escrow_release_days = 5 }; 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); } } } }
Pitón
from pprint import pprint from utilities import make_request # Create Payment request payment_body = { "amount": 501.47, "currency": "php", "payment_method": { "type": "ph_dpcard_card" }, "ewallets": [ { "ewallet": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "amount": 501.47 } ], "escrow": True, "escrow_release_days": "5" } 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": "113ae72c-0456-44d2-bc46-5e00fe52b4f9" }, "data": { "id": "payment_4e1e350df4918b7a5b9d5ba440f6433e", "amount": 0, "original_amount": 501.47, "is_partial": false, "currency_code": "PHP", "country_code": "ph", "status": "ACT", // ... "ewallet_id": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "ewallets": [ { "ewallet_id": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "amount": 501.47, "percent": 100, "released_amount": 0, "refunded_amount": 0 } ], "payment_method_options": {}, "payment_method_type": "ph_dpcard_card", "payment_method_type_category": "bank_redirect", "fx_rate": "", // ... "escrow": { "id": "escrow_933d861296b40ae98f08bec3b8e799ef", "payment": "payment_4e1e350df4918b7a5b9d5ba440f6433e", "amount_on_hold": 0, "total_amount_released": 0, "status": "pending", "escrow_release_days": 5, "created_at": 1580995667, "updated_at": 1580995667, "last_payment_completion": null }, "group_payment": "" } }
El datos la sección de esta respuesta muestra que:
El
cantidades 501.47 .El
monedaes PHP.El
carterasel objeto indica:Una cantidad de 501,47 se mantiene en depósito para
ewallet_idewallet_090e1ef18c3aa754fd43cce9ee454858 .
El
depósito en garantíaobjeto indica:El identificador del depósito en garantía es escrow_933d861296b40ae98f08bec3b8e799ef.
El identificador de pago es payment_4e1e350df4918b7a5b9d5ba440f6433e. 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áctico
El depósito en garantía
estadoes pendiente.El
escrow_release_dayses 5.
Utilizarás el identificador de pago cuando pidas a Rapyd que cancele el depósito en garantía.
El depósito en garantía se creó por error y decides cancelarlo de inmediato. Para eso, utilizarás Actualiza el pago con los siguientes parámetros:
Descripción de los parámetros de ruta
Parámetro de ruta | Descripción |
|---|---|
pago | Introduce el «identificador» de pago que recibiste cuando creaste la cartera del vendedor del ramo en tu caja de arena. Para los fines de esta lección de casos de uso, estamos usando payment_4e1e350df4918b7a5b9d5ba440f6433e, que es el identificador de pago que creamos en nuestra zona de pruebas. |
Descripción de los parámetros corporales
Parámetro corporal | Descripción |
|---|---|
depósito en garantía | Entrar falso para cancelar el depósito en garantía. |
Cancelar solicitud de depósito en garantía
Le pides a Rapyd que cancele el depósito en garantía.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payments/payment_4e1e350df4918b7a5b9d5ba440f6433e // Message body: { "escrow": false }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string paymentId = "payment_4e1e350df4918b7a5b9d5ba440f6433e"; var requestObj = new { escrow = false, }; string request = JsonSerializer.Serialize(requestObj); string result = RapydApiRequestSample.Utilities.MakeRequest("POST", $"/v1/payments/{paymentId}", 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 = { escrow: false }; const result = await makeRequest( 'POST', '/v1/payments/payment_4e1e350df4918b7a5b9d5ba440f6433e', body ); console.log(result); } catch (error) { console.error('Error completing request', error); } }
Pitón
from pprint import pprint from utilities import make_request cancel_escrow_body = { "escrow": False } cancel_escrow_response = make_request(method='post', path='/v1/payments/payment_4e1e350df4918b7a5b9d5ba440f6433e', body=cancel_escrow_body) pprint(cancel_escrow_response)
Cancelar la respuesta de depósito en garantía
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "656b7dd4-7e1e-4f38-b5d9-bb46c4b43ab7" }, "data": { "id": "payment_4e1e350df4918b7a5b9d5ba440f6433e", "amount": 0, "original_amount": 501.47, "is_partial": false, "currency_code": "PHP", "country_code": "ph", "status": "ACT", // ... "created_at": 1580995667, // ... "ewallet_id": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "ewallets": [ { "ewallet_id": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "amount": 501.47, "percent": 100, "released_amount": 0, "refunded_amount": 0 } ], "payment_method_options": {}, "payment_method_type": "ph_dpcard_card", "payment_method_type_category": "bank_redirect", // ... "escrow": { "id": "escrow_933d861296b40ae98f08bec3b8e799ef", "payment": "payment_4e1e350df4918b7a5b9d5ba440f6433e", "amount_on_hold": 0, "total_amount_released": 0, "status": "canceled", "escrow_release_days": 5, "created_at": 1580995667, "updated_at": 1580997283, "last_payment_completion": null }, "group_payment": "" } }
El datos la sección de esta respuesta muestra que:
Una cantidad de 501.47 PHP fue lanzado para
ewallet_idewallet_090e1ef18c3aa754fd43cce9ee454858El
depósito en garantíaobjeto indica:El identificador del depósito en garantía es escrow_933d861296b40ae98f08bec3b8e799ef.
El depósito en garantía
estadoes cancelado.
¿Busca información técnica más detallada?
¿Quieres ver los métodos y objetos de la API de Rapyd que utilizarás? Merchant API Reference para obtener más detalles técnicos.