Card management
The Card management API is about how to create and manage your cards through OpenAPI.
Cards are divided into B2B cards and B2C cards, suitable for different business needs:
B2B Card
cards are suitable for internal use within enterprises. All cards are registered under the company's Business Account, and all cards share the balance.
B2C Card
cards are suitable for issuing cards to independent consumers. First, use the Create User API to obtain the user ID. Each user can only create one card, and the balances between users are independent. Recharge can be done through Platform Transfer or Digital Wallet.
API
Create a card
- For B2B cards, you can add a card_holders object to set multiple individuals. When using the card, if 3DS verification is required, you can select to send the verification information to one of them on the page.
- For B2C cards,For B2C cards, the Create User API must be used to obtain the user ID and pass the p_user_id field, and any input in card_holders will be ignored. In 3DS verification, the verification information can only be sent to the corresponding user.
Card number/expiration date/cvv Randomly generated by backend.
For security reasons, we do not return card detail data in the standard API, if you need to access the full card information, please view it through the Get Full Card Information API. We strongly discourage you from storing full card information in the database.
Lock a card
If you want to temporarily deactivate the card, then please change the card status to Locked via the card lock API, the Locked status of the card will not allow any transactions.
Unlock a card
If the temporary deactivation is expected to be terminated, then the card can be brought back into normal use via the Unlock Card API.
Terminated a card
If it is decided that the card is no longer to be used, the card is terminated via the Card Termination API.
Edit card limit configure
In addition to specifying the limit policy when creating the card, it can be modified through the Edit Card Limit Configure API. We support 4 different rules at the same time, if you want to disable a rule, set the amount to 0.
- Transaction: Maximum limit per transaction.
- Daily: Aggregate limit within a single natural day.
- Monthly: Aggregate limit within a single natural month.
- Lifetime: Aggregate limit within whole lifetime.
which is used to terminate the card. Unlike the Lock Card API, terminating a card is permanent and unrecoverable.
Get card list
- For B2B cards, you can query all the cards of the business.
- For B2C cards, you can query all the cards under a certain user.
Get card transaction list
- For B2B cards, you can query all cards or single card transactions.
- For B2C cards, you can query all user cards or single card transactions.
Create user
Edit user
Get user
The Get User API allows querying by either user_id or reference_id.
Create digital wallet - Only for B2C card
Through the API for creating a digital wallet, you can create an e-wallet address for a specific user. After the creation is successful, you can transfer digital currency assets to it from other platforms.
Supported blockchains
- Solana.
- ETH.
Supported digital currency assets
Currently, we only support digital currencies equivalent to the US dollar. For all digital currencies equivalent to the US dollar, we will recharge them into the users' US dollar balance at a ratio of 1:1.
- USDT
- USDC
Get digital wallet - only for B2C card
The creation of the digital wallet may be asynchronous. You can detect the activation status of the digital wallet by polling this API.
Get digital wallet list - only for B2C card
Query all the wallet addresses of a certain user.
Get digital wallet transaction list - only for B2C card
Query the recharge records of the digital wallet through this API. Currently, the system only supports recharging and does not support transfers.
Set digital wallet topup fee rules
For each different blockchain and asset, it is allowed to set different fee rules. The fee rule consists of two parts for calculation.
- The "fixed_fee" represents the fixed deducted amount,
- The "percentage_fee" represents the deducted amount calculated based on a percentage.
Both take effect simultaneously. The final amount that the user recharges in USD is calculated as follows:
FINAL_USER_TOPUP_AMOUNT_IN_USD = TOPUP_BLOCKCHAIN_AMOUNT - FEE_RULE_FIXED_FEE - (TOPUP_BLOCKCHAIN_AMOUNT * FEE_RULE_PERCENTAGE_FEE)
# FIXED_FEE = 10
# PERCENTAGE_FEE = 1.5%
# IF User topup 100 USDT from another platform, then the final topup USD amount is:
100 - 10 - (100 * 1.5%) = 90 - 15 = 75 USD
Platform Transfer
It allows a specified user (sender_party) to transfer funds to another user (receiver_party).
For security purposes, verification of four elements will be carried out: user_id, reference_id, document_type, and document_number. The verification is considered passed only when these four elements belong to the same user.
Remote trading decisions
If you want to approve each transaction by yourself, you can use this feature to send each transaction authorization to your server, and you will decide whether to approve the transaction or not. Note that we will send it to your server for decision-making after our decision-making logic (card limits/risk controls, etc.) has been approved.
To use this feature, you need to provide a webhook endpoint, and develop it according to our specification.
Realtime Webhook
If you would like to receive real-time notifications of transactions via webhook, please contact us to configure the webhook url.
For each transaction we will send the following transaction notification:
Actions
Action | Description |
---|---|
Authorization | When new transaction authorized |
Reversed | When transaction void from acquirer side |
Settled | Settled an authorized transaction |
{
"action": "Authorization",
"card_transaction": {
"id": "33cc2ca1-b4bf-4516-9962-31c67a885eeb",
"p_business_id": "35cc45cc-c418-4154-8f12-2dda715d0433",
"card": "03e69dd9-a70c-4b0f-b084-c0ee077772fb",
"status": "Declined",
"type": "Sales",
"transaction_currency": "HKD",
"transaction_amount": "-101",
"local_currency": "HKD",
"local_amount": "-101",
"final_local_amount": "-101",
"calculated_fee": "0",
"merchant_id": "666666660057123",
"merchant_country": "HK",
"merchant_city": "",
"merchant_name": "Bindo Simulator Test",
"p_created_at": "2025-03-04T03:32:11.051702Z"
}
}