19pay捷迅充值卡兑换平台直联接口文档200卡余额卡.docx
《19pay捷迅充值卡兑换平台直联接口文档200卡余额卡.docx》由会员分享,可在线阅读,更多相关《19pay捷迅充值卡兑换平台直联接口文档200卡余额卡.docx(17页珍藏版)》请在冰点文库上搜索。
19pay捷迅充值卡兑换平台直联接口文档200卡余额卡
19PAY捷迅支付商户
接口规范
版本号2.00
(余额卡支付版)
北京高阳捷迅信息技术有限公司(19PAY)
最后修改2009年11月1日
目录
1.概要2
1.1目的2
1.2版权声明2
1.3客户服务2
2.支付接口3
2.1接口说明3
2.2订单支付类型说明3
2.3网上支付业务流程3
2.4支付通道查询4
2.5支付请求5
2.6支付结果服务器端通知(后台通知)7
2.7注意事项8
1.概要
1.1目的
帮助商户接入19PAY支付平台,快速掌握19PAY支付平台各项功能,便于尽快投入使用。
1.2版权声明
此文档版权归北京高阳捷迅信息技术有限公司所有。
作为本系统的最终用户,可以拥有该份文档的使用权,但未征得北京高阳捷迅信息技术有限公司的书面批准,不得向第三方借阅、出让、出版该文档。
1.3客户服务
服务热线:
400-019-1999
2.
支付接口
2.1接口说明
本接口主要目的是为了让商户系统接入19PAY支付平台,能够通过预付费卡等方式快捷的实现电子支付。
请求方式:
商户系统→19PAY支付平台
商户系统作为请求客户端,按照本接口的约定发送请求,而19PAY支付平台监听来自商户系统的请求给予处理,处理完成后返回商户系统,同时提供查询接口。
2.2订单支付类型说明
1、神州行充值卡
神州行充值卡支付,玩家在商户网站页面输入卡号密码,商户请求信息到高阳捷迅卡兑换平台,高阳捷迅卡兑换平台进行处理。
不支持运营商的赠卡
2、联通充值卡
联通卡支付,玩家在商户网站页面输入卡号密码,商户请求信息到高阳捷迅卡兑换平台,高阳捷迅卡兑换平台进行处理。
不支持运营商的赠卡
3、电信充值卡
电信充值卡支付,玩家在商户网站页面输入卡号密码,商户请求信息到高阳捷迅卡兑换平台,高阳捷迅卡兑换平台进行处理。
不支持运营商的赠卡
■详细说明见:
2.3网上支付业务流程
网上支付业务流程步骤说明:
1、用户登录商户网站,选择商品、输入充值卡卡号、密码等支付信息,商户网站产生预定单信息,包括商户唯一交易号、订单号、金额、充值卡号及充值卡密码等信息;
2、用户确认支付后,服务商将商户唯一交易号、订单号、支付金额、支付方式、产品名称等信息发送到高阳捷迅卡兑换平台;(参考接口2.5)
3、高阳捷迅系统根据商户发送的支付方式自动转到不同的支付系统(神州行、联通等)进行支付处理;
4、各支付系统将处理信息返回到高阳捷迅卡兑换平台;
5、高阳捷迅卡兑换平台进行处理后,返回处理结果及相关的订单信息和捷迅交易流水号给商户服务器;(参考接口2.6)
6、商户收到信息进行验证,为用户提供服务。
2.4支付通道查询
●请求方式
商户系统→19PAY卡兑换平台
商户系统以HTTPPost的方式请求19PAY的接口地址,并按照接口参数定义传送数据。
19PAY卡兑换平台将以html方式返回查询结果。
●接口地址
测试环境http:
//202.142.22.232/card/channel.jsp
●接口参数
参数
含义
长度
是否非空
备注
merchant_id
商户代码
20
非空
19PAY统一分配的商户代码
●接口返回
返回所有支付通道的四个相关属性组成的字符串:
支付通道编码(pc_id),支付方式编码(pm_id),支付通道省份,支付方式描述。
每个参数之间用“|”间隔,每种支付通道之间也使用“|”间隔。
提示:
解析此字符串时要注意有些语言需要用”\\|”来解析,如java中
Stringinfo="2.00|4004";String[]a=info.split("\\|");
2.5支付请求
●请求方式
商户系统→19PAY卡兑换平台
商户系统通过HTTP协议链接到19PAY进行支付,并按照接口参数定义以post传送相关数据。
●接口地址
测试地址:
http:
//202.142.22.232/card/pgworder/orderdirect.do
(正试地址另行通知)
●接口参数
参数
含义
长度
是否非空
备注
version_id
版本号
10
非空
本接口版本号:
2.00
merchant_id
商户代码
20
非空
19PAY统一分配的商户代码
verifystring
验证摘要串
100
非空
32位小写详见验证方式
order_date
订单日期
10
非空
格式为‘YYYYMMDD’
order_id
商户订单号
30
非空
该订单号由商户系统生成。
order_id唯一确定一条订单。
amount
订单金额
8
非空
单位为元,精确到分,必须是50.00或者100.00
cardnum1
充值卡卡号码的暗码
30
非空
使用DES算法,通过密钥对卡号加密。
详见后续描述
cardnum2
充值卡密码的暗码
30
非空
使用DES算法,通过密钥对卡号加密。
详见后续描述,
currency
货币类型
8
非空
RMB:
人民币
pm_id
支付方式id
20
非空
用于区分支付通道的类别,从接口地址获取,
pc_id
支付通道id
20
非空
接口地址中获取,详见2.4。
returl
支付请求返回url
128
空
由于支付过程中不出现我们的页面,此参数无意义,设为空。
notify_url
后台通知地址
128
可空
后台通知地址,如果空则以数据库配置为准,如果非空则以商户传入地址为准。
retmode
支付请求返回格式
8
可空
如果为空,请求返回xml格式;
赋值为”1”,请求返回纯文本格式。
select_amount
充值卡面额
8
非空
若为余额卡,请将余额卡面额置为卡余额或卡面额。
order_pdesc
商品描述
255
可空
此参数提交之后在支付结果通知中可能不会再传回给商户,如需要依据请自行进行入库处理。
user_name
订货人姓名
10
可空
同上
user_phone
用户电话
20
可空
同上
user_mobile
用户手机号
20
可空
同上
user_email
用户EMAIL
128
可空
同上
●请求的验证方式
本接口采用MD5摘要对请求进行确认。
验证失败的请求将不予处理。
商户首先需要向19PAY支付平台申请商户代码(merchant_id)及加密串(merchant_key),并按照以下规则来构造验证摘要串(verifystring)。
MD5摘要源串:
version_id=%s&merchant_id=%s&order_date=%s&order_id=%s&amount=%s¤cy=%s&cardnum1=%s&cardnum2=%s&pm_id=%s&pc_id=%s&merchant_key=%s
商户以具体的参数值替代以上的%s,并保证顺序及每项的准确性,参数如为空值则直接替代空串即可。
●接口卡序列号,卡密码的加密、解密方式
商户系统用DES通过商户密钥(merchant_key)对卡号和密码进行加密。
注:
DES使用的是对称密钥,即加密和解密的密钥是相同的。
请注意不要用反,即,解密的方法不要用去加密。
●接口返回xml格式
xmlversion="1.0"encoding="ISO-8859-1"?
>
2.00
4004
ee56d480cc599e7e3bd6610481bb42d2
20061101
19PAYTEST71336
0.01
RMB
GW200712251147114562
LTJFK00010001
LTJFK
P
1
●Xml标签定义
标签
含义
备注
version_id
版本号
本接口版本号:
2.00
merchant_id
商户代码
19PAY统一分配的商户代码
verifystring
验证摘要串
32位小写详见验证方式
order_date
支付请求提交时间
返回请求中的order_date
order_id
商户订单号
返回请求中的order_id
amount
订单金额
返回请求中的amount
currency
货币类型
返回请求中的currency
pay_sq
19PAY支付流水号
pay_date
支付时间
格式为‘YYYYMMDDHHMMSS’
pc_id
支付通道
接口地址中获取的,详见2.5
pm_id
支付方式
result
收单结果
P:
收单成功F:
收单失败
resultstr
错误码
10016:
该订单支付已成功,不能重复提交
10076:
该订单支付已失败,不能重复提交
10120:
该订单正在处理中
10014:
金额格式异常
10123:
协议输入参数有误
82009:
卡号密码加解密失败
11111:
MD5验证失败或订单参数有误。
●接口返回纯文本格式
参数值之间用”|”间隔,参数顺序和含义与xml格式顺序相同,形式如下:
version_id|merchant_id|verifystring|order_date|order_id|amount|currency|pay_sq|pay_date|pc_id|pm_id|result|resultstr
提示:
解析此字符串时要注意有些语言需要用”\\|”来解析,如java中
Stringinfo="2.00|4004";
String[]a=info.split("\\|");
●接口返回验证方式
19PAY平台按照以下规则来构造验证摘要串(verifystring)。
MD5摘要源串:
version_id=%s&merchant_id=%s&order_date=%s&order_id=%s&amount=%s¤cy=%s&pay_sq=%s&pay_date=%s&pc_id=%s&result=%s&merchant_key=%s
19PAY平台将以具体的参数值替代以上的%s,并保证顺序及每项的准确性,参数如为空值则直接替代空串。
商户系统接到请求返回后将按照同样的规则组成MD5摘要源串,得到结果后与xml中的verifystring进行比对来决定下一步操作。
●建议
为了提高订单成功率,以及订单的质量,请商家在填写卡号密码的页面,对支付通道的卡号密码做位数以及面额限制(全部都是数字),具体如下:
通道名称
卡号位数
密码位数
支持面额
全国移动充值卡
17
18
10、20、30、50、100、200、300、500
全国联通一卡充
15
19
20、30、50、100、200、300、500
全国电信卡
19
18
20、30、50、100
福建移动呱呱通充值卡
16
17
10、20、30、50、100
江苏移动充值卡
16
17
30、50、100
辽宁移动电话交费卡
16
21
10、20、30、50、100
浙江移动缴费券
10
8
10、20、30、50、100、200
2.6支付结果服务器端通知(后台通知)
●前置条件
结果通知notify_url:
该值由商户直接提供给19PAY技术人员。
19PAY卡兑换平台将根据这个url来发送后台服务器端的支付结果通知。
注意:
这个notify_urll同提交请求参数中的notify_url,如果商家在提交请求中传这个notify_url则以商家传的为准,否则以数据库配置为准。
●请求方式
19PAY捷迅卡兑换平台–>商户系统
19PAY捷迅卡兑换平台以HTTPPost方式发送支付结果通知给notify_url,商户系统在接收到支付结果后返回结果(Y:
成功N:
失败)
19PAY捷迅卡兑换平台将在用户完成支付后第一时间发送结果通知,以确保商户能够及时进行下一步处理。
如果19PAY捷迅卡兑换平台接收不到返回结果,将按照一定的时间间隔重发(时间间隔计算方法为:
时间间隔计算方法为:
(n-1)3分钟n为重发次数),直到超过一个限定的次数(目前为50次),19PAY捷迅卡兑换平台则认为商户系统的接口出了问题,将暂停发送。
对于已经暂停发送的结果通知,捷迅公司将及时通知商户,商户也可联系客服进行重发或者通过商户专区查询补发。
●接口地址
notify_url
●接口参数
●
参数
含义
是否非空
备注
version_id
版本号
非空
本接口版本号:
3.00
merchant_id
商户代码
非空
19PAY统一分配的商户代码
verifystring
验证摘要串
非空
32位小写详见接后描述
order_date
订单日期
可空
格式为‘YYYYMMDD’
order_id
商户订单号
非空
result
支付结果
非空
Y:
成功F:
失败
amount
金额
非空
currency
币种
非空
pay_sq
支付流水号
非空
pay_date
支付时间
非空
格式为‘YYYYMMDDHHMMSS’
count
卡支付次数
可空
card_num1
卡号
非空
卡号DES加密
card_pwd1
卡密码
非空
卡密码DES加密
pm_id1
支付方式
非空
pc_id1
支付通道编号
非空
card_status1
卡支付状态
非空
0成功1失败
card_code1
卡支付错误码
非空
详见错误返回码
card_date1
卡支付完成时间
非空
格式为‘YYYYMMDDHHMMSS’
r1
卡余额
非空
卡余额
●接口返回
商户系统如果对该支付结果确认,则返回Y,否则返回N。
如果商户系统收到的结果通知是已经给用户发货,也要返回Y,但是同一订单不要重复发货。
返回请不带任何html等静态标记。
●验证方式
请求的MD5验证摘要串由该串产生:
version_id=%s&merchant_id=%s&order_id=%s&result=%s&order_date=%s&amount=%s¤cy=%s&pay_sq=%s&pay_date=%s&count=%s&card_num1=%s&card_pwd1=%s&pc_id1=%s&card_status1=%s&card_code1=%s&card_date1=%s&r1=%s&merchant_key=%s
2.7注意事项
1.MD5加密结果是32位小写字符串
2.参数verifystring由每个接口里的验证方式中的验证串赋值之后进行MD5加密所得
3.order_pdesc、user_name、user_phone、user_mobile、user_email这些参数19pay系统在商家提交之后可能不会再返回,如需要依据,请在提交的时候自行进行入库处理,之后依据订单号查询发货
4.请求响应和后台通知中的验证方式是不一样的
5.商家后台收到后台通知,根据支付通知的订单号,先查该订单支付状态,根据支付状态判断是否已经处理
i.如果处理过
则显示Y,(19pay支付系统,在收到显示的Y后,就不会再重复发通知了,如果超时等)
ii.如果没处理过,则完成发货和支付状态的修改
显示Y,(19pay支付系统,在收到显示的Y后,就不会再重复发通知了,如果超时等)
7、在结算时,以章节2.6中的pay_date时间为准
8、订单号不能重复
2.8返回码列表
支付结果
返回码
用户提示内容
说明
Y(成功)
00000
支付成功
成功
00001
支付成功
订单状态为成功。
原因:
用户选择面值与实际面值不符,实际面值大于订单金额。
00003
支付成功
订单状态为成功。
原因:
用户选择面值与实际面值不符,实际面值小于用户选择金额。
F(失败)
00002
支付失败!
您选择的充值卡面值与实际面值不符。
订单状态为失败。
原因:
用户选择面值与实际面值不符,实际面值小于订单金额。
10014
系统忙,请稍后再试
金额格式异常
10016
该订单支付已成功,不能重复提交
该订单支付已成功,不能重复提交
10029
运营商系统维护,支付通道暂时关闭
运营商系统维护,支付通道暂时关闭
10030
运营商系统维护,该面值暂时关闭
运营商系统维护,该面值暂时关闭
10031
商户没有开通此支付通道
商户没有开通此支付通道
10062
商户不支持余额卡支付
商户不支持余额卡支付
10076
该订单支付已失败,不能重复提交
该订单支付已失败,不能重复提交
10082
该卡已被使用,请更换其他充值卡支付
支付失败,该卡为失效卡,已锁卡。
10083
很抱歉!
该卡已连续二次支付不成功,请更换其他充值卡支付。
失败次数过多,已经锁卡,如需重试可通过客服人工解锁
10091
该卡正在处理中,请不要重复提交
该卡正在处理中,不能重复提交
10110
系统忙,请稍后再试
系统处理超时,请重新提交
10118
商户不支持多卡支付
商户不支持多卡支付
10119
充值卡面额选择错误
支付通道面额选择错误
10120
该订单正在处理中,不能重复提交
该订单正在处理中,不能重复提交
10123
系统忙,请稍后再试
输入参数有误
10124
由于运营商系统临时维护,该省充值卡暂时无法支付,请稍后再试。
运营商系统临时维护,该省充值卡暂时无法支付,可继续提交,且不影响其它省充值卡支付。
10131
余额卡余额不足
余额卡余额不足
81000
该卡已失效,请更换其他充值卡支付
充值卡已失效
81001
系统忙,请稍后再试
运营商处理失败,该卡可再次提交
81006
充值卡金额不足以支付订单
充值卡金额不足以支付订单
81007
无效的卡号密码
无效的卡号密码
82019
暂不支持该卡支付
暂不支持该卡支付
82009
系统忙,请稍后再试
卡号密码加解密失败
40000
运营商正在处理中
运营商正在处理中