A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】微信支付开发

微信支付开发,相较于支付宝还是很简单的,有人说微信开发更麻烦,我想可能是以为后台有点麻烦吧,不过对于android来说,微信开发,简直比支付宝还要简单.下面就开始我们微信开发的介绍吧.
第一步:1、后台设置
商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。设置界面在【开放平台】中的栏目【管理中心 / 修改应用 / 修改开发信息】里面,如图8.8红框内所示。
应用包名:是在APP项目配置文件AndroidManifest.xml中声明的package值,例如DEMO中的package=”net.sourceforge.simcpux”。
应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名串,如图8.9所示,绿色串即应用签名。签名工具下载地址https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
注意:这里签名也就是一个应用的唯一标识,
1,如果你运行时,没有对项目进行签名,那么就是debug版的签名,
2,如果你运行时,是签名版的一定要使用签名版签名.
也就是说:这个签名工具获得的签名,一定要和后台设置的一致,如果不一致是不能调起微信支付的.
2、注册APPID
商户APP工程中引入微信JAR包,调用API前,需要先向微信注册子商户的APPID,代码如下:
final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, “你的appid”);
// 将该app注册到微信
msgApi.registerApp(“你的appid”);
3,导入微信jar包,
在sdk中把jar导入你的工程即可.
4、调起支付
子商户调用“服务商提供的接口”返回支付数据,在APP发起支付。以下是调起微信支付的关键代码:
[AppleScript] 纯文本查看 复制代码

IWXAPI api;

PayReq request = new PayReq();

request.appId = "wxd930ea5d5a258f4f";//子商户appid

request.partnerId = "1900000109";//子商户号

request.prepayId= "1101000000140415649af9fc314aa427",;

request.packageValue = "Sign=WXPay";

request.nonceStr= "1101000000140429eb40476f8896f4c9";

request.timeStamp= "1398746574";

request.sign= "7FFECB600D7157C5AA49810D2D8F28BC2811827B";

api.sendReq(req);
注意:  以上字段都是后台传递给你的,不用自己去费心,只要后台传递过来的是正确的,支付肯定是没有问题的.
5、支付结果回调
参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,支付成功则调用“服务商提供的查询接口”获取到支付状态再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。代码示例如下:
[AppleScript] 纯文本查看 复制代码
publicvoidonResp(BaseRespresp){
if(resp.getType()==ConstantsAPI.COMMAND_PAY_BY_WX){
Log.d(TAG,"onPayFinish,errCode="+resp.errCode);
AlertDialog.Builderbuilder=newAlertDialog.Builder(this);
builder.setTitle(R.string.app_tip);
}
} 
最后:
其实对于支付来说,我们也完全不用写第5不=步,我们完全可以在掉起微信支付后,根据后台返回数据来判断是否完成支付.
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

2 个回复

倒序浏览
来看看!!
回复 使用道具 举报
多谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马