读书人

怎么进行19pay手机充值端口对接

发布时间: 2012-10-11 10:16:10 作者: rapoo

如何进行19pay手机充值端口对接
小弟我才疏学浅,现在想做一个WinForm程序,对接到19pay上去,实现手机充值功能,
但19pay只提供了一些技术文档,可小弟弟看不懂, 不知从何下手,各位大哥帮我分析一下,并指点一二。


我发一段文档,如有意思协助小弟,我可以将整篇文档发给分析。



网上支付业务流程步骤说明:
1)消费者登录代理商商城系统,选择话费充值产品并下单,代理商商城系统产生预定单信息;
2)消费者确认支付后,代理商将代理商商城订单号、话费充值产品编号、代理商标识、等信息通过浏览器URL传到19pay代理平台;(参考接口2.3)
3)19pay代理平台根据代理商发送的信息进行充值处理,并相应的在代理商账户中扣除充值金额;
4)充值申请提交成功后,根据代理商商城提供的返回地址,将返回请求发送给代理商商城。
5)代理商收到信息进行验证,为用户提供服务。

2.3 直冲请求 (请先做接口2.7,从此接口获得产品信息)
?请求方式
代理商商城系统>19pay代理平台
代理商商城系统的支付按钮通过HTTP协议链接到19pay代理平台的接口地址,并按照接口参数定义以post传送相关数据。

?接口地址
测试地址:http://114.255.7.236:8080/directFill.do
(正试地址另行通知)
?接口参数
参数含义长度是否非空备注
prodid产品id4非空三位数字
agentid代理商id200非空代理商在19pay代理平台的登录名
backurl直冲请求返回url128非空(当returntype为2时可为空)本接口处理完成后,19pay代理平台将重定向到该url。形式为:
http://www.myshop.com/result.jsp
returntype返回类型1非空1表示post返回 2表示返回XML信息
orderid代理商订单号30非空该订单号由代理商商城系统生成。orderid唯一确定一条订单。
mobilenum充值手机号11非空充值手机号
source代理商来源10非空代理商商城请填写esales
mark预留字段1000空预留字段,代理商系统返回时原样带回
verifystring验证摘要串100非空详见接后描述


?验证方式
本接口采用MD5摘要对请求进行确认。验证失败的请求将不予处理,并返回失败信息。
代理商首先需要向19pay代理平台申请开通直冲功能,随后会得到加密串(merchantKey),并按照以下规则来构造验证摘要串(verifystring)。
http://59.108.112.184:8080/directFill.do
MD5摘要源串:
prodid=%s&agentid=%s&backurl=%s&returntype=%s
&orderid=%s&mobilenum=%s&source=%s&mark=%s&merchantKey=%s


代理商以具体的参数值替代以上的%s,并保证顺序及每项的准确性。如果mark为空,则传空字符串。
得到验证摘要串(verifystring)后作为post数据的一部分发送给接口地址。
2.4直冲请求返回
?请求方式
19pay代理平台>代理商商城系统
19pay代理平台以HTTP Post的方式返回backurl,并按照接口参数定义post相关数据。

?接口地址
backurl(该backurl由代理商商城系统在2.3接口中提供)

?接口参数
参数含义是否非空备注
prodid话费充值产品编号非空本接口版本号:
2.00
orderid代理商商城订单非空返回2.3的orderid
tranid直冲接口平台订单号只有在订单提交成功2.3接口返回0000时才会返回信息
resultno直冲结果编码非空详见3.1描述
mark预留字段空返回2.3的mark
verifystring验证摘要串可空详见接后描述

当2.3中返回类型(returntype)为2时,返回类似如下信息:
<?xml version="1.0" encoding="GB2312" ?>
<fill version="1.0">
<items>
<item name="prodid" value="XXX" />
<item name="orderid" value="DIRECTXXXXXXXXXXX" />
<item name="tranid" value="" />
<item name="resultno" value="0000" />
<item name="mark" value="" />
<item name="verifystring" value="192ae0099f46de1d71228a5fa00c2d2e" />
</items>
</fill>

?验证方式
本接口采用MD5摘要对请求进行确认。代理商商城系统对于验证不通过的请求返回将不做处理。
19pay代理平台按照以下规则来构造验证摘要串(verifystring)。
MD5摘要源串:
prodid=%s&orderid=%s&tranid=%s&resultno=%s&mark=%s&merchantKey=%s
19pay代理平台将以具体的参数值替代以上的%s,并保证顺序及每项的准确性。如果mark为空,则传空字符串。
19pay代理平台得到验证摘要串(verifystring)后作为post数据的一部分发送给接口地址。
代理商商城系统接到请求返回后将按照同样的规则组成MD5摘要源串,得到结果后与参数中的verifystring进行比对来决定下一步操作。

2.5 直冲请求(预查询模式)
该请求为预查询模式,先通过预查询(command=2)查询是否可下单,返回可下单后,在代理商商城对用户扣款后,将原有信息再次提交(command=1)
如果采用预查询模式,则不能先预查询然后用原有流程提交
?请求方式
代理商商城系统>19pay代理平台
代理商商城系统的支付按钮通过HTTP协议链接到19pay代理平台的接口地址,并按照接口参数定义以post传送相关数据。

?接口地址
测试地址:http:// 114.255.7.236:8080 /preSearchFill.do
(正试地址另行通知)
?接口参数
参数含义长度是否非空备注
prodid产品id4非空三位数字
agentid代理商id200非空代理商在19pay代理平台的登录名
backurl直冲请求返回url128非空(当returntype为2时可为空)本接口处理完成后,19pay代理平台将重定向到该url。形式为:
http://www.myshop.com/result.jsp
returntype返回类型1非空1表示post返回 2表示返回XML信息
orderid代理商订单号30非空该订单号由代理商商城系统生成。orderid唯一确定一条订单。
mobilenum充值手机号11非空充值手机号
source代理商来源10非空代理商商城请填写esales
command交易码1非空1:发货 2:预查询
mark预留字段1000空预留字段,代理商系统返回时原样带回
verifystring验证摘要串100非空详见接后描述




?验证方式
本接口采用MD5摘要对请求进行确认。验证失败的请求将不予处理,并返回失败信息。
代理商首先需要向19pay代理平台申请开通直冲功能,随后会得到加密串(merchantKey),并按照以下规则来构造验证摘要串(verifystring)。
MD5摘要源串:
prodid=%s&agentid=%s&backurl=%s&returntype=%s
&orderid=%s&mobilenum=%s&source=%s&command=%s &mark=%s&merchantKey=%s
代理商以具体的参数值替代以上的%s,并保证顺序及每项的准确性。如果mark为空,则传空字符串。
得到验证摘要串(verifystring)后作为post数据的一部分发送给接口地址。

2.6直冲请求返回(预查询模式)
?请求方式
19pay代理平台>代理商商城系统
19pay代理平台以HTTP Post的方式返回backurl,并按照接口参数定义post相关数据。

?接口地址
backurl(该backurl由代理商商城系统在2.5接口中提供)

?接口参数
参数含义是否非空备注
prodid话费充值产品编号非空本接口版本号:
2.00
orderid代理商商城订单非空返回2.3的orderid
tranid直冲接口平台订单号只有在订单提交成功2.5接口返回0000时才会返回信息
resultno直冲结果编码非空详见3.1描述
mark预留字段空返回2.5的mark
verifystring验证摘要串可空详见接后描述

当2.5中返回类型(returntype)为2时,返回类似如下信息:
<?xml version="1.0" encoding="GB2312" ?>
<fill version="1.0">
<items>
<item name="prodid" value="XXX" />
<item name="orderid" value="DIRECTXXXXXXXXXXX" />
<item name="tranid" value="" />
<item name="resultno" value="0000" />
<item name="mark" value="" />
<item name="verifystring" value="192ae0099f46de1d71228a5fa00c2d2e" />
</items>
</fill>

?验证方式
本接口采用MD5摘要对请求进行确认。代理商商城系统对于验证不通过的请求返回将不做处理。
19pay代理平台按照以下规则来构造验证摘要串(verifystring)。
MD5摘要源串:
prodid=%s&orderid=%s&tranid=%s&resultno=%s&mark=%s&merchantKey=%s
19pay代理平台将以具体的参数值替代以上的%s,并保证顺序及每项的准确性。如果mark为空,则传空字符串。
19pay代理平台得到验证摘要串(verifystring)后作为post数据的一部分发送给接口地址。
代理商商城系统接到请求返回后将按照同样的规则组成MD5摘要源串,得到结果后与参数中的verifystring进行比对来决定下一步操作。

2.7 话费充值产品查询
注::代理商商城可通过此接口实时得到话费充值产品信息列表,返回信息为XML格式。
?请求方式
代理商商城系统>19pay代理平台
代理商商城系统以HTTP Post的方式请求19pay代理平台的接口地址,并按照接口参数定义传送数据。19pay代理平台将以xml方式返回查询结果。

?接口地址
测试地址 http:// 114.255.7.236:8080 /directProduct.do
(正试地址另行通知)


......

[解决办法]
主要是socket 构建HTTP请求等,然后拼接好完整的参数等,就可以发送http请求了...
[解决办法]
顶~~~~~~~~~~~~~~~~
[解决办法]

探讨
顶~~~~~~~~~~~~~~~~

[解决办法]
这样的东西还是自己动手一步一步的做比较好,完全去用口说也是达不到什么效果的,都太理论话,还是亲自实践一下....

读书人网 >C#

热点推荐