首页 >> 大全

# Android微信支付接入

2023-11-09 大全 26 作者:考证青年

微信支付接入

一、 前期准备

申请应用

二、微信支付业务流程

统一下单API、支付结果通知API和查询订单API等都涉及签名过程,调用都必须在服务器端完成。

这里写图片描述

商户系统和微信支付系统主要交互说明:

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。

_接入微信支付需要什么材料_接入微信支付的方式有

步骤3:统一下单接口返回正常的,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,,,,,。注意:的值格式为Sign=WXPay

步骤4:商户APP调起微信支付。

步骤5:商户后台接收支付通知。

步骤6:商户后台查询支付结果。

三、接入步骤

步骤一:在微信开放平台现在最新sdk,并集成到项目中。

步骤二:在应用启动的时候初始化api

IWXAPI msgApi = WXAPIFactory.createWXAPI(context, APP_ID);msgApi.registerApp("wxd930ea5d5a258f4f");

步骤三:调起支付

接入微信支付需要什么材料_接入微信支付的方式有_

PayReq req = new PayReq();
PayResult.DataBean data = payResult.getData();
req.appId = data.getAppId();
req.partnerId = data.getPartnerId();
req.prepayId = data.getPrepayId();
req.packageValue = data.getPackageX();
req.nonceStr = data.getNonceStr();
req.timeStamp = data.getTimeStamp();
req.sign = data.getSign();
// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
LogUtil.logByD("PAY_GET", req.toString());
if (!api.isWXAppInstalled()) {AppUtil.showToastMsg(view.getFragment().getContext(), "您还未安装微信客户端,请先安装微信客户端");return;
}
api.sendReq(req);

这里写图片描述

在调用支付之前需要统一下单,这个操作在服务端进行,上面的就是服务端返回的统一下单结果。

步骤四、支付结果回调

参照微信SDK ,在net...wxapi包路径中实现类(包名或类名不一致会造成无法回调),在类中实现函数,支付完成后,微信APP会返回到商户APP并回调函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。

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);}
}

返回结果码

回调中errCode值列表:名称  描述  解决方案
0   成功  展示成功页面
-1  错误  可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。
-2  用户取消    无需处理。发生场景:用户不支付了,点击取消,返回APP

接受到结果后展示不同的结果。至此,维信支付就全部完成了。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了