APP如何接入微信支付?
APP接入微信支付,是如何接入的 ?
核心概念理解
在开始前,先理解微信支付在APP内的角色模型:
商户: 你自己(公司)。
微信支付商户平台: 你的资金和配置管理中心(pay.weixin.qq.com)。
微信开放平台: 你的APP信息管理中心(open.weixin.qq.com),APP支付必须在这里创建应用。
用户: 使用你APP的消费者。
流程: 你的APP(前端) -> 你的商户服务器(后端) -> 微信支付服务器 -> 返回支付凭证 -> 调起微信SDK完成支付。
接入全流程步骤
第一步:前期准备(账号与资料)
1:注册公司主体: 微信支付要求企业或个体工商户资质,个人无法申请。
2:申请微信支付商户号:
前往 微信支付商户平台 注册申请。
需要营业执照、法人身份证、对公账户等信息。
审核通过后,你会获得重要的五参数:
mchid: 商户号
appid: 关联的公众号/小程序/APP的AppID(注意:APP支付需使用开放平台的AppID)
api_v3_key: 用于解密回调通知的密钥
serial_no: 商户API证书序列号
private_key: 商户API私钥(从商户平台下载的证书文件里获取)
3:注册微信开放平台并创建APP:
前往 微信开放平台 创建移动应用,通过审核后获得 开放平台AppID。
关键操作: 在开放平台的应用详情中,将你的 微信支付商户号 与这个 APP 进行绑定。这样支付权限才通。
4:获取开放平台AppKey: 在开放平台中生成,用于获取用户登录授权等(支付本身不直接用它,但常需登录态)。
第二步:技术集成(以Android/iOS原生为例)
核心:在你的APP中集成微信支付SDK,在你的服务器端实现下单、验签逻辑。
1:客户端(APP)集成:
下载SDK: 从微信开放平台官网下载对应平台(iOS/Android)的SDK。
集成配置:
Android: 将SDK库引入项目;在AndroidManifest.xml中注册支付Activity;在应用包名对应的目录下创建wxapi包,并创建WXPayEntryActivity类处理支付结果回调。
iOS: 将WechatOpenSDK添加到项目;在Info.plist中添加URL Types(URL Schemes为你APP的AppID);在AppDelegate中处理OpenURL回调。
调用支付: 在你的支付页面,当用户点击支付时,客户端应请求你自己的后端服务器获取支付参数(见下文),然后用此参数调用微信SDK的支付方法。
Android: IWXAPI.sendReq(payReq)
iOS: WXApi.sendReq(payReq)
2:服务器端(你的后端)开发:
这是安全的关键,绝对不要在APP内直接生成支付签名!所有与微信服务器的敏感交互都应通过你的后端。
下单接口: 当你的APP发起支付请求时,你的后端需要调用微信支付的 【统一下单API】(或现在的V3版合单下单API)。
构造请求参数,包括:appid(开放平台的)、mchid、out_trade_no(你生成的唯一订单号)、description、total_fee、notify_url(支付结果异步回调地址,最重要!)等。
使用你的private_key对参数进行签名(V2使用MD5或HMAC-SHA256,V3使用SHA256-RSA)。
将签名后的请求发送给微信支付服务器。
返回预付单信息: 微信支付服务器会返回一个包含prepay_id的响应。你的后端用这个prepay_id和必要参数,再次签名,生成一个客户端调起支付所需的参数包(通常包含appId, partnerId, prepayId, nonceStr, timeStamp, package, sign等),返回给你的APP。
处理异步通知: 用户支付成功后,微信支付服务器会向你的notify_url发送一个POST请求,通知你支付结果。你的后端必须:
验证此通知的签名(确保来自微信)。
处理业务逻辑(更新订单状态为已支付,发放商品等)。
给微信返回一个成功的XML或JSON响应(<xml><return_code><![CDATA[SUCCESS]]></return_code></xml> 或V3格式),否则微信会重复通知。
第三步:测试与上线
1:沙箱测试: 微信支付提供沙箱环境,可用于模拟支付流程。但更常用的是...
2:真实场景测试:
在 微信商户平台 -> 产品中心 -> APP支付 中,配置 测试白名单。将测试人员的微信账号(OpenID)添加到白名单。
使用测试白名单账号,安装你的测试包,进行真实的1分钱支付测试。务必完整测试支付成功、失败、取消等各种流程,并验证异步通知和订单状态更新。
3:上线前检查:
确保商户平台的所有配置(如API密钥、通知URL)正确。
确保开放平台的APP信息已审核通过,且绑定了正确的商户号。
移除测试白名单。
4:申请正式上线: 测试无误后,在微信开放平台提交你的APP审核,审核通过后即可发布。
上一篇:windows系统:网站安装ssl后,安卓手机打开正常,苹果手机不信任ssl的解决办法
