Cancelar 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, puede 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 su 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, por lo que decide cancelarlo. A continuación, el dinero se entrega al vendedor.
Puede encontrar los métodos de pago específicos que aceptará y los campos obligatorios correspondientes que los clientes deben llenar en la sección Cómo funciona.

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

El back-end de su sitio web le solicita a Rapyd que cancele el depósito en garantía.
Rapyd cancela el depósito en garantía de inmediato, le notifica que se canceló correctamente y libera los fondos al vendedor.
Prerequisito
Para ejecutar los ejemplos de este caso de uso, debe crear el siguiente ID en su propio sandbox:
ewallet - Ejecutar Crear billetara para la billetera del cliente. Use el «ID» que obtenga en la respuesta.
Decida qué métodos de pago aceptará. Ver Listar los métodos de pago por país.
Encuentre los campos obligatorios que los clientes deben llenar para el método de pago que ha elegido. Ver 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 su plataforma. Le solicita 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á Crear pago con los siguientes parámetros.
Descripción de los parámetros del cuerpo
Parámetro del cuerpo | Descripción |
|---|---|
amount | Ingresar 501,47 como el monto total del pago. |
currency | Ingresar PHP como código para los pesos filipinos. |
payment_method | Ingresar un objeto 'payment_method' que tenga los siguientes campos:
|
ewallets | En la matriz, agregue un objeto 'ewallet' que tenga los siguientes campos:
|
escrow | Ingresar verdadero para crear el depósito en garantía. |
escrow_release_days | Ingrear 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 solicita 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); } } } }
Python
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
Veamos 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": "" } }
La sección data de esta respuesta muestra que:
El
amountes 501,47 .El
currencyes PHP.El objeto
ewalletsindica:Una cantidad de 501,47 se mantiene en depósito en garantía para
ewallet_idewallet_090e1ef18c3aa754fd43cce9ee454858 .
El objeto
depósito en garantíaindica:El ID del depósito en garantía es escrow_933d861296b40ae98f08bec3b8e799ef.
El ID del pago es payment_4e1e350df4918b7a5b9d5ba440f6433e. Cuando ejecute este ejemplo en su propio sandbox, obtendrá un ID diferente, que necesitará para un paso posterior en este caso de uso.
El
statusdel depósito en garantía es pendiente.El
escrow_release_dayses 5.
Utilizará el ID de pago cuando le solicite a Rapyd que cancele el depósito en garantía.
El depósito en garantía se creó por error y decide cancelarlo de inmediato. Para eso, utilizar Actualiza el pago con los siguientes parámetros:
Descripción de los parámetros de ruta
Parámetro de ruta | Descripción |
|---|---|
payment | Ingrese el «ID» de pago que recibió cuando creó la billetera del vendedor de ramos en su sandbox. Para los fines de esta lección de caso de uso, estamos usando payment_4e1e350df4918b7a5b9d5ba440f6433e, que es el ID del pago que creamos en nuestro sandbox. |
Descripción de los parámetros del cuerpo
Parámetro del cuerpo | Descripción |
|---|---|
escrow | Ingresar falso para cancelar el depósito en garantía. |
Cancelar la solicitud del depósito en garantía
Le solicita 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); } }
Python
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 del depósito en garantía
Veamos 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": "" } }
La sección data de esta respuesta muestra que:
Una monto de 501,47 PHP fue liberado para
ewallet_idewallet_090e1ef18c3aa754fd43cce9ee454858El objeto
depósito en garantíaindica:El ID del depósito en garantía es escrow_933d861296b40ae98f08bec3b8e799ef.
El
estadodel depósito en garantía es cancelado.
¿Busca información técnica más detallada?
¿Desea ver los métodos y objetos de la API de Rapyd que utilizará? Ver Merchant API Reference para obtener más detalles técnicos.