Skip to main content
WEBHOOK
transit.payment.status
{
  "event": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "transit.payment.status",
    "event_reference_id": "FIN_PROVIDED_UUID",
    "created_at": "2025-10-10T15:40:56Z"
  },
  "data": {
    "payment_id": "FIN_PROVIDED_UUID",
    "integration_type": "BYBIT",
    "quote_id": "FIN_PROVIDED_UUID",
    "status": "PAY_INIT",
    "create_time": 1740748353,
    "payment_info": {
      "pay_id": "01JN6AZVEMAC8H9SED6JES3QH8",
      "merchant_trade_no": "841e4ba2-...-a2a45de7bd00",
      "amount": "100",
      "status": "PAY_INIT",
      "currency": "USDT",
      "currency_type": "crypto",
      "expire_time": 1740751953,
      "payment_time": 0
    },
    "settlement_info": null
  }
}
This webhook event is triggered whenever a transit payment’s status changes. The webhook covers both payment flow statuses (from ByBit) and settlement flow statuses (Fin to PayPal).

Payment Status Values

The webhook will be triggered for the following payment statuses:
  • PAY_INIT - Payment initialized
  • PAY_PROCESS - Payment is being processed
  • PAY_SUCCESS - Payment completed successfully
  • PAY_FAILED - Payment failed
  • PAY_TIMEOUT - Payment timed out
  • PAY_CANCEL - Payment was cancelled
And settlement statuses:
  • SETTLEMENT_INIT - Settlement process started
  • SETTLEMENT_SUCCESS - Settlement completed successfully
  • SETTLEMENT_HOLD - Fin has put the transaction on hold due to insufficient amount in the rebalancing wallets. Fin will automatically proceed with the held transactions once the rebalancing wallets have sufficient funds.
  • SETTLEMENT_FAILED - Settlement failed after 3 retry attempts
The settlement_info field will be null for payment flow statuses (PAY_) and will be populated for settlement flow statuses (SETTLEMENT_).
Security: All webhook requests include HMAC signatures for verification. Learn how to verify webhook signatures to ensure requests are authentic.

Body

application/json
event
object
required
data
object
required

Response

200

Webhook received successfully