第三方支付遇到的问题

来源:互联网 发布:unity3d 向目标移动 编辑:程序博客网 时间:2024/05/19 09:02


支付集成步骤和流程

  1.生成订单(可以在客户端生成,也可以在服务器端生成)
  2.调用支付宝支付接口,发送订单
  3.处理支付宝返回的支付结果


订单的签名,建议放在服务器,这样更加安全。


支付宝在上一个页面  1生成订单,AlipayActivity这个类里面就可以实现  2调用接口,发送订单  和  3处理支付的结果;

而微信支付,可以在WxPayActivity先判断手机是否安装微信和是否支持微信支付,判断之后  2调用接口,发送订单  

在WXPayEntryActivity extends Activity implements IWXAPIEventHandler里面微信终端注册,再专门做  3处理支付的结果;

微信分开写可以更加清晰明了。必须在wxapi文件里下面。


微信比支付宝麻烦一些、

常见错误也需要注意:

微信支付的demo只有第一次调用成功,后面的调用回调都是返回错误码-1;
可以弹出微信支付的界面,但是支付之后没有进入回调的Activity:WXPayEntryActivity;


微信支付的回调Activity要求必须是在:包名 + wxapi里面,支付宝没有要求。

微信支付,需要注意在官网上面备注签名,上线前保持一致,或者直接使用正式版本的签名;

这里应用跟应用签名和包名挂钩,也就是说一个移动应用对应一个APPID,表明了配置参数的不可公用性。

另外要注意调试的时候签名问题,可以先设置为debug签名,等调试成功换成正式签名。一般调试问题就是签名问题。

签名工具下载地址: 
https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk


在微信支付前,需要先判断是否安装微信软件,它没有h5支付的页面

if (!api.isWXAppInstalled()) {
Toast.makeText(WxPayActivity.this, "没有安装微信", Toast.LENGTH_SHORT).show();
finish();
return;
}
if (!api.isWXAppSupportAPI()) {
Toast.makeText(WxPayActivity.this, "当前版本不支持支付功能", Toast.LENGTH_SHORT).show();
return;
}

PayReq req = new PayReq();   --- 2.调用微信支付接口,发送订单、

原创粉丝点击