张小丫第一次微信支付(讲解)

微信支付(wechat_sdk_sample_android_v3_pay)

第一次做微信支付,真是坑爹,足足花了我一天的时间,本来这个功能是同事做的,但是我想学习一下就拿着现有资料就实现一下,真想说,一个字,坑,两个字好坑,对于粗心的人直接把官方的demo复制一遍算了,免得费那个力气,微信支付主要有以下三点:

  • 第一步:访问微信服务端生成微信预支付订单号,拿到它,我们下一步用
  • 第二步:装载要调起微信支付的必备参数,包含上一步的预支付订单号
  • 第三步:调起微信客户端支付

-注意:您在做微信支付开发时,必须要去 [ 微信开放平台 ]申请账号,创建应用,填上正式的包名和签名,获取app微信支付接入资格,其中还要交300大洋通过审核后才有权利创建应用,拿到AppID和AppSecret


微信支付失败需注意的点:

  • 原因一要想支付成功,就必须打个正式签名的包

  • 原因二就是之前您的手机上装了微信客户端,然后运行了debug的包,然后你再装正式包,这个时候微信把你的debug签名缓存了,所以死活调不起来,解决办法就是把微信客户端和您的apk卸载重装或者清除缓存,清除缓存的方式据说可以,我没试过,你们试试,手机的设置–>应用–>应用列表—>找到微信,清除数据就好了,万一不行就卸载把。

  • 原因三就是你在微信开放平台的配置信息更改过,微信服务器没刷新您的数据,比如说:您之前填了个错误的包名,现在你改成正确的了,然后就死活也调不起微信支付,这个时候你该怀疑微信服务器了,去开放平台把配置信息填成错误的,等半小时后再填写成正确的。

  • 原因四就是的代码的问题,在生成预支付订单号的时候,需要发送post请求拿预支付订单号,需要传参数,参数开放平台说必填的就一定要有,然后参数顺序要和官方的一致,类型必须一致,然后不能改变大小写,微信参数key是大写你就大写,人家是小写你就小写,否则会生成预支付订单失败,就是微信咋样你就必须咋样,一丁点的变化都不可以有。

  • 原因五就是你在AndroidManifest.xml的配置,微信支付完成后会回调到我们的应用,这个回调的类名必须是WXPayEntryActivity,并且它还必须在package下面,比如我的包名是com.group.mall,它就必须在com.vinjoy.mall包下。

第一步判断是否安装微信客户端(没安装的不能唤起微信支付)

private  boolean isWXAppInstalledAndSupported(IWXAPI api) {

        Boolean sIsWXAppInstalledAndSupported = api.isWXAppInstalled()&& api.isWXAppSupportAPI();
        if (!sIsWXAppInstalledAndSupported) {
            Toast.makeText(PaymentActivity.this,  "微信客户端未安装,请确认", 1).show();

        }

        return sIsWXAppInstalledAndSupported;
    }

第二步生成预支付订单号

//生成预支付订单号必须传的参数
这里写图片描述
//发送post请求拿到微信返回给我们的预支付订单号
这里写图片描述
第三步生成预支付订单,唤起微信
//通过微信返回给我们的预支付订单号在微信生成预支付订单
这里写图片描述

第四步就可以看到付款页面了付钱
这里写图片描述
付完钱就会进入您写的回调页面
这里写图片描述

由于微信支付涉及到商家信息,所以这里不方便给源码,若有任何技术问题,请入
QQ群:234456543

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值