Webhooks
Collection Failed

COLLECTION_FAILED

Delivered when a collection cannot be completed. No funds have been credited to your API account.

Envelopebody wrapperKeyssnake_case

Delivered to the collection's merchantCallbackUrl, falling back to your business webhook URL.

Payload

COLLECTION_FAILED
{
  "body": {
    "eventType": "COLLECTION_FAILED",
    "collection": {
      "id": "4ebdfe45-a62b-47a9-ac31-7599305666b1",
      "business_id": "b7b93a40-4e18-4e97-9c5f-8a7a4fd0df92",
      "network": "MATIC_MAINNET",
      "token": "USDT",
      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
      "token_amount": "25.000000000000000000",
      "token_amount_requested": "25.000000000000000000",
      "token_amount_received": null,
      "status": "FAILED",
      "transaction_hash": null,
      "number_of_confirmations": null,
      "confirmation_threshold": 10,
      "merchant_redirect_url": "https://example.com/thanks",
      "merchant_callback_url": "https://example.com/webhooks/knit",
      "expires_at": "2024-02-22T17:29:33.000000Z",
      "created_at": "2024-02-22T16:59:33.000000Z",
      "updated_at": "2024-02-22T17:00:30.000000Z"
    }
  }
}

Handling

Mark the payment attempt as failed on your side and, if the customer still wants to pay, create a new collection — addresses are single-use and cannot be revived.

A collection that simply expires unpaid is a different situation: no funds moved and there is nothing to reconcile. Use expires_at to close out abandoned checkouts rather than waiting for an event.

See also