Reembolsos parciales
Tu cliente solicita el reembolso de una parte de una compra.
Rapyd proporciona un método rápido y sencillo para procesar los reembolsos parciales de una compra.
Puedes hacer reembolsos parciales varias veces por la misma compra hasta que los reembolsos sean iguales al importe total de la transacción original.
Los reembolsos se realizan al método de pago utilizado en la transacción de pago original. En este caso de uso, el cliente pagó con tarjeta, por lo que el reembolso se devuelve a esa tarjeta.
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
El cliente usó una tarjeta para comprar dos copias de un libro electrónico en tu sitio web. Ahora el cliente quiere que se le reembolse un libro electrónico. El precio de cada ejemplar del libro electrónico era de 5,99 USD (dólares estadounidenses).
back-end de tu sitio web le pide a Rapyd que procese el reembolso. Cuando el dinero se devuelve a la tarjeta, Rapyd le notifica que el reembolso se realizó correctamente
El cliente pagó previamente los libros electrónicos. El cliente ya ha rellenado todos los campos obligatorios de su sitio web Solicitud de reembolso página. Tienes el identificador de la transacción y el importe que debe reembolsarse

El back-end del sitio web le pide a Rapyd que procese el reembolso del cliente.
Rapyd procesa la transacción de reembolso y te notifica que se ha realizado correctamente.
Envías la confirmación del reembolso al cliente.
Los siguientes diagramas de secuencia de mensajes describen cómo se intercambia la información entre Rapyd, el comerciante y el emisor de la tarjeta.
Reembolso parcial: éxito
Reembolso parcial: rechazado
Prerrequisitos
Para ejecutar los ejemplos de este caso de uso, debe crear el siguiente ID en su propio sandbox:
pago- Corre Crear pago. Usa la «identificación» que obtienes en la respuesta.
Cuando el cliente solicita un reembolso parcial en tu sitio web, le pides a Rapyd que procese el reembolso.
Para eso, utilizarás Crear reembolso con los siguientes parámetros:
Descripción de los parámetros corporales
Parámetro corporal | Descripción |
|---|---|
pago | Introduce el «identificador» de pago que recibiste cuando creaste el pago en tu entorno de pruebas. Para los fines de esta lección de casos de uso, estamos usando payment_52b4cb2ba10338e274c689cb759a5043, que es el identificador de pago que creamos en nuestra zona de pruebas. |
cantidad | Entrar 5.99 como importe del reembolso. |
Crear solicitud de reembolso
Le pides a Rapyd que procese el reembolso de la transacción anterior.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/refunds // Message body: { "payment": "payment_52b4cb2ba10338e274c689cb759a5043", "amount": 5.99 }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { payment = "payment_52b4cb2ba10338e274c689cb759a5043", amount = "5.99", }; string request = JsonSerializer.Serialize(requestObj); string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/refunds", request); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('../../../../../Utilities/JS/utilities').makeRequest; async function main() { try { const body = { payment: 'payment_52b4cb2ba10338e274c689cb759a5043', amount: 5.99 }; const result = await makeRequest('POST', '/v1/refunds', body); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/code_race_2020/Utilities/PHP/utilities.php"; include($path); $body = [ "payment" => "payment_29816514741fe7e4cdee75f7093ccbe1", "amount" => 5.99 ]; try { $object = make_request('post', '/v1/refunds', $body); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request refund_body = { "payment": "payment_52b4cb2ba10338e274c689cb759a5043", "amount": 5.99 } create_refund_results = make_request(method='post', path='/v1/refunds', body=refund_body) pprint(create_refund_results)
Crear respuesta de reembolso
Echemos un vistazo a la respuesta.
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "b79147b4-a919-4ad0-9942-8134ed1dad95" }, "data": { "id": "refund_80cfd3f26326164a54bdc42535dc8bf3", "amount": 5.99, "payment": "payment_52b4cb2ba10338e274c689cb759a5043", "currency": "USD", // ... "status": "Pending", "receipt_number": 0, "created_at": 1581005810, "updated_at": 1581005810, "merchant_reference_id": "", "payment_created_at": 1581005363, "payment_method_type": "mx_banamex_cash", "ewallets": [ { "ewallet": "ewallet_090e1ef18c3aa754fd43cce9ee454858", "amount": 5.99 } ], "proportional_refund": true } }
El datos la sección de esta respuesta muestra:
El
cantidades 5.99.El
monedaes USD.El
estadoes Pendiente. Esto significa que completar el proceso de reembolso requiere pasos adicionales.
Nota
Si el pago se realizó en efectivo o mediante una redirección bancaria, completar el proceso de reembolso requiere los mismos pasos adicionales que el método de pago original. Para simular la acción del cliente, ejecuta Reembolso completo.
Rapyd envía un webhook para notificarte que la transacción de reembolso se ha completado.
Una vez que se hayan realizado todos los pasos adicionales, su sitio web mostrará a John Doe una confirmación de que el reembolso se ha completado.
Para ver los detalles del pago y el reembolso, usa Recuperar el pago.
¿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.