/transaction/{transaction_id} — Cancelar o anular
Un mismo endpoint con dos comportamientos según el estado de la transacción: cancela si aún no se ha pagado, o anula si ya se pagó.
Endpoint
https://api-integrationcheckout-uat.yappycloud.com/v1https://api-checkout.yappy.cloud/v1/transaction/{transaction_id}Comportamiento según el estado
| Estado actual | Resultado | Efecto |
|---|---|---|
PENDING | Pendiente | El QR está pendiente por ser escaneado. |
COMPLETED | Completada | El cliente ha realizado el pago exitosamente. La transacción aparece en el historial del comercio. |
CANCELLED | Cancelación | El QR se invalida. La caja queda libre para un nuevo cobro. |
REVERSED | Anulación | El dinero regresa al cliente. La transacción desaparece del historial del comercio. |
Headers
| Header | Valor |
|---|---|
api-key | Tu API Key |
secret-key | Tu Clave Secreta |
authorization | Token de la sesión activa |
Las transacciones completadas permanecen “En tránsito” hasta la medianoche del mismo día (hora de Panamá). A esa hora, Yappy liquida los fondos al comercio y la operación queda irreversible vía API. Después de la liquidación, el reembolso debe gestionarse manualmente.
Llamada de ejemplo
// Cancelar transacción pendiente O anular venta completada
async function cancelOrReverseTransaction(transactionId, sessionToken) {
const resp = await fetch(
`{{BASE_URL}}/transaction/${transactionId}`,
{
method: "PUT",
headers: {
"api-key": process.env.YAPPY_API_KEY,
"secret-key": process.env.YAPPY_SECRET_KEY,
"authorization": sessionToken
}
}
);
return resp.json();
}
YP-0014— La transacción ya fue liquidada (pasada la medianoche). No se puede anular vía API.YP-0016— La transacción ya está anulada.YP-0013— Error procesando. Contacta soporte yappy@bgeneral.com.