Webhooks de retiro

Avisos de un payout creado por la API.

payment_processedPayout Confirmado

Se envía cuando el retiro se procesa. status es success. El cuerpo trae la billetera, los montos, la red y customer_info.

json
{
  "data": {
    "status": "success",
    "wallet": "0xBeef0000000000000000000000000000000000b2",
    "network": "BinanceSmartChain",
    "created_at": "2026-03-01 13:00:00",
    "fiat_amount": "40.00",
    "network_fee": "0.00000400",
    "confirmed_at": "2026-03-01 13:00:06",
    "percent_rate": "0.50",
    "reference_id": "33333333-3333-4333-8333-333333333333",
    "transactions": "0xdef0000000000000000000000000000000000000000000000000000000000abc",
    "crypto_amount": "40.00000000",
    "customer_info": "customer@example.com",
    "fiat_currency": "USD",
    "crypto_currency": "USDT",
    "internal_reference": "44444444-4444-4444-8444-444444444444"
  },
  "event": "payment_processed",
  "timestamp": "2026-03-01 13:00:16"
}

payment_failedPayout Fallido

Se envía cuando el retiro no puede completarse. El cuerpo trae solo status, reference_id e internal_reference.

json
{
  "data": {
    "status": "failed",
    "reference_id": "55555555-5555-4555-8555-555555555555",
    "internal_reference": "66666666-6666-4666-8666-666666666666"
  },
  "event": "payment_failed",
  "timestamp": "2026-03-01 13:05:00"
}

Su integración debe tratar este aviso: localice el payout por reference_id o internal_reference y decida qué informar a su cliente. Para pagar de nuevo, cree un payout nuevo con un reference_id nuevo.

customer_infoPayin & Payout

Su propio identificador del cliente, como ID de usuario, e-mail o número de pedido. Se devuelve en los webhooks y listados, así sabe de quién es cada transacción, incluidos los payins que Bifrost crea por su cuenta (pagos adicionales y depósitos en direcciones fijas), cuyo reference_id genera Bifrost.

"customer_info": "user@email.com" o "user_12345_order_67890"