Webhook for Virtual Card Transactions

Brief Description

Card transaction webhook configuration and usage:

  • Contact staff to configure your Webhook Endpoint URL. The URL must be HTTPS.
  • When there are card transactions like purchases, refunds, chargebacks, etc., corresponding transaction messages will be pushed to your Webhook Endpoint URL.
  • Upon receiving the Webhook message, if you return HTTP CODE 200, it indicates successful message reception; otherwise, retries will occur.
  • The notification frequency is once every 10 minutes for the first hour, then once every hour, for a total of 24 hours.

Explanation of Return Parameters

Parameter

Type

Description

email

string

Email

transactionId

string

Transaction ID, unique for each transaction

cardId

string

Virtual card ID

cardNumber

string

Card number

cardSeqNo

string

Card sequence number

desp

string

Description of transaction(including purchase information)

reason

string

Chargeback reason

preAuthAmount

string

Pre-authorization amount (may differ from final transaction amount)

preAuthCurrency

string

Pre-authorization currency, USD

preAuthTime

string

Pre-authorization time

transactionAmount

string

Transaction amount

transactionCurrency

string

Transaction currency, USD

transactionTime

string

Transaction time

status

string

Transaction status:
PENDING: Transaction authorized PENDING
EXPIRED: Authorization expired
REVERSED: Authorization reversed (e.g., pre-authorization return)
DECLINED: Chargeback
COMPLETE: Transaction completed
REFUND: Transaction refunded
FEE: Transaction fee
MONTHLY_FEE: Monthly fee (Only for monthly fee cards)

gmtCreate

string

Record creation time

gmtModified

string

Record update time

Return Examples

PENDING Example

{
    "email": "[email protected]",
    "transactionId": "t_xxxxxxxxxxxxx",
    "cardId": "c_xxxxxxxxxxx",
    "cardNumber": "556735XXXXXX0737",
    "cardSeqNo": "CXXXXXXX",
    "desp": "FACEBK UYFYREF3S2 fb.me/ads IRL",
    "reason": null,
    "preAuthAmount": -1992,
    "preAuthCurrency": "USD",
    "preAuthTime": "2023-12-04 18:20:10",
    "transactionAmount": null,
    "transactionCurrency": null,
    "transactionTime": null,
    "status": "PENDING",
    "gmtCreate": "2023-10-16 19:03:43",
    "gmtModified": "2023-10-16 19:03:43"
}

EXPIRED Example

{
      "email":"[email protected]",
      "transactionId":"t_xxxxxxxxxxxxx",
      "cardId":"c_xxxxxxxxxxx",
      "cardNumber":"556735XXXXXX0737",
      "cardSeqNo":"CXXXXXXX",
      "desp":"FACEBK UYFYREF3S2      fb.me/ads     IRL",
      "reason":null,
      "preAuthAmount": -1992,
      "preAuthCurrency":"USD",
      "preAuthTime":"2023-12-04 18:20:10",
      "transactionAmount":null,
      "transactionCurrency":null,
      "transactionTime":null,
      "status":"EXPIRED",
      "gmtCreate":"2023-10-16 19:03:43",
      "gmtModified":"2023-10-16 19:03:43"
}

REVERSED Example

{
      "email":"[email protected]",
      "transactionId":"t_xxxxxxxxxxxxx",
      "cardId":"c_xxxxxxxxxxx",
      "cardNumber":"556735XXXXXX0737",
      "cardSeqNo":"CXXXXXXX",
      "desp":"FACEBK UYFYREF3S2      fb.me/ads     IRL",
      "reason":null,
      "preAuthAmount": -1992,
      "preAuthCurrency":"USD",
      "preAuthTime":"2023-12-04 18:20:10",
      "transactionAmount":null,
      "transactionCurrency":null,
      "transactionTime":null,
      "status":"REVERSED",
      "gmtCreate":"2023-10-16 19:03:43",
      "gmtModified":"2023-10-16 19:03:43"
}

COMPLETE Example

{
      "email":"[email protected]",
      "transactionId":"t_xxxxxxxxxxxxx",
      "cardId":"c_xxxxxxxxxxx",
      "cardNumber":"556735XXXXXX0737",
      "cardSeqNo":"CXXXXXXX",
      "desp":"FACEBK UYFYREF3S2      fb.me/ads     IRL",
      "reason":"balance not enough",
      "preAuthAmount": -1992,
      "preAuthCurrency":"USD",
      "preAuthTime":"2023-12-04 18:20:10",
      "transactionAmount":-1992,
      "transactionCurrency":"USD",
      "transactionTime":166662674000,
      "status":"COMPLETE",
      "gmtCreate":"2023-10-16 19:03:43",
      "gmtModified":"2023-10-16 19:03:43"
}

REFUND Example

{
      "email":"[email protected]",
      "transactionId":"t_xxxxxxxxxxxxx",
      "cardId":"c_xxxxxxxxxxx",
      "cardNumber":"556735XXXXXX0737",
      "cardSeqNo":"CXXXXXXX",
      "desp":"FACEBK UYFYREF3S2      fb.me/ads     IRL",
      "reason":"balance not enough",
      "preAuthAmount": null,
      "preAuthCurrency":null,
      "preAuthTime":null,
      "transactionAmount": 1992,
      "transactionCurrency":"USD",
      "transactionTime": "2023-12-04 18:20:10",
      "status":"REFUND",
      "gmtCreate":"2023-10-16 19:03:43",
      "gmtModified":"2023-10-16 19:03:43"
}

Note

For more error codes, please refer to the error code description on the homepage.