CaaS

📢Infinity Card Notification

Card

Event Types

Event TypeDescription
CARD.CREATEDcard created.
CARD.UPDATEDcard info updated
CARD.DELETEDcard deleted

Example

Create a infinity card, you should see a notification message on your local server shell that looks like the following.

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781165157031",
    "eventType": "CARD.CREATED",
    "id": "4a2c00ee-79e9-4a58-bd59-a2c101110447",
    "message": "",
    "resource": "{\n  \"id\" : \"7013b62c-3804-4b6b-aab4-ab969084c50d\",\n  \"accountId\" : \"579e92e6-e126-4d2b-b464-54897a414080\",\n  \"status\" : \"ACTIVE\",\n  \"currency\" : \"USD\",\n  \"bin\" : \"45492416\",\n  \"userName\" : \"Yue Huang\",\n  \"createTime\" : \"1781165154071\",\n  \"cardLastFour\" : \"1812\",\n  \"billingAddress\" : {\n    \"addressLine1\" : \"ghgf hgfhf\",\n    \"addressLine2\" : \"\",\n    \"city\" : \"Florida\",\n    \"country\" : \"US\",\n    \"postalCode\" : \"354344\",\n    \"state\" : \"FL\"\n  },\n  \"label\" : \"默认\",\n  \"balanceId\" : \"818d1aa9-0456-4093-99a9-09b65c19697f\",\n  \"budgetId\" : \"5726a59f-547c-429f-882c-14c75362734a\",\n  \"cardMode\" : \"VIRTUAL_CARD\",\n  \"transactionLimits\" : [ {\n    \"type\" : \"LIFETIME\",\n    \"value\" : \"1.0\",\n    \"currency\" : \"USD\"\n  } ],\n  \"cardStatusChangeRecordList\" : [ {\n    \"userId\" : \"4fa1c488-c668-4f44-811c-b599b53deec0\",\n    \"accountId\" : \"579e92e6-e126-4d2b-b464-54897a414080\",\n    \"cardId\" : \"7013b62c-3804-4b6b-aab4-ab969084c50d\",\n    \"operationTime\" : \"1781165156713\",\n    \"beforeStatus\" : \"\",\n    \"afterStatus\" : \"Active\",\n    \"reasonCode\" : \"7001\"\n  } ]\n}"
}

The resource payload will be JSON format of Card Object.

Event Types

Event TypeDescription
CARD.SETTING.UPDATEDard Payment Mode Updated

Example

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1759391981658",
    "eventType": "CARD.SETTING.UPDATED",
    "id": "bd7dcb29-0c1e-472e-8c11-68e1a7e4385e",
    "message": "",
    "resource": "{\"accountId\":\"bccc7727-4748-4af9-b8e9-f947e920352a\",\"cardId\":\"5e465c7d-d61d-4603-9b4c-8071adf038ab\",\"transactionMode\":[\"CREDENTIAL\"]}"
}

Event Types

Event TypeDescription
CARD.SCENE.UPDATEDCard Consumption Scene Updated

Example

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1780456025285",
    "eventType": "CARD.SCENE.UPDATED",
    "id": "f37100d0-9188-47d0-909d-3c258f0e3dfc",
    "message": "",
    "resource": "{\n  \"id\" : \"9e174c39-841b-4cc3-a0e6-f6bba1b8a87a\",\n  \"accountId\" : \"579e92e6-e126-4d2b-b464-54897a414080\",\n  \"scenes\" : [41 ],\n  \"type\" : \"WHITE_LIST\"\n}"
}

Event Type

Event TypeDescription
CARD.BALANCE.NEGATIVEcard balance negative

Example

When transaction occurs, you should see a notification message on your local server shell that looks like the following.

{
    "id": "6a94b9c7-40d6-4007-a5d0-a96d714a1108",
    "eventType": "CARD.BALANCE.NEGATIVE",
    "code": "000000",
    "message": "",
    "resource": "...",
    "apiVersion": "v3",
    "createTime":"1756879969964"
}

Event Types

Event TypeDescription
CARD.BALANCE.NEGATIVENegative Card Balance

Example

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781167872291",
    "eventType": "CARD.BALANCE.NEGATIVE",
    "id": "c08b5cb7-5e33-45e9-95ae-2517ca000913",
    "message": "",
    "resource": "{\"card\":{\"accountId\":\"743ee88e-dfcc-4946-ad91-9b25470eec93\",\"balanceId\":\"510e6b2d-305a-4141-b00a-b26fa8159aff\",\"bin\":\"40024200\",\"cardLastFour\":\"2069\",\"cardMode\":\"VIRTUAL_CARD\",\"createTime\":\"1775101096618\",\"currency\":\"USD\",\"id\":\"774161a0-13e6-4095-9ca8-5c1eb042b83c\",\"label\":\"默认\",\"status\":\"ACTIVE\",\"transactionLimits\":[{\"currency\":\"USD\",\"type\":\"NA\"}],\"userName\":\"Ming Fan\"},\"cardWallet\":{\"accountId\":\"743ee88e-dfcc-4946-ad91-9b25470eec93\",\"available\":\"-6.00\",\"createTime\":\"1775101096618\",\"currency\":\"USD\",\"frozen\":\"0.00\",\"id\":\"510e6b2d-305a-4141-b00a-b26fa8159aff\",\"objectType\":2,\"walletType\":2}}"
}

The resource payload will be JSON format of Card Balance Negative Object.

Card Transaction

Event Types

Event TypeDescription
CARD_TRANSACTION.CREATEDcard transaction created.
CARD_TRANSACTION.UPDATEDcard transaction updated.

Example

When transaction occurs, you should see a notification message on your local server shell that looks like the following.

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781166485610",
    "eventType": "CARD_TRANSACTION.CREATED",
    "id": "f042080e-67c2-482f-a903-6690db023988",
    "message": "",
    "resource": "{\"accountId\":\"579e92e6-e126-4d2b-b464-54897a414080\",\"amount\":\"10.0\",\"businessCodeList\":[],\"cardId\":\"7013b62c-3804-4b6b-aab4-ab969084c50d\",\"cardTransactionId\":\"37cc04e2-9d92-4492-a280-684e9f77aaf6\",\"clientTransactionId\":\"2064988012430352386\",\"createTime\":\"1781166483835\",\"currency\":\"USD\",\"detail\":\"apple CA US\",\"direction\":2,\"fee\":\"2.2\",\"feeDetails\":[{\"amount\":\"0.2\",\"currency\":\"USD\",\"feeType\":0},{\"amount\":\"2\",\"currency\":\"USD\",\"feeType\":8}],\"id\":\"b30d3f80-62b1-423e-b575-ab46774e3cb0\",\"mcc\":\"4812\",\"mccCategory\":\"\",\"merchantCity\":\"CA\",\"merchantCountry\":\"US\",\"merchantMid\":\"784959000762203\",\"merchantName\":\"apple\",\"merchantState\":\"\",\"merchantZipcode\":\"\",\"remark\":\"\",\"status\":\"PENDING\",\"transactionAmount\":\"10.0\",\"transactionCurrency\":\"USD\",\"transactionDisplayId\":\"2606111628135775\",\"transactionScope\":0,\"transactionTime\":\"1781166482442\",\"type\":1}"
}

The resource payload will be JSON format of Card Transaction Object.

For detailed definitions of code returned in card transaction notifications, please refer to the Card Business Code Reference.


📢Physical Card Notification

Physical Card

Event Types

Event TypeDescription
PHYSICAL_CARD.ACTIVATEDphysical card activated

Example

Activate a physical card, you should see a notification message on your local server shell that looks like the following.

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781145844178",
    "eventType": "PHYSICAL_CARD.ACTIVATED",
    "id": "2c71180d-92ad-4790-bfdb-b4873c677c4b",
    "message": "",
    "resource": "{\n  \"id\" : \"4deccef3-0caf-4000-bd41-adca78a3eb8c\",\n  \"accountId\" : \"de758323-5263-4312-98d7-df47a1f1e8df\",\n  \"cardId\" : \"a278392e-9d89-4bb9-86aa-5a29a3989fc8\",\n  \"shippingAddress\" : {\n    \"addressLine1\" : \"Room 101, Road 1\",\n    \"addressLine2\" : \"Building A\",\n    \"city\" : \"Shanghai\",\n    \"country\" : \"CN\",\n    \"postalCode\" : \"200000\",\n    \"state\" : \"Shanghai\"\n  },\n  \"phoneNumber\" : \"13800138000\",\n  \"email\" : \"[email protected]\",\n  \"phoneCountryCode\" : \"86\",\n  \"firstName\" : \"San\",\n  \"lastName\" : \"Zhang\",\n  \"batchNumber\" : \"71f9c9ec-9613-4f34-83a3-419e3e9cd9cf\",\n  \"cardStyle\" : \"Plastic\"\n}"
}

The resource payload will be JSON format of Physical Card Object.

Event Types

Event TypeDescription
PHYSICAL_CARD.SHIPPINGphysical card shipping information

Example

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1777543510699",
    "eventType": "PHYSICAL_CARD.SHIPPING",
    "id": "a9e27312-64a5-4d25-b171-f4794f08b95d",
    "message": "",
    "resource": "{\"trackingUrl\":\"www.ewr33.com\",\"cardId\":\"de83c53b-adc3-4e35-b548-175667c20134\",\"expressCompany\":\"顺丰\",\"trackingNumber\":\"sf24332\"}"
}

Event Types

Event TypeDescription
PHYSICAL_CARD.VERIFYphysical card verify

Example

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1764830001154",
    "eventType": "PHYSICAL_CARD.VERIFY",
    "id": "92dd0b86-8040-4728-89c6-faefc8293c6b",
    "message": "",
    "resource": "{\"cardId\":\"ca3a6f77-307b-49aa-ba8c-1d0f9ebebd4c\",\"firstName\":\"Knope\",\"lastName\":\"Leslie\",\"status\":\"Success\",\"reason\":\"\",\"accountId\":\"78f4348c-cf66-4578-9ecc-21ace7b96148\"}"
}

📢Infinity Account Transaction Notification

Infinity Account

Event Types

Event TypeDescription
INFINITY_ACCOUNT_WALLET_TRANSACTION.CREATEDinfinity account wallet transaction created.

Example

Create an account wallet transaction, you should see a notification message on your local server shell that looks like the following.

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781159808233",
    "eventType": "INFINITY_ACCOUNT_WALLET_TRANSACTION.CREATED",
    "id": "f56752b8-1d53-44e9-afe3-2f8e6c40b24f",
    "message": "",
    "resource": "{\n  \"id\" : \"3d9a70f7-e676-47e6-add7-f8b3c13de79a\",\n  \"accountId\" : \"2cdf2484-26df-43e1-847b-72d5f5cda6ec\",\n  \"amount\" : \"0\",\n  \"fee\" : \"0\",\n  \"type\" : 1,\n  \"status\" : \"CLOSED\",\n  \"createTime\" : \"1781159807483\",\n  \"transactionDisplayId\" : \"2606111436135735\",\n  \"direction\" : 2\n}"
}

The resource payload will be JSON format of InfinityAccountTransaction Resource.


📢Budget

Budget

Event Types

Event TypeDescription
BUDGET.CREATEDbudget created.
BUDGET.UPDATEDbudget info updated
BUDGET.DELETEDbudget deleted

Example

Create a budget, you should see a notification message on your local server shell that looks like the following.

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781066254990",
    "eventType": "BUDGET.CREATED",
    "id": "5d6705e1-1a27-4c9e-9fd4-a6dbfbde55c6",
    "message": "",
    "resource": "{\n  \"id\" : \"9937ff99-be76-49a3-9042-b6e9bb7e7506\",\n  \"accountId\" : \"6adc6355-84a5-4982-b7a9-3eb2e35fc531\",\n  \"createTime\" : \"1781066254450\",\n  \"name\" : \"CHUNFANG FU:35571565\",\n  \"balance\" : {\n    \"id\" : \"7a2b3fce-6edc-4cd1-b547-f7804bce3ad7\",\n    \"available\" : \"0.00000000\",\n    \"currency\" : \"USD\"\n  },\n  \"status\" : \"ACTIVE\"\n}"
}

The resource payload will be JSON format of Budget Object.

📢Budget Transaction

Event Types

Event TypeDescription
BUDGET_TRANSACTION.CREATEDbudget transaction created.

Example

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1781167051847",
    "eventType": "BUDGET_TRANSACTION.CREATED",
    "id": "bfee2abc-b243-4a3f-939f-c88f217f21c0",
    "message": "",
    "resource": "{\n  \"id\" : \"31e5d928-a5b5-49e0-97f1-180349576893\",\n  \"accountId\" : \"579e92e6-e126-4d2b-b464-54897a414080\",\n  \"budgetId\" : \"9cf3ab0e-25e9-4d0e-b424-6a96ee6a14bf\",\n  \"amount\" : \"11\",\n  \"fee\" : \"0\",\n  \"feeDetails\" : [ ],\n  \"clientTransactionId\" : \"MERCHANT__CREATE_579e92e6-e126-4d2b-b464-54897a414080_9cf3ab0e-25e9-4d0e-b424-6a96ee6a14bf_1781167049650\",\n  \"transactionDisplayId\" : \"2606111637135780\",\n  \"type\" : \"0\",\n  \"status\" : \"CLOSED\",\n  \"createTime\" : \"1781167049915\",\n  \"transactionCurrency\" : \"USD\",\n  \"transactionAmount\" : \"11\",\n  \"direction\" : 1\n}"
}

The resource payload will be JSON format of Budget Transaction Object.


📢Cardholder

Event Types

Event TypeDescription
CARDHOLDER.CREATEDcardholder created.
CARDHOLDER.UPDATEDcardholder info updated
CARDHOLDER.DELETEDcardholder deleted

Example

Create a cardholder, you should see a notification message on your local server shell that looks like the following.

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1780475069474",
    "eventType": "CARDHOLDER.CREATED",
    "id": "fd030ee8-8496-45ae-8dc2-274404844fa6",
    "message": "",
    "resource": "{\n  \"id\" : \"2062088010615816194\",\n  \"status\" : \"PENDING\",\n  \"accountId\" : \"579e92e6-e126-4d2b-b464-54897a414080\",\n  \"firstName\" : \"xu\",\n  \"lastName\" : \"mingru\",\n  \"userName\" : \"xu mingru\",\n  \"email\" : \"[email protected]\",\n  \"phoneCountryCode\" : \"86\",\n  \"phoneNumber\" : \"19921638716\",\n  \"dob\" : \"2001-01-01\",\n  \"nationality\" : \"EE\",\n  \"cardholderTier\" : \"CONSUMER\",\n  \"businessModel\" : \"B2C_MOR\",\n  \"address\" : {\n    \"addressLine1\" : \"pingan jinrongzhongxin\",\n    \"addressLine2\" : \"1801\",\n    \"postalCode\" : \"321000\",\n    \"country\" : \"USA\",\n    \"state\" : \"zj\",\n    \"city\" : \"hangzhou\"\n  },\n  \"cardBinList\" : [ \"1871360899013545985\", \"1871360596906217473\", \"1871360464026470000\", \"1871360496083530000\" ]\n}"
}

The resource payload will be JSON format of Cardholder Object.


📢 3DS Notification

Event Types

Event TypeDescription
CARD.3DS.OTPThis event sends OTP details for a card consumption transaction, including card info, amount, and the one-time code, to enable secure verification.

Resource Object

The resource payload will be a 3DS Object.

Example Payload

{
    "apiVersion": "v3",
    "code": "000000",
    "createTime": "1773721365670",
    "eventType": "CARD.3DS.OTP",
    "id": "15126017-57c0-4ac3-9f10-aedb6cc58788",
    "message": "",
    "resource": "{\"cardId\":\"ef02d622-5066-42b4-b103-9131c458bdf0\",\"accountId\":\"bccc7727-4748-4af9-b8e9-f947e920352a\",\"otp\":\"661957\",\"currency\":\"USD\",\"amount\":0,\"cardNumber\":\"4938-75xx-xxxx-4673\",\"detail\":\"Wallet binding\",\"expireTime\":\"420\"}"
}

📢 Card Negative Notification

Event Type

EventEvent TypeScheduleDescription
Negative balance reportNEGATIVE-BILLING-DETAILS1st & 15th of each monthDetects negative balances (card balance & budget balance) from the previous cycle provides detailed reports in XLSX format.
Auto-deduction resultNEGATIVE-CHARGE-BILLING-DETAILS2nd & 16th of each monthAutomatically deducts funds from your Infinity Account to settle negative balances and provides summaries and detailed reports for fully settled, partially settled, and unsettled balances.
Retry charge notificationCARD-CHARGEEvery 2 hoursAutomatically retries unsettled orders — fully settles if balance is sufficient, partially settles otherwise and retries later.
Daily outstanding summaryDAILY-NEGATIVE-ACCOUNT-REPORTDailyProvides an account-level overview of outstanding negative balances.

The resource field refers to Negative Resource.

Sample Payload

{
    "id": "6a94b9c7-40d6-4007-a5d0-a96d714a1108",
    "code": "000000",
    "message": "",
    "createTime": "1757649535314",
    "eventType": "DAILY-NEGATIVE-ACCOUNT-REPORT",
    "resource": "..."
}