关于微信APP支付遇到的坑


1、在服务端调用统一支付时,返回 预支付交易会话ID,然后生成调用支付请求参数,参数可见https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2,其中sign的值是不包括sign的请求参数重新签名得到的值。


2、客户端,android中依照demo中配置请求参数,如demo中的例子

PayReq req = new PayReq();
req.appId  = json.getString("appid");
req.partnerId = json.getString("partnerid");
req.prepayId = json.getString("prepayid");
req.nonceStr = json.getString("noncestr");
req.timeStamp = json.getString("timestamp");
req.packageValue= json.getString("package");
req.sign = json.getString("sign");
req.extData = "app data"; // optional

// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
api.sendReq(req);


3、 (神坑) 支付成功后的回调配置,需在你的项目包下面新建wxapi包,然后把demo中的WXPayEntryActivity放到该包中(如我的包是com.demo,那么WXPayEntryActivity的包就是com.demo.wxapi),还需在AndroidManifest.xml配置

<activity android:name=".wxapi.WXPayEntryActivity"
    android:screenOrientation="portrait"
    android:exported="true"
    android:launchMode="singleTop"
    android:theme="@android:style/Theme.Translucent"></activity>

其中红色部分是必须的,否则无法正常回调。

android:exported="true"  主要作用是是否允许activity被其它程序调用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值