Webhook for Card

Sample webhook structure for virtual card

Locate Settings icon at the top and click webhooks from strowallet dashboard

Whenever any card terminated {"id":"61c4b0-4565-be13-0a57f679","event":"virtualcard.transaction.declined.terminated","amount":100,"cardId":"fca035fbb1-9c7a109c1ab311","status":"success","reference":"GiftCard_DP5AQPB","transactionReference":"4aafe62790ad","balanceBeforeTermination":150}

Whenever card created successful {
"id":"e2a896c0-e5-8061-485aff9b3e28",
"event":"virtualcard.created.complete",
"amount":"3",
"cardId":"e2a896c0-e0061-485aff9b3e28",
"cardBrand":"Visa",
"lastFour":"5976",
"status":"active",
"createdStatus":"completed",
"reference":"CARD_CR3CD10D7AD"
}

If Card creation failed

{
"id": "8d1c9dfe-b5a-3f8cbdb0d412",
"event": "virtualcard.created.failed",
"cardId": "8d1c9dfe-bf-8b5a-3f8cbdb0d412",
"status": "failed",
"createdStatus": "failed",
"failureReason": "Identity verification failed",
"reference": "STWCARD607110001",
"balanceCurrency": "USD",
"name": "John Doe",
"refundAmount": 6.99
}


Whenever a card is declined on any platform, this notification will be sent to your webhook URL to inform you of the reason for the decline. {"id":"3f37088k193f","event":"virtualcard.transaction.declined","date":"2024-10-27T22:51:36.378Z","amount":"0","cardId":"d7b60fcf9fcc0","reason":"MCC not allowed","status":"failed","narrative":"Visa Provisioning Service","reference":"f0f26f6d8aaf"}

when card withdraw successful
{
"id":"8dc88758-9c9-d321-08deb4ceddb0",
"event":"virtualcard.withdrawal.success",
"date":"2026-05-18T12:10:00Z",
"amount":"131.08",
"fee":"10.49",
"credited":"120.59",
"cardId":"9a8497f-a2d3-793b6af4f7e6",
"reason":"",
"status":"complete",
"narrative":"Withdraw from virtual card",
"reference":"CARD_AUTH_789B3C94AAA7"
}

whenever usdt sent successful
{
"event":"usdt.transfer.success",
"id":"TRX_61a8d39f0ab2",
"fees":"1.5",
"hash":"4f8f0c4bc8f9d34c79b0e5d6b4d6d2d76f8b7f8e2e0ab1122",
"type":"debit",
"chain":"TRON",
"action":"send_usdt",
"amount":"50",
"address":"TKv8q1vLx8h9F6r5Y2VtZ7Qj3mAb",
"channel":"onchain",
"centFees":"150",
"companyId":null,
"reference":"USDT_SEND_78AA19B0",
"centAmount":"5000",
"description":"sent payment",
"confirmations":null
}

for authorization approved

{
"id":"dc3f0fef-e51-08deb4d31eca",
"event":"virtualcard.transaction.authorization",
"date":"2026-05-18T11:45:47Z",
"amount":"25",
"cardId":"f6881cd61-8b9d-56479fe65691",
"status":"success",
"reference":"CARD_23966AC73",
"reason":"Approve",
"narrative":"Authorizati4014522 DEUS",
"merchant":"LO22 DEUS",
"currency":"USD",
"country":"USA",
"mcc":"5734",
"type":"authorization"
}

card top up successful

{
"id":"65174989",
"event":"virtualcard.topup.complete",
"date":"2026-05-18T12:00:00Z",
"amount":"40",
"cardId":"12513679-b03-d83a25673228",
"status":"complete",
"reference":"card_funEWCKH9R",
"reason":"",
"narrative":"Card topup for card 123-d83a25673228",
"isTerminated":false
}

If card top up failed

{
"id": "01K0B3Q9ZTX2E9M5H8R7Y6W4V3",
"event": "virtualcard.topup.failed",
"status": "failed",
"reference": "CARD_TOPUP_7K9L2N8P",
"refundReference": "CARD_TOPUP_7K9L5N8P_TOPUP_FAILED_REFUND",
"amount": 25.00,
"charge": 0.00,
"netAmount": 25.00,
"currency": "USD",
"message": "Virtual card top-up failed and wallet has been refunded.",
"transactionReference": "948372617382",
"timestamp": "2026-07-09T22:45:16Z"
}

IF Transaction failed

{
"id": "TXN9F8K2L7M1P",
"event": "virtualcard.transaction.declined",
"date": "2026-07-10T11:35:42Z",
"amount": "25.99",
"cardId": "crd_7YH9KLM23PQ",
"reason": "Insufficient balance",
"status": "failed",
"narrative": "Amazon Prime Subscription",
"reference": "REF2010A8K92M"
}