微信支付

 

第一步   通过微信支付申请支付的金额是通过统一下单形成的,不是直接赋值的这里需要这些参数  参考文档:

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

里面只要是必须传的值都必须填上。

第一步还没完  这个sign算好之后  通过post方式发送微信接口https://api.mch.weixin.qq.com/pay/unifiedorder,应该会返回一个XML格式数据  解析之后会获得许多数据,甚至有sign,但是这些全部都不需要,只需要prepayid这个属性就行了,但我通过测试几次发现返回的数据中,除了sign不能用之外,其他的都能用

第二步   再次向微信发送数据  不过这次是调用支付所需要的参数,这些参数在https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2里面,都是必须填的,之前获得了prepayid,然后新属性package是固定值,其他的值(除了sign之外)可以在第一步所需要的参数获取到。  这里最重要的是生成sign属性了,它的生成与第一步的方法差不多,只是参数是调用支付API上面的参数。还是要注意ASCII码从小到大排序(最好手动配置)。到这里 如果你是后台,你就把这些数据形成JSON数据发给手机端。如果是APP直接获取,那么可用 PayReq req = new PayReq();

给 req.appId=申请的APPiD;

            req.partnerId=商户号;

            req.prepayId=第一次返回的prepayid;

            req.nonceStr=32位随机数;

            req.timeStamp=时间截;

            req.packageValue="Sign=WXPay";固定值

req.sign=sign1(这个值要么是后台获得,要么是第二次生成的签名);

            req.extData= "app data";这一句不知道有什么用,但是不调用会导致-1;

最后一步

APP里要调用 api.sendReq(req);(如果之前有分享,要确定分享包里面有支付功能不然不能调出微信支付界面)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值