PUT

/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 actualResultadoEfecto
PENDINGPendienteEl QR está pendiente por ser escaneado.
COMPLETEDCompletadaEl cliente ha realizado el pago exitosamente. La transacción aparece en el historial del comercio.
CANCELLEDCancelaciónEl QR se invalida. La caja queda libre para un nuevo cobro.
REVERSEDAnulaciónEl dinero regresa al cliente. La transacción desaparece del historial del comercio.

Headers

HeaderValor
api-keyTu API Key
secret-keyTu Clave Secreta
authorizationToken de la sesión activa
Ventana de tiempo para anulaciones

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();
}
Errores comunes
  • 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.
¿Te fue útil esta página?