Webhook EventsPrefund

Prefund Order Events

Prefund order events provide real-time updates on the lifecycle of a prefund transaction. These events can be consumed via webhooks to track payment progress and update customer balances accordingly.

Fiat Prefund Order Events

Order Status Events

EventEvent TypeStatusDescription
Payment InitiatedOrderinitiatedPrefund order has been created and is awaiting payment.
Payment AuthorisedOrderfund_settledApara has successfully received the funds.
Manual ReviewOrdermanual_reviewThe order has been placed on hold for compliance verification and manual review.
CompletedOrdercompletedThe prefund process has been completed and the corresponding customer balance has been updated.

Event Flow

Payment Initiated
       ↓
Payment Authorised
       ↓
Completed

Alternate Flow

Payment Initiated
       ↓
Manual Review
       ↓
Completed

Sample Event Payload

Payment Initiated

{
  "eventId": "EV-260305152722158",
  "entityId": "PF-2603051527094076932",
  "entityType": "prefund",
  "status": "initiated",
  "customer": {
    "name": "sumanth",
    "mid": "SAH5F0_NA_NA",
    "createdAt": "2025-02-06T04:03:51.052Z"
  },
  "order": {
    "orderId": "",
    "type": "fiat_prefund",
    "depositCurrency": "EUR",
    "withdrawCurrency": "USDT",
    "depositAmount": 10,
    "withdrawAmount": 11.849141,
    "paymentType": "bank_transfer",
    "createdAt": "2026-03-05T15:27:11.721Z",
    "customerOrderId": "PF-2603051527094076932",
    "failureCode": "",
    "failureMessage": "",
    "bankTxnId": []
  },
  "createdAt": "2026-03-05T15:27:22.947Z"
}

The same payload structure is used for subsequent events, with the status field updated to reflect the latest order state (fund_settled, manual_review, or completed).


Crypto Prefund Order Events

Order Status Events

EventEvent TypeStatusDescription
Payment InitiatedOrderinitiatedPrefund order has been created and is awaiting blockchain confirmation.
Payment AuthorisedOrdercompletedApara has successfully received the cryptocurrency and updated the customer balance.

Event Flow

Payment Initiated
       ↓
Payment Authorised

Sample Event Payload

Payment Initiated

{
  "eventId": "EV-260305154015494",
  "entityId": "PF-2603051540043841902",
  "entityType": "prefund",
  "status": "initiated",
  "customer": {
    "name": "sumanth",
    "mid": "SAH5F0_NA_NA",
    "createdAt": "2025-02-06T04:03:51.052Z"
  },
  "order": {
    "orderId": "",
    "type": "crypto_prefund",
    "depositCurrency": "USDC",
    "withdrawCurrency": "USDC",
    "depositAmount": 200000,
    "withdrawAmount": 200000,
    "paymentType": "crypto",
    "createdAt": "2026-03-05T15:40:08.588Z",
    "customerOrderId": "PF-2603051540043841902",
    "failureCode": "",
    "failureMessage": "",
    "bankTxnId": [],
    "network": "Ethereum",
    "sendersWalletAddress": "",
    "destinationWalletAddress": "0xde7cBED5AFA0E5F5863af199475513b55c7DCB40"
  },
  "createdAt": "2026-03-05T15:40:15.480Z"
}

Once the cryptocurrency is successfully received and verified, a final event is generated with the status field set to completed.

Event Consumption Notes

  • Every event contains a unique eventId.

  • entityId corresponds to the original prefund order identifier.

  • Events are delivered sequentially as the order progresses through its lifecycle.

  • Use the status field as the source of truth when updating transaction state in your system.

  • Customer balances should only be considered available after a terminal status (completed) is received.

Was this page helpful?