Card Management
Supported card BIN
POST /merchant/core/mcb/card/v2/cardTypes
Request
Response
cardTypeId
Long
true
ID
organization
String
true
Card organization.
Visa
;
MasterCard
;
Discover
country
String
true
Issue country
bankCardBin
String
true
Card Bin
type
String
true
Card type.
Virtual
;
Physical
typeStr
String
true
Card Type desc
cardName
String
true
Card name
cardDesc
String
true
Card desc
cardPrice
Bigdecimal
true
Card Price
cardPriceCurrency
String
true
Card price currency
support
List
true
Supporting organizations. For reference only
needCardHolder
Boolean
true
Cardholder is required. If it is equal to true, Need to call the cardholder create or cardholder create -v2 interface
supportHolderRegin
List
true
Nationality, country/region 2-digit code of the cardholder supported
supportHolderAreaCode
List
true
Mobile area code supported by the cardholder
needDepositForActiveCard
Boolean
true
When you open the card, you need to top up
depositAmountMinQuotaForActiveCard
BigDecimal
true
Minimum recharge amount when opening a card
depositAmountMaxQuotaForActiveCard
BigDecimal
true
Maximum recharge amount when opening a card
fiatCurrency
String
true
Card currency
maxCount
Integer
true
Maximum number of cards purchased
status
String
true
Status.
online
: on the shelf;
offline
: off the shelf
rechargeCurrency
String
true
Supported currencies for recharge
rechargeMinQuota
BigDecimal
true
Minimum recharge amount
rechargeMaxQuota
BigDecimal
true
Maximum recharge amount
rechargeFeeRate
BigDecimal
true
Recharge fee rate 1=1%
rechargeFixedFee
BigDecimal
true
Fixed recharge fee
rechargeDigital
Integer
true
When recharging, the length of the decimal point of the amount
enableActiveCard
Boolean
true
Enable the card opening function
enableDeposit
Boolean
true
Enable the recharge function
enableFreeze
Boolean
true
Enable the freeze function
enableUnFreeze
Boolean
true
Enable the defrost function
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
[
{
"cardTypeId": 111002,
"organization": "Visa",
"country": "US",
"bankCardBin": "4866",
"type": "Virtual",
"typeStr": "Virtual Card",
"cardName": "4866**",
"cardDesc": "Adobe,Aliexpress,Amazon.(暂不支持PayPal, Grab, ONLYFANS, Patreon, Etsy商户消费,否则会立刻销卡并冻结;需要Apple服务可选择5319卡片;)",
"cardPrice": "10",
"cardPriceCurrency": "USD",
"support":
[
"Adobe",
"Aliexpress"
],
"supportHolderRegin":
[
"US"
],
"supportHolderAreaCode":
[
"+60",
"+1"
],
"needCardHolder": false,
"needDepositForActiveCard": true,
"depositAmountMinQuotaForActiveCard": "10",
"depositAmountMaxQuotaForActiveCard": "100000",
"fiatCurrency": "USD",
"maxCount": 100,
"status": "online",
"rechargeCurrency": "USD",
"rechargeMinQuota": 20,
"rechargeMaxQuota": 100000,
"rechargeFeeRate": 1,
"rechargeFixedFee": 0,
"rechargeDigital": 2,
"enableActiveCard": true,
"enableDeposit": true,
"enableFreeze": true,
"enableUnFreeze": true
}
]
}
Open Card
POST /merchant/core/mcb/card/openCard
Request
merchantOrderNo
String
true
Merchant order number. length[20...40]
holderId
Long
false
Cardholder ID
cardTypeId
Long
true
Card type ID
amount
BigDecimal
false
The amount of top-up when opening the card. If not passed, the default value is equal to depositAmountMinQuotaForActiveCard (if the card BIN requires a first top-up) Value range: /merchant/core/mcb/card/cardTypes interface depositAmountMinQuotaForActiveCard <= amount <= depositAmountMaxQuotaForActiveCard
cardNumber
String
false
Card number. Need to pass when opening a physical card
Response
orderNo
String
true
Platform order number
merchantOrderNo
String
true
Merchant order number
cardNo
String
false
Bank Card ID
currency
String
true
Currency
amount
BigDecimal
true
Amount
fee
BigDecimal
true
Fee
receivedAmount
BigDecimal
true
Received Amount
receivedCurrency
String
true
Received Currency
type
String
true
Type.
create
: Open card;
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
true
Remark
transactionTime
Long
true
Transaction time. Millisecond timestamp
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
[
{
"orderNo": "1852379830190366720",
"merchantOrderNo": "T1852379826671345664",
"cardNo": null,
"currency": "USD",
"amount": "15",
"fee": "0",
"receivedAmount": "0",
"receivedCurrency": "USD",
"type": "create",
"status": "processing",
"remark": null,
"transactionTime": 1730476741729
}
]
}
Activate Card
POST /merchant/core/mcb/card/physicalCard/activeCard
Request
merchantOrderNo
String
true
Merchant order number. length[20...40]
cardNo
String
true
Card ID
pin
String
true
Card password. 6 digits
activeCode
String
true
Activation Code
noPinPaymentAmount
BigDecimal
false
The amount of payment without PIN. 0~2000USD, default 500USD
Response
merchantOrderNo
String
true
Merchant order number
cardNo
String
true
Card ID
type
String
true
Type。
card_activated
:Activate Card
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
true
Remark
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"merchantOrderNo": "35nigjaongaognaeorig",
"cardNo": "jojaga3-35mg-35saga-3535dfg",
"type": "card_activated",
"status": "success",
"remark": null
}
}
Card Info
POST /merchant/core/mcb/card/info
Request
cardNo
String
true
Bank Card ID
onlySimpleInfo
Boolean
false
Whether to return only the basic information of the card. Does not include the balance. Default is true
Response
cardTypeId
Long
true
Card type ID
holderId
Long
false
Cardholder ID
cardNo
String
true
Bank Card ID
cardNumber
String
true
Bank Card Number
cvv
String
true
cvv. The merchant's public key is encrypted and returned, and the merchant's private key is used to decrypt
validPeriod
String
true
Validity period. The merchant's public key is encrypted and returned, and the merchant's private key is used to decrypt
status
String
true
Status.
un_activated
: To be activated;
Normal
: Normal;
Freeze
: Freeze;
Freezing
: Freezing in review; UnFreezing
: Unfreezing
canceling
:Canceling
cancel
:Canceled
blocked
: Blocked
statusStr
String
true
Status remark
blocked
Boolean
true
true
or false
. Card be blocked
bindTime
Long
true
Card opening time. Millisecond timestamp
remark
String
false
Remark
balanceInfo
Object
false
Card balance information
balanceInfo.cardNo
String
true
Bank Card ID
balanceInfo.amount
BigDecimal
true
Available balance
balanceInfo.usedAmount
BigDecimal
true
Amount used. some cards bin not support
balanceInfo.currency
String
true
Currency
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"holderId": 10090,
"cardNo": "FC202408181555232422322004",
"cardNumber": "202404000000000083",
"cvv": "bQoXms9ScNxy37b1JgyP1tJuFiAcGl6d+7jqn7LTZRzQMXjn00zaa/xKJp/8sotkcBjl/L/6LSImxhnF+yg6V3aDft+v1ikkYBdY9Wco042o/uPyUNtr0xW786ENyB8Z84teK3vWtLeU/TbixEygxrxl/ilE+COmJOItWCGE6bs=",
"validPeriod": "gQldrvKSV3cWXuCbrUgtVF5EsCgxEAZQuivEuddeoo5M+5bF0AiJJbw8PWvvZZerRmcOmv/0dRv8uyeaSbUmCyQrDn6cploG60lCxGfnzSopv5pEO4UrK071tNzIa++mZ4IZ4tvtlMYlwo+y3d9JhIareLM21E1mH7aPn+WOk50=",
"status": "cancel",
"statusStr": "Canceled",
"bindTime": 1723997214000,
"remark": null,
"balanceInfo":
{
"cardNo": "FC202408181555232422322004",
"amount": "10",
"usedAmount": "1",
"currency": "USD"
}
}
}
Card Balance
POST /merchant/core/mcb/card/balanceInfo
Reuqest
cardNo
String
true
Bank Card ID
Response
cardNo
String
true
Bank Card ID
amount
BigDecimal
true
Available balance
usedAmount
BigDecimal
true
Amount used. some cards bin not support
currency
String
true
Currency
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"cardNo": "FC202408181555232422322004",
"amount": "10",
"usedAmount": "1",
"currency": "USD"
}
}
Freeze
POST /merchant/core/mcb/card/freeze
Request
cardNo
String
true
Bank Card ID
Response
status
String
true
Status.
processing
: processing;
success
: success;
fail
: failure;
statusStr
String
true
Status remark
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"status": "success",
"statusStr": "成功"
}
}
Freeze-v2
POST /merchant/core/mcb/card/v2/freeze
Request
cardNo
String
true
Bank Card ID
merchantOrderNo
String
true
Merchant order number. length[20...40]
clientRemark
String
false
Client remark. length[0...50]
Response
orderNo
String
true
Platform order number
merchantOrderNo
String
true
Merchant order number
cardNo
String
true
Bank Card ID
currency
String
true
Currency
amount
BigDecimal
true
Amount
fee
BigDecimal
true
Fee
receivedAmount
BigDecimal
false
Amount received. status=success returns
receivedCurrency
String
false
The currency of the account. status=success is returned
type
String
true
Type. Freeze
: Freeze;
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
false
Transaction Notes
transactionTime
Long
true
Transaction time. Millisecond timestamp
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"orderNo": "1852379830190366720",
"merchantOrderNo": "T1852379826671345664",
"cardNo": "38928421021320391244",
"currency": "USD",
"amount": "0",
"fee": "0",
"receivedAmount": "0",
"receivedCurrency": "USD",
"type": "Freeze",
"status": "processing",
"remark": "Freeze",
"transactionTime": 1730476742000
}
}
Unfreeze
POST /merchant/core/mcb/card/unfreeze
Request
cardNo
String
true
Bank Card ID
Response
status
String
true
Status.
processing
: processing;
success
: success;
fail
: failure;
statusStr
String
true
Status remark
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"status": "success",
"statusStr": "成功"
}
}
UnFreeze-v2
POST /merchant/core/mcb/card/v2/unfreeze
Request
cardNo
String
true
Bank Card ID
merchantOrderNo
String
true
Merchant order number. length[20...40]
clientRemark
String
false
Client remark. length[0...50]
Response
orderNo
String
true
Platform order number
merchantOrderNo
String
true
Merchant order number
cardNo
String
true
Bank Card ID
currency
String
true
Currency
amount
BigDecimal
true
Amount
fee
BigDecimal
true
Fee
receivedAmount
BigDecimal
false
Amount received. status=success returns
receivedCurrency
String
false
The currency of the account. status=success is returned
type
String
true
Type. UnFreeze
: UnFreeze;
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
false
Transaction Notes
transactionTime
Long
true
Transaction time. Millisecond timestamp
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"orderNo": "1852379830190366720",
"merchantOrderNo": "T1852379826671345664",
"cardNo": "38928421021320391244",
"currency": "USD",
"amount": "0",
"fee": "0",
"receivedAmount": "0",
"receivedCurrency": "USD",
"type": "UnFreeze",
"status": "processing",
"remark": "UnFreeze",
"transactionTime": 1730476742000
}
}
Deposit
POST /merchant/core/mcb/card/deposit
Request
cardNo
String
true
Bank Card ID
merchantOrderNo
String
true
Merchant order number. length[20...40]
amount
BigDecimal
true
Deposit Amount
Response
orderNo
String
true
Platform order number
merchantOrderNo
String
true
Merchant order number
cardNo
String
true
Bank Card ID
currency
String
true
Currency
amount
BigDecimal
true
Amount
fee
BigDecimal
true
Fee
receivedAmount
BigDecimal
false
Amount received. status=success returns
receivedCurrency
String
false
The currency of the account. status=success is returned
type
String
true
Type.
deposit
: Deposit;
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
false
Transaction Notes
transactionTime
Long
true
Transaction time. Millisecond timestamp
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"orderNo": "1852379830190366720",
"merchantOrderNo": "T1852379826671345664",
"cardNo": "38928421021320391244",
"currency": "USD",
"amount": "15",
"fee": "0",
"receivedAmount": "0",
"receivedCurrency": "USD",
"type": "deposit",
"status": "processing",
"remark": "Card Deposit",
"transactionTime": 1730476742000
}
}
Update PIN
Update physical card PIN
POST /merchant/core/mcb/card/physicalCard/updatePin
Request
cardNo
String
true
Card ID
merchantOrderNo
String
true
Merchant order number. length[20...40]
pin
String
true
PIN. 6 digits
Response
orderNo
String
true
Platform order number
merchantOrderNo
String
false
Merchant order number
cardNo
String
false
Bank Card ID
currency
String
true
Currency
amount
BigDecimal
true
Amount
fee
BigDecimal
true
Fee
receivedAmount
BigDecimal
false
Received Amount
receivedCurrency
String
false
Received Currency
type
String
true
Type.
update_pin
: Update PIN
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
false
Remark
transactionTime
Long
true
Transaction time. Millisecond timestamp
响应示例
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"orderNo": "1852379830190366720",
"merchantOrderNo": "T1852379826671345664",
"cardNo": "38928421021320391244",
"currency": "USD",
"amount": "0",
"fee": "0",
"receivedAmount": "0",
"receivedCurrency": "USD",
"type": "update_pin",
"status": "processing",
"remark": "",
"transactionTime": 1730476742000
}
}
Card Transaction
POST /merchant/core/mcb/card/transaction
Request
pageNum
Integer
true
Current page. Default is 1
pageSize
Integer
true
Number of pages per page. Default 10, maximum 100
type
String
true
Type.
create
: Open card;
deposit
: Deposit;
cancel
: Cancel Card;
freeze
: Freeze Card;
UnFreeze
: UnFreeze Card;
withdraw
: Withdraw;
update_pin
: Update PIN
merchantOrderNo
String
false
Merchant order number
orderNo
String
false
Platform order number
cardNo
String
false
Bank Card ID
startTime
Long
false
Start trading time. Milliseconds timestamp
endTime
Long
false
End trading time. Millisecond timestamp
Response
orderNo
String
true
Platform order number
originOrderNo
String
false
Origin Transaction order number
merchantOrderNo
String
false
Merchant order number
cardNo
String
false
Bank Card ID
currency
String
true
Currency
amount
BigDecimal
true
Amount
fee
BigDecimal
true
Fee
receivedAmount
BigDecimal
false
Received Amount
receivedCurrency
String
false
Received Currency
type
String
true
Type.
create
: Open card;
deposit
: Deposit;
cancel
: Cancel Card;
Freeze
: Freeze Card;
UnFreeze
: UnFreeze Card;
withdraw
: Withdraw;
update_pin
: Update PIN
blocked
: Card be blocked
subType
String
false
Sub type.
DEFAULT
: Default
REFUND
: Card balance refund.This generally refers to a refund initiated by the merchant after the card is cancelled. Because the card is cancelled, the balance cannot be refunded to the card itself and needs to be withdrawn to the customer's wallet.
status
String
true
Status.
wait_process
: pending;
processing
: processing;
success
: success;
fail
: failure
remark
String
false
Remark
transactionTime
Long
true
Transaction time. Millisecond timestamp
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"total": 1,
"records":
[
{
"orderNo": "1852379830190366720",
"merchantOrderNo": "T1852379826671345664",
"cardNo": null,
"currency": "USD",
"amount": "15",
"fee": "0",
"receivedAmount": "0",
"receivedCurrency": "USD",
"type": "create",
"status": "processing",
"remark": null,
"transactionTime": 1730476742000
}
]
}
}
Card Authorization Transaction (Consumption Bill)
POST /merchant/core/mcb/card/authTransaction
Request
pageNum
Integer
true
Current page. Default is 1
pageSize
Integer
true
Number of pages per page. Default 10, maximum 100
type
String
false
type.
auth
: pre-authorization;
refund
: refund;
verification
: verification;
Void
: revocation;
maintain_fee
: Card maintenance fee (monthly fee, annual fee)
tradeNo
String
false
Transaction serial number
cardNo
String
false
Bank Card ID
startTime
Long
false
Start trading time. Milliseconds timestamp
endTime
Long
false
End trading time. Millisecond timestamp
Response
cardNo
String
true
Bank Card ID
tradeNo
String
true
Transaction serial number
originTradeNo
String
false
Origin transaction serial number
currency
String
false
Currency
amount
BigDecimal
false
Amount
authorizedAmount
BigDecimal
true
Authorized amount
authorizedCurrency
String
true
Authorized currency
fee
BigDecimal
true
Authorization fee
feeCurrency
String
false
Authorization fee currency
crossBoardFee
BigDecimal
true
Cross board fee
crossBoardFeeCurrency
String
false
Cross board fee currency
settleAmount
BigDecimal
false
Settlement amount. Pushed after receiving settlement information
settleCurrency
String
false
Settlement currency. Pushed after receiving settlement information
settleDate
Long
false
Settlement date. Millisecond timestamp
merchantName
String
true
Merchant name
type
String
true
type.
auth
: Pre-authorization;
refund
: Refund;
verification
: Verification;
Void
: Reversal;
maintain_fee
: Card fee (monthly fee, annual fee, ATM withdraw fee....)
typeStr
String
true
Type remark
status
String
true
Status.
authorized
: Authorized;
failed
: Failed;
succeed
: Successful
statusStr
String
true
Status remark
description
String
true
Transaction Description
transactionTime
Long
true
Transaction time. Millisecond timestamp
Example Response
{
"success": true,
"code": 200,
"msg": "Success",
"data":
{
"total": 1563,
"records":
[
{
"cardNo": "1242352328671924231",
"tradeNo": "trans1232435363435463432",
"originTradeNo": null,
"currency": "CNY",
"amount": "16.96",
"authorizedAmount": "2.45",
"authorizedCurrency": "USD",
"fee": "0.5",
"feeCurrency": "USD",
"crossBoardFee": "0",
"crossBoardFeeCurrency": null,
"settleAmount": 0,
"settleCurrency": null,
"settleDate": null,
"merchantName": "ALP*Mr Rice 1223",
"type": "auth",
"typeStr": "授权",
"status": "authorized",
"statusStr": "已授权",
"transactionTime": 1729422898000,
"description": "Auth"
}
]
}
}
Card Authorization Fee Transaction
Request Params
cardNo
String
true
Bank No
tradeNo
String
true
Transaction No
originTradeNo
String
true
Origin Trade No , Authorization transaction in tradeNo
currency
String
true
Fee currency
amount
BigDecimal
true
Fee amount
type
String
true
card_patch_fee
: auth fee;
card_patch_cross_border
: cross-border fee;
deductionSourceFunds
String
true
Source of fund deduction.
wallet
: wallet
status
String
true
Status
success
: success;
statusStr
String
true
Status description
transactionTime
Long
true
Transaction time (unit: milliseconds)
Request Example
{
"cardNo": "1242352328671924231",
"tradeNo": "CAF1232435363435463432",
"originTradeNo": "trans1232435363435463432",
"currency": "USD",
"amount": "0.5",
"type": "card_patch_fee",
"deductionSourceFunds": "wallet",
"status": "success",
"statusStr": "Success",
"transactionTime": 1729422898000
}
Card 3ds Transaction
POST /merchant/core/mcb/card/third3dsTransaction
Request
pageNum
Integer
true
Current page. Default 1
pageSize
Integer
true
Number of pages per page. Default 10, maximum 100
type
String
false
Type
third_3ds_otp:
otp;
auth_url:
Transaction authorization response url
activation_code
: activation code (physical card)
tradeNo
String
false
Transaction serial num
cardNo
String
false
Bank Card ID
startTime
Long
false
Start trading time. Milliseconds timestamp
endTime
Long
false
End trading time. Millisecond timestamp
Response
cardNo
String
true
Bank Card ID
tradeNo
String
true
Transaction serial num
originTradeNo
String
false
Origin Transaction serial num
currency
String
true
currency
amount
BigDecimal
true
amount
merchantName
String
true
Merchant Name (Transaction Scenario)
values
String
true
value. The merchant's public key is encrypted and returned, and the merchant's private key decrypt.
type
String
true
Type
third_3ds_otp:
3ds otp;
auth_url:
Transaction authorization response url
activation_code
: activation code (physical card)
description
String
false
Transaction Description
transactionTime
Long
true
Transaction time. Millisecond timestamp
expirationTime
Long
false
Expiration time. Millisecond timestamp
Example Response
{
"cardNo": "1242352328671924231",
"tradeNo": "trans1232435363435463432",
"originTradeNo": null,
"currency": "CNY",
"amount": "16.96",
"merchantName": "ULTRA MOBILE",
"values": "ajfon34nNOIN24nafaiw4onnfn0iw32ngfn0IF0Q34NFQFOFAW", //Plain text example: 204566
"type": "third_3ds_otp",
"transactionTime": 1729422898000,
"description": null
}
Last updated