Card Top-Up Credited
Emitted when the top-up funds actually reach the card, not when the order is accepted.
Event Types
| Event | When Emitted |
|---|---|
card.topup.credited | Card top-up funds have actually reached the card |
Delivery Contract
- We send a
POSTrequest withapplication/jsonto your configured endpoint, with a 10-second timeout. - Any 2xx response acknowledges receipt. Non-2xx responses and timeouts trigger retries with backoff.
- Four request headers:
content-type·z-signature·z-event-id·z-event-type。 - Deduplicate by
z-event-id— the same event may be delivered more than once.
There are no amounts, asset codes, card number fragments or risk-control reasons. This is a security boundary: the webhook endpoint is your service, whose transport and storage we cannot guarantee.
The GET /v1/<resource>/{id} endpoint applies API key, scope and on-behalf-of checks. Fetch details using data.id;
do not use webhook payloads as the source of amounts for your ledger.
Event Details
card.topup.credited
Card top-up funds have actually reached the cardTwo flows emit this event with the same meaning: the money is on the card or in its shared limit pool. · A separate top-up after issuance: 201 from POST /v1/cards/{id}/topups only acknowledges the order. This event confirms receipt. data.id is the top-up order ID. · Initial top-up during issuance: virtual cards are funded when issuance settles; physical cards are funded after activation. Here data.id is first:<申请单 uuid>, without a ctp_ row. Retrieve the card itself through card.application.approved for the same issuance. Only enable spending limits and available credit after this event; enabling them earlier would make a limit available before its funds arrive.
{
"event_id": "evt_71fd0c9e46a34b18b52d7f038ea6c145",
"event_type": "card.topup.credited",
"created_at": "2026-08-12T17:12:48Z",
"merchant_id": "acme",
"livemode": true,
"data": {
"object": "card_topup",
"id": "3a90c7e4-1f68-4b02-95dc-7e41b0a2d963",
"external_member_id": "u_88123",
"status": "credited",
"status_version": 2
}
}Signature Verification
The signature verification procedure is the same for all events. See Webhook Overview; use the Signature Debugger to compare signing strings character by character.