title: 一卡通v5平台终端接口文档 date: 2017-07-12 15:04:23 tags:

修订历史

版本作者日期备注
V4.0.0何林青2015-01-06初稿
v4.0.1汤成2016-3-16增加设备相关接口

前言

编写目的

本文档用于描述了易支付对外提供的所有api接口,包括提供手机app端和pos消费端,供内部业务依据此接口开发提供参考。

约定

  1. 传输编码统一utf-8

2.终端消费功能入口

2.1 消费初始化

Uri: https://ip:port/epayapi/services/consume/pos/init

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
barcodeString客户支付码
app_idString应用分配id
term_idString终端id
term_noStringPsam卡号
merchaccnoString商户号
amountString交易金额
timestampString时间戳
signString签名
sign_methodString签名方法

例子:

URI:https://ip:port/epayapi/services/consume/pos/init

barcode:12309487839029

app_id:15089039087

term_id:01

term_no:10001

merchaccno:09893092

amount:100

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”初始化成功”

“refno”:”交易参考号”

}

2.2消费确认

Uri: https://ip:port/epayapi/services/consume/pos/confirm

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
refnoString交易参考号
app_idString应用分配id
term_idString终端id
term_noStringPsam卡号
timestampString时间戳
signString签名
sign_methodString签名方法

例子:

URI:https://ip:port/epayapi/services/consume/pos/confirm

refno:12309487839029

app_id:15089039087

term_id:01

term_no:10001

amount:100

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”

“refno”:”交易参考号”

}

2.3卡片信息查询

Uri: https://ip:port/epayapi/services/consume/pos/accquery

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
cardnoInteger卡号
credittotalLong授信消费总额
creditpaycntInteger授信消费次数
creditavailableLong可用授信
creditseqnoInteger授信序号
sourcetypeString消费渠道来源cardreader/pos/thirdpart/dmt
app_idString应用分配id
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段cardno+credittotal+creditpaycnt+creditavailable+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/accquery

cardno:10

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“balance”:”可用余额”,

“frozenbal”:”冻结金额”,

“expiredate”:”有效期”,

“status”:”账户状态”

}

备注:retcode=0为正常,其他非0为错误

2.4卡片在线消费

Uri: https://ip:port/epayapi/services/consume/pos/cardpay

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
cardnoInteger卡号
amountLong消费金额(分)
managefeeLong管理费(分)
managefeetypeString管理费类型(discont,mealer,none,…)
credittotalLong授信消费总额
creditpaycntInteger授信消费次数
creditavailableLong可用授信
creditseqnoInteger授信序号
creditflagBoolean更新授信标识
sourcetypeString消费渠道来源cardreader/pos/thirdpart/dmt
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+cardno+amount+managefee+managefeetype+credittotal+creditpaycnt+creditavailable+creditflag+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/cardpay

termid:11

devphyid:00000001

termseqno:1

cardno:10

amount:200

managefee:0

managefeetype:none

credittotal:208

creditavailable:10000

creditseqno:2

creditflag:false

sourcetype:pos

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“refno”:”交易参考号”,

“accdate”:”记账日期”,

“balance”:”账户余额”,

“creditline”:”授信额度”,

“creditseqno”:”授信交易序号”,

“needpwdconfirm”:true

}

备注:retcode=0为正常,其他非0为错误

Needpwdconfirm 如果交易金额超过单日累计或者单次限额,标识为true,需要密码确认,交易暂未成功,需要输入密码成功发送成功交易确认才完成交易。

2.5卡片在线消费密码确认

Uri: https://ip:port/epayapi/services/consume/pos/cardpayconfirm

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
accdateString记账日期
refnoString交易参考号
issuccessboolean密码校验是否成功
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+accdate+refno+issuccess+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/cardpayconfirm

termid:11

devphyid:00000001

termseqno:1

accdate:20150809

refno:20001290214309182312

issuccess:true

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“refno”:”交易参考号”,

“accdate”:”记账日期”,

“balance”:”账户余额”,

“creditline”:”授信额度”,

“creditseqno”:”授信交易序号”,

“needpwdconfirm”:false

}

备注:retcode=0为正常,其他非0为错误

2.6卡片在线消费充正

Uri: https://ip:port/epayapi/services/consume/pos/cardpayreverse

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
reversetermseqnoInteger充正终端流水号
reversalflagString充正类型CANCEL/REVERSAL
termdateString(8)充正日期YYYYMMDD
termtimeString(6)充正时间HH24MISS
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+reversetermseqno +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/cardpayreverse

termid:11

devphyid:00000001

termseqno:1

reversetermseqno:10

reversalflag:reversal

termdate:20150901

termtime:090802

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”流水号”

}

备注:retcode=0为正常,其他非0为错误

2.7卡片授信消费流水上传

Uri: https://ip:port/epayapi/services/consume/pos/creditdtlupload

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termseqnoInteger设备终端流水号
transdateString交易日期
transtimeString交易时间
cardnoInteger卡号
amountLong消费金额(分)
managefeeLong管理费(分)
managefeetypeString管理费类型(discont,mealer,none,…)
credittotalLong授信消费总额
creditpaycntInteger授信消费次数
creditavailableLong可用授信
creditseqnoInteger授信序号
lastdevphyidString上次设备物理id
lasttermseqnoInteger上次设备终端流水号
lasttransdateString上次交易日期
lasttranstimeString上次交易时间
lastamountLong上次消费金额(分)
lastmanagefeeLong上次管理费(分)
lastmanagefeetypeString上次管理费类型(discont,mealer,none,…)
lastcreditavailableLong上次可用授信
lastcreditseqnoInteger上次授信序号
availableboolean是否可用
reversalflagBoolean充正标识
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termseqno+transdate+transtime+cardno+amount+managefee+managefeetype+credittotal+creditpaycnt+creditavailable +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/cardpay

devphyid:09200101

termseqno:1

transdate:”20150909”

transtime:”050606”

cardno:123

amount:100

managefee:0

managefeetype:none

credittotal:209

creditpaycnt:14

creditavailable:10000

creditseqno:1

lastdevphyid:90299

lasttermseqno:1

lasttransdate:”20150909”

lasttranstime:”092802”

lastamount:200

lastmanagefee:0

lastmanagefeetype:none

lastcreditavailable:900

lastcreditseqno:1

available:true

reversalfalg:reserval

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”授信交易序号”

}

备注:retcode=0为正常,其他非0为错误

2.8卡片充值

Uri: https://ip:port/epayapi/services/charge/pos/confirmcharge

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
cardnoInteger卡号
fundtypeInteger资金类型1现金,2支票3经费本
vouchernoString支票/经费本号
amountLong消费金额(分)
opercodeString操作员号
credittotalLong授信消费总额
creditpaycntInteger授信消费次数
creditavailableLong可用授信
creditseqnoInteger授信序号
creditflagBoolean更新授信标识
sourcetypeString消费渠道来源cardreader/pos
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+cardno+fundtype+voucherno+amount+opercode+credittotal+creditpaycnt+creditavailable+creditflag+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/pos/chargeconfirm

termid:11

cardno:10

fundtype:2

vocherno:123

amount:200

opercode:099

credittotal:208

creditavailable:10000

creditseqno:2

creditflag:false

sourcetype:cardreader

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“refno”:”交易参考号”,

“accdate”:”记账日期”,

“balance”:”账户余额”,

“frozenbal”:”冻结金额”

“creditline”:”授信额度”,

“creditseqno”:”授信交易序号”

}

备注:retcode=0为正常,其他非0为错误

2.9卡片充值充正

Uri: https://ip:port/epayapi/services/charge/pos/chargereverse

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
reversetermseqnoInteger充正终端流水号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+reversetermseqno +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/pos/chargereverse

termid:11

devphyid:00000001

termseqno:1

reversetermseqno:10

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”流水号”

}

备注:retcode=0为正常,其他非0为错误

2.10终端流水号查询

Uri: https://ip:port/epayapi/services/consume/term/cardpaysearch

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger设备终端号
termseqnoInteger终端当前流水号
sourcetypeString消费渠道来源cardreader/pos
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+termseqno +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/term/cardpaysearch

termid:11

termseqno:1111

fundtype:2

sourcetype:cardreader

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”终端流水号”

}

备注:retcode=0为正常,其他非0为错误

2.11水控流水上传

Uri: https://ip:port/epayapi/services/consume/pos/waterdtlupload

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termseqnoInteger设备终端流水号
transdateString交易日期
transtimeString交易时间
cardnoInteger卡号
amountLong消费金额(分)
availableboolean是否可用
reversalflagBoolean充正标识
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termseqno+transdate+transtime+cardno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/waterdtlupload

devphyid:09200101

termseqno:1

transdate:”20150909”

transtime:”050606”

cardno:123

amount:100

available:true

reversalfalg:reserval

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”授信交易序号”

}

备注:retcode=0为正常,其他非0为错误

2.12终端设备签到

Uri: https://ip:port/epayapi/services/consume/pos/login

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termtypeString终端类型,SWPOS
termdateString交易日期
termtimeString交易时间
devicenoInteger终端机号
devseqnoInteger终端流水号
termnoStringSAM 卡号
paravernointger设备参数版本号
cardvernoString黑名单版本号
feevernoInteger卡权限费率版本号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termtype+deviceno+termno+paraverno+cardverno+feeverno +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/ login

devphyid: 09200101

termtype:SWPOS

termdate:20160316

termtime:113545

deviceno:5

devseqno:0

termno:100000000015

paraverno:0

feeverno:0

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”签到成功”,

“systime”:” 20160316104034”,

"devphyid": "09200101",

"deviceid":234,

"paraverno":3,

"feeverno":2,

"cardverno":"160316000001",

"m1key":"EDFEDE234323"

"paragroupid":1,

"feecfgid":3,

"keyindex":1

}

备注:retcode=0为正常,其他非0为错误

2.13下载设备黑名单位图

Uri: https://ip:port/epayapi/services/consume/pos/blacklistbitmap

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termidInteger终端ID号
blkindexInteger黑名单位图索引号,从0开始
cardvernoString设备黑名单版本号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termid+blkindex+cardverno +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/ blacklistbitmap

devphyid:09200101

termid:0

blkindex:0

cardverno: 160316000001

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“cardverno”:” 160316000001”,

"endflag":0, // 1表示结束,0表示未结束

"blkdata": "FE123DE......" //, 512 个字符

}

备注:retcode=0为正常,其他非0为错误

2.14增量下载黑名单

Uri: https://ip:port/epayapi/services/consume/pos/downloadblacklist

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termidInteger设备ID
cardvernoString设备黑名单版本号
maxcountInteger最大返回黑名单条数
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termid+cardverno+maxcount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/ downloadblacklist

devphyid:09200101

termid:0

cardverno: 160312000001

maxcount:10

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

cardverno: 160316000001,

count:5,

blkdata:[[123,1],[3234,1],[5646,0],[76,1],[876,0]]

}

备注:retcode=0为正常,其他非0为错误

2.15设备心跳

Uri: https://ip:port/epayapi/services/consume/pos/heartbeat

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termidInteger设备ID
termdateString终端日期
termtimeString终端时间
termtypeString终端标志 SWPOS
termnoStringSAM卡号
devseqnoInteger设备流水号
paravernoInteger系统参数版本
feevernoInteger卡权限及费率参数版本
cardvernoString黑名单版本号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termid+paraverno+feeverno+cardverno+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/ heartbeat

devphyid:09200101

termid:0

termdate:20160316

termtime:113545

termtype:SWPOS

termno: 100000000015

devseqno:45

paraverno:3

feeverno:4

cardverno: 160316000001

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

"devphyid":"09200101",

"systime":"20160316132234",

"deviceid":123,

"paraverno":4,

"paragroupid":1,

"feeverno":3,

"feecfgid":4,

"cardverno": "160316000001"

}

备注:retcode=0为正常,其他非0为错误

2.16下载设备参数

Uri: https://ip:port/epayapi/services/consume/pos/updatesyspara

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termidInteger设备ID
termdateString终端日期
termtimeString终端时间
termtypeString终端标识, SWPOS
paragroupidInteger参数组号
classnameString参数分类, syspara
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termid+paragroupid+classname+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/ updatesyspara

devphyid:09200101

termid:0

termsdate:”20150909”

termtime:”050606”

termtype:"SWPOS"

paragroupid:2

classname:"syspara"

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

"syspara":[[ "day_limit", 5000], ["max_cardbal ", 99999]],

"paraverno":4,

"paragroupid":2

}

备注:retcode=0为正常,其他非0为错误

2.17下载设备卡权限费率

Uri: https://ip:port/epayapi/services/consume/pos/updatefeecfg

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termidInteger设备ID
devcfgvernoInteger设备参数版本
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termid+devcfgverno+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/updatefeecfg

devphyid:09200101

devcfgverno:4

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

"cfgverno":6,

"feecfg":[[10,100],[11,110],[15,90],[16,100]]

}

备注:retcode=0为正常,其他非0为错误

2.18 B Mode 消费流水上传

Uri: https://ip:port/epayapi/services/consume/pos/bmodeuploadrecord

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
devphyidString设备物理id
termseqnoInteger设备终端流水号
transdateString交易日期
transtimeString交易时间
cardnoInteger卡号
amountLong交易金额(分)
payamtLong实际扣款金额(分)
cardbefbalLong卡交易前余额(分)
cardaftbalLong卡交易后余额(分)
feeamtLong折扣/搭伙费金额(分)
paycntInteger卡交易前次数
withpasswdBoolean是否启用密码消费
termnoStringSAM卡号
tacStringTac
datatypeString记录类型10-正常,20-带搭伙费,30-带折扣,80-锁卡流水
sendtypeInteger交易模式,2-批上送
updresultInteger写卡结果,9-写卡成功,2-中途拔卡,0-未写卡
lasttranstimeString上笔交易日期时间
lasttermnoString上一笔交易终端
lastamtLong上一笔交易金额
lasttranscntInteger上一笔交易前次数
lasttransflagInteger上一笔交易标识
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段devphyid+termseqno+transdate+transtime+cardno+amount+paycnt+cardbefbal

+cardaftbal+withpasswd+datatype+updresult+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/pos/ bmodeuploadrecord

devphyid:09200101

termseqno:1

transdate:”20150909”

transtime:”050606”

cardno:123

amount:1000

payamt:1100

cardbefbal:5000

cardaftbal:3900

feeamt:100

paycnt:5

withpasswd:0

termno:100000000015

tac:ABCD45ED

datatype:20

sendtype:2

updresult:9

lasttranstime:20150908181223

lasttermno:100000000231

lastamt:500

lasttranscnt:4

lasttransflag:6app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”交易序号”

}

备注:retcode=0为正常,其他非0为错误

3.多媒体对接功能入口

3.1充值初始化

Uri: https://ip:port/epayapi/services/charge/dmtqc/init

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger设备终端号
termseqnoInteger设备终端流水号
cardnoInteger卡号
amountLong消费金额(分)
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid +termseqno+cardno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/dmtqc/init

termid:10000014

termseqno:”1”

cardno:”12312”

amount:”104”

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:”初始化成功”,

“refno”:”20140809120901000001”

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

3.2圈存充值

Uri: https://ip:port/epayapi/services/charge/dmtqc/transfer

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger设备终端号
refnoString参考号
cardnoInteger卡号
amountLong消费金额(分)
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+refno+ cardno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/dmtqc/transfer

termid:10000014

refno:”20040000100200102001”

cardno:”12312”

amount:”104”

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:” 支付请求已接收”,

“refno”:”20140809120901000001”

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

3.3圈存充值结果查询

Uri: https://ip:port/epayapi/services/charge/dmtqc/resultquery

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger设备终端号
refnoString参考号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+refno+ cardno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/dmtqc/resultquery

termid:10000014

refno:”20040000100200102001”

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:”交易成功”,

“refno”:”20140809120901000001”

“successtime”:2014-05-05 10:43:29

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

3.4终端在线消费(第三方/多媒体)

Uri: https://ip:port/epayapi/services/consume/dmtterm/cardpay

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
cardnoInteger卡号
amountLong消费金额(分)
managefeeLong管理费(分)
managefeetypeString管理费类型(discont,mealer,none,…)
credittotalLong授信消费总额
creditpaycntInteger授信消费次数
creditavailableLong可用授信
creditseqnoInteger授信序号
creditflagBoolean更新授信标识
shopidInteger商户号(只有多媒体启用)
sourcetypeString消费渠道来源cardreader/pos/dmt
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+cardno+amount+managefee+managefeetype+credittotal+creditpaycnt+creditavailable+creditflag+shopid+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/dmtterm/cardpay

termid:11

devphyid:00000001

termseqno:1

cardno:10

amount:200

managefee:0

managefeetype:none

credittotal:208

creditavailable:10000

creditseqno:2

creditflag:false

shopid:111

sourcetype:pos

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“refno”:”交易参考号”,

“accdate”:”记账日期”,

“balance”:”账户余额”,

“creditline”:”授信额度”,

“creditseqno”:”授信交易序号”,

“needpwdconfirm”:true

}

备注:retcode=0为正常,其他非0为错误

Needpwdconfirm 如果交易金额超过单日累计或者单次限额,标识为true,需要密码确认,交易暂未成功,需要输入密码成功发送成功交易确认才完成交易。(目前只有需要pos输入密码)

3.5终端在线消费充正

Uri: https://ip:port/epayapi/services/consume/dmtterm/cardpayreverse

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
reversetermseqnoInteger充正终端流水号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+reversetermseqno +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/dmtterm/cardpayreverse

termid:11

devphyid:00000001

termseqno:1

reversetermseqno:10

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“termseqno”:”流水号”

}

备注:retcode=0为正常,其他非0为错误

3.6水控转账(多媒体)

Uri: https://ip:port/epayapi/services/consume/dmtterm/watertrans

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
termseqnoInteger设备终端流水号
cardnoInteger卡号
amountLong消费金额(分)
managefeeLong管理费(分)
managefeetypeString管理费类型(discont,mealer,none,…)
credittotalLong授信消费总额
creditpaycntInteger授信消费次数
creditavailableLong可用授信
creditseqnoInteger授信序号
creditflagBoolean更新授信标识
shopidInteger商户号(只有多媒体启用)
sourcetypeString消费渠道来源cardreader/pos/dmt
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+termseqno+cardno+amount+managefee+managefeetype+credittotal+creditpaycnt+creditavailable+creditflag+shopid+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/dmtterm/cardpay

termid:11

devphyid:00000001

termseqno:1

cardno:10

amount:200

managefee:0

managefeetype:none

credittotal:208

creditavailable:10000

creditseqno:2

creditflag:false

shopid:111

sourcetype:pos

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

“refno”:”交易参考号”,

“accdate”:”记账日期”,

“balance”:”账户余额”,

“creditline”:”授信额度”,

“creditseqno”:”授信交易序号”,

“needpwdconfirm”:true

}

备注:retcode=0为正常,其他非0为错误

Needpwdconfirm 如果交易金额超过单日累计或者单次限额,标识为true,需要密码确认,交易暂未成功,需要输入密码成功发送成功交易确认才完成交易。(目前只有需要pos输入密码)

3.7水控转账小钱包写卡确认(多媒体)

Uri: https://ip:port/epayapi/services/consume/dmtterm/waterconfirm

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidInteger是(二选一)设备终端号
devphyidString是(二选一)设备物理id
refnoString转账流水号
cardnoInteger卡号
pursetypeShort水控钱包类型
waterisokBoolean水控是否成功
waterisbreakBoolean水控是否中途拔卡
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+refno+cardno+waterisok+waterisbereak+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/dmtterm/waterconfirm

termid:11

devphyid:00000001

refno:20150902010201201

cardno:10

waterisok:true

waterisbreak:false

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”交易成功”,

}

备注:retcode=0为正常,其他非0为错误

4.支付宝前置对接功能入口

4.1支付宝充值初始化

Uri: https://ip:port/epayapi/services/charge/alipay/init

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
stuempnoString学工号
amountLong消费金额(分)
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段stuempno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/alipay/init

stuempno:901920

amount:”104”

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:” 初始化成功”,

“refno”:”20140809120901000001”

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

4.2支付宝充值确认

Uri: https://ip:port/epayapi/services/charge/alipay/confirm

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
stuempnoString学工号
refnoString交易参考号
amountLong消费金额(分)
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段stuempno+refno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/charge/alipay/confirm

stuempno:901920

refno:2015098309283930921

amount:”104”

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:” 支付确认已接受”,

“refno”:”20140809120901000001”

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

5. 第三方对接功能

5.1换卡初始化

Uri: https://ip:port/epayapi/services/consume/zzsb/init

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
idnoString身份证号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段idno+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/zzsb/init

idno:210201929309389922

app_id:15089039087

term_id:01

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”初始化成功”

“oldcardno”:”老卡卡号”

“stuempno”:”学号”

“custname”:”姓名”

“feetype”:40

“feeamt”:”20.00”

“expiredate”:”20150909”

}

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

5.2换卡请求

Uri: https://ip:port/epayapi/services/consume/zzsb/renewcard

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
opercodeString操作员号
checksumString校验码
operseqnoString操作员流水号
oldcardnoString老卡卡号
newcardphyidString新卡物理卡号
cardphytypecodeString卡物理类型
feeamtString卡成本费
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段opercode+checksum+operseqno+oldcardno+newcardphyid+cardphytypecode+feeamt +nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/zzsb/renewcard

opercode:6666

checksum:1920

operseqno:1029932929

oldcardno:1000092

newcardphyid:0D908A11

cardphytypecode:257

feeamt:2000

app_id:15089039087

term_id:01

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”补办成功”

"accdate":"日期";

"refno":"参考号";

"amount":"金额";

"feeamt":"收费费用";

"hostdate":"主机日期";

"hosttime":"主机时间";

"feetype":"收费类别";

"expiredate":"过期日期";

"cardno":"卡号";

"cardtype":"卡类别";

"showcardno":"显示卡号";

"cardverno":"黑名单版本号";

"cardpwd":"卡密码";

"custid":"客户号";

"country":"国籍";

"nation":"民族";

"areacode":"校区";

"custtype":"客户类别";

"custname":"客户名";

"stuempno":"学号";

"deptcode":"部门";

"idtype":"证件类型";

"idno":"证件号";

"sex":"性别";

"singlemaxamt":"单次限额";

"daymaxamt":"单日限额";

}

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

5.3换卡确认

Uri: https://ip:port/epayapi/services/consume/zzsb/renewcardconfirm

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
opercodeString操作员号
checksumString校验码
refnoString参考号
isokBoolean是否写卡成功
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段opercode+checksum+refno+isok+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/consume/zzsb/renewcardconfirm

opercode:6666

checksum:1920

refno:1000092123124123123

isok:true

app_id:15089039087

term_id:01

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:application/json

{

“retcode”:0,

“retmsg”:”确认成功”

}

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

5.4取照片

Uri: https://ip:port/epayapi/services/photoservice/getphoto/base64/{idno}

请求格式:text/plain

请求方式:post

参数:

名称类型是否必须描述
idnoString身份证号
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段idno+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/photoservice/getphoto/base64/{idno}

idno:1000092123124123123

app_id:15089039087

term_id:01

sign:a910bba901d9919c

sing_method:HMAC

timestamp:2015-01-19 13:09:01

返回:

返回格式:text/plain

{

“retcode”:0,

“retmsg”:”确认成功”

“photo”:”base64 数据”

}

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

6.车载机功能入口

6.1车载机获取url二维码

Uri: https://ip:port/epayapi/services/carpos/geturlcode

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
termidString是(二选一)终端id
devphyidString设备物理id
merchaccnoString商户号
amountLong消费金额(分)
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+merchaccno+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/carpos/geturlcode

termid:901920

devphyid:12312

merchaccno:10929

amount:”104”

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:” success”,

“url”:”http://102.29.20.10/epayapi/service/carpos/pay/init/base64串”

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误

6.2车载机二维码支付

Uri: https://ip:port/epayapi/services/carpos/pay/init/{reqdata}

请求格式:application/x-www-form-urlencoded

请求方式:post

参数:

名称类型是否必须描述
gidString终端编号
reqdataString请求数据内容
app_idString应用分配id
term_idString应用内部分配终端号
timestampString时间戳
signString签名
sign_methodString签名方法HMAC

签名字段termid+devphyid+amount+nTimestamp+session_key

例子:

URI:https://ip:port/epayapi/services/carpos/pay/init/{reqdata}

gid:901920

reqdata:ksjfijsalkjflksajdfl

app_id:15089039087

sign:a910bba901d9919c

sing_method:HMAC

timestamp:20150119130901

返回:

返回格式:application/json

{

“retcode“:0,

“retmsg“:” success”,

“refno”:”20159120392839129”

}

异常信息:

HTTP 错误码英文索引中文消息
400SC_BAD_REQUEST请求信息不完整
400SC_BAD_REQUEST请求时间戳错误,格式为:yyyyMMddHHmmss
401SC_UNAUTHORIZED密码验证错误