应用宝 SDK 接入记录
在接入应用宝时的一些总结记录:
应用宝 SDK 接入分 QQ 登陆和微信登陆,充值方式有:游戏币模式、道具直购模式、道具寄售模式。
普通网游一般接入游戏币模式。此模式,无法自定义传入名称,在多货币的情况下,审核出现问题。由于游戏(单机)的特殊性,多种货币(道具)可直接购买,所有接入这一块采用了登陆和充值分开处理。直接接入米大师,登陆申请在 open.qq.com(腾讯开放平台),支付申请在http://midas.qq.com/(米大师),即道具直购模式。
主要说明一下,服务端接收腾讯充值回调的处理。腾讯回调比较特殊,用 non-hosting 应用(即应用部署在开发者自己的服务器上),需要采用 https(443),接收回调。
接入过程如下:
1.程序启动 https 服务,此处理在拿到腾讯 CA 安全证书使用说明文档后,废弃。
2.采用说明文档中,tomcat 方式进行处理,action 做中转。
主要步骤:
a.修改 tomcat connector 运行模式为:apr,配置具体如下:
<Connector
protocol=“org.apache.coyote.http11.Http11AprProtocol”
port=“443” maxThreads=“200”
scheme=“https” secure=“true” SSLEnabled=“true”
SSLCertificateFile=“D:/apache-tomcat-6.0.37-windows-x64/apache-tomcat-6.0.37/crt/server.crt”
SSLCertificateKeyFile=“D:/apache-tomcat-6.0.37-windows-x64/apache-tomcat-6.0.37/crt/server.key”
SSLVerifyClient=“none”
SSLCACertificateFile="D:/apache-tomcat-6.0.37-windows-x64/apache-tomcat-6.0.37/crt/ca.crt" />
b.回调接入处理,详细说明,如:
http://wiki.open.qq.com/wiki/回调发货 URL 的协议说明_V3
说是详细说明,其实很坑爹,有些参数是没有的。只有文档中两句标红的话:
请开发者特别关注:
平台后续可能对协议进行扩展,产生随机参数,因此请不要将参与签名的参数写死。
计算签名时,请以每笔交易接收到的参数为准,接收到的所有参数除 sig 和 cee_extend 以外都要参与签名。
所以,腾讯的接入,每一句话,都需要小心处理。
后面根据其说明,采用动态解析方式,关键代码如下:
String requestQuery = request.getQueryString();
Map map = request.getParameterMap();
HashMap<String, String> requestMap = new HashMap<String, String>();
for (Object key : map.keySet())
{
requestMap .put(key.toString(), request.getParameter(key.toString()));
}
c.部署到正式服.
1.需要安装:APR.
2.遇到的问题,443 访问不了,后面才知道原来是自己登陆错账号,开启错了。所以以后出现问题,先排除自己的问题。特别是让其他人处理时,出现问题,更应该先检查自己的问题。
此处理还有一个问题未处理的:因为服务器是两台做容灾,采用 tomcat 开放 443 的方式,只能是一台有效,可修改为 Nginx 方式。
另一个是商务方面的,应用宝审核,第一次先审包,第二次先审资质。所以商务先把申请审核方面的文档先看仔细,当然也可以安排其他人进行查看更新,避免卡在这方面上。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/e8b7512ef6e7e25ff446ab745】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论