更新日志
暂无更新日志记录
FAQ
暂无常见问题解答
签名规则
为了确保数据在传输过程中不被篡改,系统要求您对支付参数数据进行签名,并将数据签名随同支付请求一起上送
MD5签名
- 系统所有接口签名方式都为MD5,具体的签名字段可参考每个接口的签名(sign)参数备注
- 验证签名,您可对字符串123456进行MD5签名,签名结果得到字符串E10ADC3949BA59ABBE56E057F20F883E,即可认为签名正确
- 签名规则:把所字段按照字母a到z顺序进行拼接,然后进行MD5签名,为空的字段不参与签名
- 商户密钥由Tapxyz方提供
卡片列表接口
卡片列表接口
- 接口地址:
- 生产: https://card.tapxyz.com/getCardNameList
- 沙盒: https://sandbox.tapxyz.com/getCardNameList
- 请求方式:GET
#### 响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
状态码 |
String |
|
是 |
0000成功 F9999代表失败 |
data |
响应数据 |
T |
|
是 |
|
响应数据参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
cardName |
卡名称 |
String |
64 |
是 |
|
cardType |
卡类型 |
String |
1 |
是 |
|
currency |
卡名称支持的币种 |
String |
64 |
是 |
|
发卡接口
发卡接口
请求参数
- 接口地址:
- 生产: https://card.tapxyz.com/card/issue
- 沙盒: https://sandbox.card.tapxyz.com/card/issue
- 请求方式:POST
- 请求头:Content-Type:application/json
- body参数:
body参数
{
"merNo":"",
"seqNo":"",
"cardName":"",
"currencyCode":"",
"lastName":"",
"firstName":"",
"cardType":"",
"certificateType":"",
"certificateNo":"",
"dateOfBirth":"",
"gender":"",
"maritalStatus":"",
"billingCity":"",
"billingAddress":"",
"billingType":"",
"billingAddressType":"",
"postalCode":"",
"email":"",
"notifyUrl":"",
"sign":""
}
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
merNo |
商户号 |
String |
64 |
是 |
可在商户后台注册获取 |
seqNo |
开卡流水号(全局唯一) |
String |
16 |
是 |
16位流水号不能重复 |
cardName |
卡片名称 |
String |
64 |
是 |
卡片名称我方提供 |
currencyCode |
币种 |
String |
64 |
是 |
目前支持USD、HKD,不支持多币种 |
lastName |
姓氏 |
String |
64 |
是 |
|
firstName |
名字 |
String |
64 |
是 |
|
cardType |
卡类型 |
String |
|
是 |
1代表Visa 2代表Master |
certificateType |
证件类型 |
String |
2 |
是 |
01-18位身份证 02-15位身份证 03-军官证 04-台胞证 05-回乡证 06-港澳通行证 10-护照 20-其他 90-港澳居民居住证 91-台湾居民居住证 92-香港居民居住证 93-澳门居民居住证 AA-香港身份证 |
certificateNo |
证件号 |
String |
19 |
是 |
|
dateOfBirth |
出生日期 |
String |
10 |
是 |
格式:yyyy-MM-dd |
gender |
性别 |
String |
1 |
是 |
M:男 F:女 |
maritalStatus |
婚姻状况 |
String |
1 |
是 |
S:未婚 M:已婚 O:其他 |
billingCity |
账单省市地址 |
String |
30 |
是 |
|
billingAddress |
账单详细地址 |
String |
30 |
是 |
|
postalCode |
邮政编码 |
String |
6 |
是 |
|
email |
邮箱地址 |
String |
255 |
是 |
|
notifyUrl |
回调通知地址 |
String |
255 |
是 |
由商户提供 |
sign |
签名 |
String |
|
是 |
详见签名规则 |
请求示例
public class Test{
public static void main(String[] args){
JSONObject jsonObject = new JSONObject();
jsonObject.put("merKey", "");
jsonObject.put("seqNo", "");
jsonObject.put("cardName", "");
jsonObject.put("currencyCode","");
//.....除签名(sign)以外的所有的body参数
//签名
String sign = MD5(merKey+certificateNo+email+商户密钥);
jsonObject.put("sign", sign);
String url = "https://card.tapxyz.com/card/issue";
HttpResponse httpResponse = HttpRequest.post(url)
.body(jsonObject.toJSONString(), "application/json")
.execute();
int status = httpResponse.getStatus();
if(status == HttpStatus.HTTP_OK){
String content = httpResponse.body();
}
}
}
响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
状态码 |
String |
|
是 |
0000成功 F9999代表失败 |
msg |
响应描述 |
String |
|
是 |
|
发卡异步通知
- 如果商户系统接收到Tapxyz通知后没有返回SUCCESS(区分大小写)字符串,Tapxyz会认为商户系统没有收到通道,Tapxyz会在第1,2,4,8,16,32,64,128分钟之后再次发起通知,Tapxyz总共会发起9次通知,如果商户系统在8次通知中都没有返回SUCCESS,则Tapxyz不会再发起通知。
请求参数
- 接口地址:notifyUrl开卡传递的地址
- 请求方式:POST
- 请求头:Content-Type:application/json
- body参数:
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
merNo |
商户号 |
String |
64 |
是 |
可在商户后台注册获取 |
seqNo |
流水号 |
String |
64 |
是 |
|
status |
状态码 |
String |
|
是 |
0000代表成功F9999代表失败 |
message |
响应描述 |
String |
60 |
是 |
响应描述 |
certificateNo |
证件号 |
String |
19 |
是 |
|
billingDate |
账单日 |
String |
|
否 |
|
cardNo |
卡号 |
String |
|
否 |
|
cvv |
cvv |
String |
|
否 |
|
expirationTime |
卡有效期 |
String |
|
否 |
|
设置卡密码
请求参数
- 接口地址:
- 生产: https://card.tapxyz.com/card/setPassword
- 沙盒: https://sandbox.card.tapxyz.com/card/setPassword
- 请求方式:POST
- 请求头:Content-Type:application/json
- 请求参数:
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
unMaskedCardNumber |
卡号 |
String |
64 |
是 |
|
password |
|
String |
|
是 |
"密码" |
响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
响应码 |
String |
6 |
是 |
0000成功 F9999失败 |
msg |
响应描述 |
String |
64 |
是 |
|
转账接口
转账接口
请求参数
- 接口地址:
- 生产: https://card.tapxyz.com/transfer
- 沙盒: https://sandbox.card.tapxyz.com/transfer
- 请求方式:POST
- 请求头:Content-Type:application/json
- body参数:
{
"seqNo":"",
"cardNumber":"",
"amount":"",
"cardNumberUntil":"",
"userName":"",
"paymentPassword":"",
"sign":""
}
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
seqNo |
流水订单号 |
String |
64 |
是 |
流水订单号 |
targetCardNumber |
转出卡号 |
String |
12,2 |
是 |
转出卡号 |
amount |
金额 |
String |
64 |
是 |
金额 |
targetCardNumber |
转入卡号 |
String |
64 |
是 |
转入卡号 |
targetUserName |
转入卡号用户名 |
String |
6 |
是 |
转入卡号用户名 |
paymentPassword |
支付密码 |
String |
6 |
是 |
支付密码 |
sign |
签名 |
String |
|
是 |
详见签名规则 |
响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
响应码 |
String |
6 |
是 |
0000成功F9999失败 |
message |
响应描述 |
String |
64 |
是 |
|
data |
返回结果 |
|
|
是 |
|
查询转账记录
请求参数
- 接口地址:
- 生产: https://card.tapxyz.com/transfer/query
- 沙盒: https://sandbox.card.tapxyz.com/transfer/query
- 请求方式:POST
- 请求头:Content-Type:application/json
- body参数:
{
"userId":"",
"type":"",
"sign":""
}
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
userId |
用户id |
String |
64 |
是 |
|
seqNo |
订单号 |
String |
1 |
是 |
订单号 |
sign |
签名 |
String |
|
是 |
详见签名规则 |
响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
响应码 |
String |
6 |
是 |
0000成功 F9999失败 |
msg |
响应描述 |
String |
64 |
是 |
|
data |
返回结果 |
T |
|
是 |
请求响应数据 |
响应数据参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
cardNumber |
转出卡号 |
String |
64 |
是 |
|
seqNo |
订单号 |
String |
64 |
是 |
流水订单号 |
cardType |
卡类型 |
String |
1 |
是 |
|
currency |
币种 |
String |
64 |
是 |
|
amount |
金额 |
String |
12,2 |
是 |
|
changeReason |
出入 |
String |
64 |
是 |
返回转入或转出 |
status |
状态 |
String |
64 |
是 |
|
recipient |
转入卡号 |
String |
64 |
否 |
|
reason |
原因 |
String |
64 |
否 |
|
gmtCreate |
提交日期 |
String |
|
是 |
格式为:yyyy-MM-dd HH:mm:ss |
充值接口
充值接口
请求参数
- 接口地址:
- 生产: https://card.tapxyz.com/recharge
- 沙盒: https://sandbox.card.tapxyz.com/recharge
- 请求方式:POST
- 请求头:Content-Type:application/json
- body参数:
{
"merNo":"",
"seqNo":"",
"amount":"",
"transDestAcctNo":"",
"payBankName":"",
"payAccountName":"",
"payBankCode":"",
"payVoucherUrl":"",
"payCardNo":"",
"notifyUrl":"",
"sign":""
}
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
merNo |
商户号 |
String |
64 |
是 |
可在商户后台注册获取 |
seqNo |
交易流水号 |
String |
16 |
是 |
16位流水号不能重复 |
amount |
充值金额 |
String |
64 |
是 |
|
transDestAcctNo |
被充值卡号 |
String |
16 |
是 |
|
payBankName |
打款银行名称 |
String |
64 |
是 |
|
payAccountName |
打款户名 |
String |
64 |
是 |
|
payBankCode |
打款银行代码 |
String |
16 |
是 |
4-16位之间 |
payCardNo |
打款卡号 |
String |
16 |
是 |
14-16位之间 |
payVoucherUrl |
打款凭证图片 |
String |
255 |
是 |
上传接口上传图片返回的url |
notifyUrl |
充值结果回调地址 |
String |
255 |
是 |
由商户提供 |
sign |
签名 |
String |
|
是 |
详见签名规则 |
响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
状态码 |
String |
6 |
是 |
0000成功 F9999代表失败 |
msg |
响应描述 |
String |
|
是 |
|
充值异步通知
- 如果商户系统接收到Tapxyz通知后没有返回SUCCESS(区分大小写)字符串,Tapxyz会认为商户系统没有收到通道,Tapxyz会在1,2,4,8,16,32,64,128分钟之后再次发起通知,Tapxyz总共会发起9次通知,如果商户系统在8次通知中都没有返回SUCCESS,则Tapxyz就不会再发起通知。
请求参数
- 接口地址:notifyUrl充值传递的地址
- 请求方式:POST
- 请求头:Content-Type:application/json
- body参数:
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
seqNo |
交易流水号 |
String |
16 |
是 |
|
merNo |
商户号 |
String |
64 |
是 |
可在商户后台注册获取 |
message |
响应描述 |
String |
60 |
是 |
|
status |
状态 |
String |
6 |
是 |
0000成功F9999失败 |
文件上传接口
请求参数
- 接口地址:https://upload.tapxyz.com/upload
- 请求方式:POST
- 请求头:multipart/form-data
- 请求参数:
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
serveId |
服务id |
String |
64 |
是 |
值"9988" |
folder |
|
String |
|
是 |
值"Picture" |
sign |
密钥 |
String |
64 |
是 |
密钥 "iop[]/.,mnb" |
file |
上传的图片 |
File |
|
是 |
|
响应参数
字段 |
字段描述 |
类型 |
最大长度 |
必填 |
备注 |
status |
响应码 |
String |
6 |
是 |
0000成功 F9999失败 |
msg |
响应描述 |
String |
64 |
是 |
|
data |
返回结果 |
|
|
是 |
url地址 |
国家编码
国家编码 |
名称 |
AF |
阿富汗 |
AX |
奥兰群岛 |
AL |
阿尔巴尼亚 |
DZ |
阿尔及利亚 |
AS |
美属萨摩亚 |
AD |
安道尔 |
AO |
安哥拉 |
AI |
安圭拉 |
AQ |
南极洲 |
AG |
安提瓜和巴布达 |
AR |
阿根廷 |
AM |
亚美尼亚 |
AW |
阿鲁巴 |
AU |
澳大利亚 |
AT |
奥地利 |
AZ |
阿塞拜疆 |
BS |
巴哈马 |
BH |
巴林 |
BD |
孟加拉 |
BB |
巴巴多斯 |
BY |
白俄罗斯 |
BE |
比利时 |
BZ |
伯利兹 |
BJ |
贝宁 |
BM |
百慕大 |
BT |
不丹 |
BO |
玻利维亚 |
BA |
波黑 |
BW |
博茨瓦纳 |
BV |
布韦岛 |
BR |
巴西 |
IO |
英属印度洋领地 |
BN |
文莱 |
BG |
保加利亚 |
BF |
布基纳法索 |
BI |
布隆迪 |
KH |
柬埔寨 |
CM |
喀麦隆 |
CA |
加拿大 |
CV |
佛得角 |
KY |
开曼群岛 |
CF |
中非 |
TD |
乍得 |
CL |
智利 |
CN |
中国 |
CX |
圣诞岛 |
CC |
科科斯群岛 |
CO |
哥伦比亚 |
KM |
科摩罗 |
CG |
刚果(布) |
CD |
刚果(金) |
CK |
库克群岛 |
CR |
哥斯达黎加 |
CI |
科特迪瓦 |
HR |
克罗地亚 |
CU |
古巴 |
CY |
塞浦路斯 |
CZ |
捷克 |
DK |
丹麦 |
DJ |
吉布提 |
DM |
多米尼克 |
DO |
多米尼加 |
EC |
厄瓜多尔 |
EG |
埃及 |
SV |
萨尔瓦多 |
GQ |
赤道几内亚 |
ER |
厄立特里亚 |
EE |
爱沙尼亚 |
ET |
埃塞俄比亚 |
FK |
马尔维纳斯群岛(福克兰) |
FO |
法罗群岛 |
FJ |
斐济群岛 |
FI |
芬兰 |
FR |
法国 |
GF |
法属圭亚那 |
PF |
法属波利尼西亚 |
TF |
法属南部领地 |
GA |
加蓬 |
GM |
冈比亚 |
GE |
格鲁吉亚 |
DE |
德国 |
GH |
加纳 |
GI |
直布罗陀 |
GR |
希腊 |
GL |
格陵兰 |
GD |
格林纳达 |
GP |
瓜德罗普 |
GU |
关岛 |
GT |
危地马拉 |
GG |
根西岛 |
GN |
几内亚 |
GW |
几内亚比绍 |
GY |
圭亚那 |
HT |
海地 |
HM |
赫德岛和麦克唐纳群岛 |
VA |
梵蒂冈 |
HN |
洪都拉斯 |
HK |
中国香港 |
HU |
匈牙利 |
IS |
冰岛 |
IN |
印度 |
ID |
印尼 |
IR |
伊朗 |
IQ |
伊拉克 |
IE |
爱尔兰 |
IM |
马恩岛 |
IL |
以色列 |
IT |
意大利 |
JM |
牙买加 |
JP |
日本 |
JE |
泽西岛 |
JO |
约旦 |
KZ |
哈萨克斯坦 |
KE |
肯尼亚 |
KI |
基里巴斯 |
KP |
朝鲜 |
KR |
韩国 |
KW |
科威特 |
KG |
吉尔吉斯斯坦 |
LA |
老挝 |
LV |
拉脱维亚 |
LB |
黎巴嫩 |
LS |
莱索托 |
LR |
利比里亚 |
LY |
利比亚 |
LI |
列支敦士登 |
LT |
立陶宛 |
LU |
卢森堡 |
MO |
中国澳门 |
MK |
马其顿 |
MG |
马达加斯加 |
MW |
马拉维 |
MY |
马来西亚 |
MV |
马尔代夫 |
ML |
马里 |
MT |
马耳他 |
MH |
马绍尔群岛 |
MQ |
马提尼克 |
MR |
毛里塔尼亚 |
MU |
毛里求斯 |
YT |
马约特 |
MX |
墨西哥 |
FM |
密克罗尼西亚联邦 |
MD |
摩尔多瓦 |
MC |
摩纳哥 |
MN |
蒙古国 蒙古 |
MS |
蒙塞拉特岛 |
MA |
摩洛哥 |
MZ |
莫桑比克 |
MM |
缅甸 |
NA |
纳米比亚 |
NR |
瑙鲁 |
NP |
尼泊尔 |
NL |
荷兰 |
AN |
荷属安的列斯 |
NC |
新喀里多尼亚 |
NZ |
新西兰 |
NI |
尼加拉瓜 |
NE |
尼日尔 |
NG |
尼日利亚 |
NU |
纽埃 |
NF |
诺福克岛 |
MP |
北马里亚纳群岛 |
NO |
挪威 |
OM |
阿曼 |
PK |
巴基斯坦 |
PW |
帕劳 |
PS |
巴勒斯坦 |
PA |
巴拿马 |
PG |
巴布亚新几内亚 |
PY |
巴拉圭 |
PE |
秘鲁 |
PH |
菲律宾 |
PN |
皮特凯恩群岛 |
PL |
波兰 |
PT |
葡萄牙 |
PR |
波多黎各 |
QA |
卡塔尔 |
RE |
留尼汪 |
RO |
罗马尼亚 |
RU |
俄罗斯 |
RW |
卢旺达 |
SH |
圣海伦娜岛 |
KN |
圣基茨和尼维斯 |
LC |
圣卢西亚 |
PM |
圣皮埃尔和密克隆 |
VC |
圣文森特和格林纳丁斯 |
WS |
萨摩亚 |
SM |
圣马力诺 |
ST |
圣多美和普林西比 |
SA |
沙特阿拉伯 |
SN |
塞内加尔 |
ME |
黑山 |
SC |
塞舌尔 |
SL |
塞拉利昂 |
SG |
新加坡 |
SK |
斯洛伐克 |
SI |
斯洛文尼亚 |
SB |
所罗门群岛 |
SO |
索马里 |
ZA |
南非 |
GS |
南乔治亚岛和南桑威奇群岛 |
ES |
西班牙 |
LK |
斯里兰卡 |
SD |
苏丹 |
SR |
苏里南 |
SJ |
斯瓦尔巴群岛和扬马延岛 |
SZ |
斯威士兰 |
SE |
瑞典 |
CH |
瑞士 |
SY |
叙利亚 |
TW |
中国台湾 |
TJ |
塔吉克斯坦 |
TZ |
坦桑尼亚 |
TH |
泰国 |
TL |
东帝汶 |
TG |
多哥 |
TK |
托克劳 |
TO |
汤加 |
TT |
特立尼达和多巴哥 |
TN |
突尼斯 |
TR |
土耳其 |
TM |
土库曼斯坦 |
TC |
特克斯和凯科斯群岛 |
TV |
图瓦卢 |
UG |
乌干达 |
UA |
乌克兰 |
AE |
阿联酋 |
GB |
英国 |
US |
美国 |
UM |
美国本土外小岛屿 |
UY |
乌拉圭 |
UZ |
乌兹别克斯坦 |
VU |
瓦努阿图 |
VE |
委内瑞拉 |
VN |
越南 |
VG |
英属维尔京群岛 |
VI |
美属维尔京群岛 |
WF |
瓦利斯和富图纳 |
EH |
西撒哈拉 |
YE |
也门 |
ZM |
赞比亚 |
ZW |
津巴布韦 |
RS |
塞尔维亚 |
错误码
状态码 |
描述 |
0000 |
SUCCESS |
F9999 |
系统错误 |