快应用如何去申请微信支付商户?-快应用申请微信支付-优雅草卓伊凡
大家都知道 小程序,app,网站 申请 微信支付,那么快应用呢?
在快应用中接入微信支付需要特殊处理,因为快应用本身无法直接调用微信支付SDK。以下是完整的接入方案和技术实现步骤:
一、微信支付申请流程(针对快应用)
1. 注册微信商户平台
- 访问[微信支付商户平台]
- 完成企业资质认证(需营业执照、法人身份证等)
- 获取商户号(MCHID)和API密钥(API_KEY)
2. 申请「H5支付」权限
快应用需使用 微信H5支付 方式(非APP支付):
- 登录商户平台 → 产品中心 → H5支付
- 提交申请材料:
- 支付域名:填写快应用落地页域名(如
youyacao.cn) - 场景说明:描述为”快应用支付”
- 补充材料上传快应用官方资质证明
3. 配置支付域名
在商户平台 → 账户中心 → API安全 → 支付域名:
https://youyacao.cn
二、快应用端技术实现
1. manifest.json 配置
{ "features": [ { "name": "system.pay" } ], "config": { "wechatPay": { "appid": "xxxx", // 微信公众平台APPID "h5Domain": "https://youyacao.cn" // 与商户平台配置一致 } } }
2. 支付流程代码实现
// 步骤1:获取支付参数(需后端生成) async function getWechatPayParams(orderId) { const res = await this.$http.post('/api/pay/wechat', { order_id: orderId, openid: this.userInfo.openid // 如果有用户体系 }); return res.data; } // 步骤2:调用支付 async function payWithWechat() { try { const params = await getWechatPayParams('ORDER123'); // 关键支付代码 const payment = require('@system.pay'); payment.pay({ orderInfo: JSON.stringify({ appid: params.appId, // 微信公众平台APPID partnerid: params.mchId, // 商户号 prepayid: params.prepayId, package: 'Sign=WXPay', // 固定值 noncestr: params.nonceStr, timestamp: params.timeStamp, sign: params.sign // 签名 }), success: () => { console.log('支付成功'); }, fail: (err) => { console.error('支付失败', err); } }); } catch (e) { console.error('支付异常', e); } }
3. 后端签名生成(PHP示例)
function generateWechatPayParams($order) { $params = [ 'appId' => 'xxxxx', // 公众号APPID 'mchId' => 'xxxxx', // 商户号 'prepayId' => $order['prepay_id'], // 预支付ID 'nonceStr' => md5(uniqid()), // 随机字符串 'timeStamp' => (string)time(), // 时间戳 'package' => 'Sign=WXPay' // 固定值 ]; // 生成签名 $signStr = "appId={$params['appId']}&nonceStr={$params['nonceStr']}". "&package={$params['package']}&signType=MD5&timeStamp={$params['timeStamp']}"; $params['sign'] = strtoupper(md5($signStr . "&key=" . API_KEY)); return $params; }
三、微信支付调试要点
1. 支付白名单配置
- 在微信商户平台 → 产品中心 → 开发配置
- 添加测试支付目录:
https://youyacao.cn/pay/*
2. 常见报错处理
错误码 |
原因 |
解决方案 |
|
商户号与APPID不匹配 |
确认公众号与商户号已绑定 |
|
未开通H5支付权限 |
重新提交H5支付申请 |
|
签名错误 |
检查签名算法和密钥 |
3. 沙箱测试
# 获取沙箱密钥 curl -d "" "https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey"
四、注意事项
- 域名备案:支付域名必须已完成ICP备案
- 回调通知:需处理微信服务器的支付结果异步通知
- iOS兼容:快应用在iOS设备需跳转H5支付页
- 费率差异:H5支付费率通常为1%,高于APP支付
五、完整支付流程图
按照以上步骤可实现快应用的微信支付接入,如遇审核问题,建议在申请材料中强调快应用是”基于手机厂商联盟标准的轻应用”。