18673179777
获取免费方案
电话咨询
QQ咨询
微信咨询
返回顶部
×

小程序开通微信支付:5步完成商户号申请与API配置

在开发小程序时,都会卡在“微信支付”这一关。网上搜到的教程要么是零散的官方文档截图,要么是过时的接口代码,真正能帮你从零打通“开通-配置-调试”全流程的并不多。今天我们就像面对面讲课一样,把这件事拆开揉碎了讲清楚。

一、先搞清楚:你的小程序到底需要哪种“微信支付”?

一上来就搜“小程序开通微信支付”,结果发现官方有“商户平台”和“服务商”两个入口,还有“JSAPI支付”和“小程序支付”的说法。这里有个关键区别:如果你的小程序是给自家公司卖货、收会员费、做知识付费,你需要的是“普通商户直连模式”;如果你是帮别人搭建商城(比如做SaaS平台),才需要走“服务商模式”。

举个例子:你开了一家水果店,想在小程序里让顾客直接付款买草莓——这就是普通商户。你开发了一个“万能商城”小程序,租给100家水果店用,每家店收自己的钱——这就是服务商模式。绝大多数人属于前者,我们重点讲这个。

二、开通前的“隐形门槛”:不是注册了就能直接用

卡在第一步,是因为忽略了一个前提:小程序主体和微信支付商户主体必须一致,且都已完成企业认证(或个体工商户认证)。这里有个容易踩的坑:个人主体的小程序无法开通微信支付,只能用“转账到银行卡”这种替代方案。如果你是个体工商户,营业执照上的名称、法人身份证号、小程序认证的主体名称,这三个必须完全匹配,一个字都不能差。曾经有个学员因为营业执照上有个括号是英文半角,小程序认证时写成了中文全角,结果审核被驳回三次。

操作步骤:

1. 登录微信公众平台(mp.weixin.qq.com),进入小程序管理后台,确认“设置-基本设置-主体信息”显示的是公司或个体工商户名称。

2. 如果还没认证,先花300元做微信认证(个人主体无法认证,必须用企业或个体户)。

3. 登录微信支付商户平台(pay.weixin.qq.com),点击“接入微信支付-注册商户号”,选择“普通商户”。填入的营业执照信息、法人身份证号、对公账户(或法人个人银行卡)信息,必须与小程序主体完全一致。

三、最容易被忽略的“关联绑定”环节

以为注册完商户号就结束了,结果在代码里调支付接口时,总返回“商户号未关联”的错误。这里有一个关键动作:你必须在微信支付商户平台里,把刚申请的商户号“授权”给对应的小程序AppID。这就像你开了个收银台(商户号),但得告诉收银台“哪个店铺(小程序)可以用这个收银台收钱”。

具体操作:

1. 登录微信支付商户平台,点击“产品中心-开发配置”。

2. 在“JSAPI支付授权目录”里,填入你的小程序业务域名(通常是你后端服务器的域名,比如https://api.yourdomain.com)。注意:这个域名必须先在小程序后台“开发-开发管理-服务器域名”里配置过,否则会报错。

3. 最关键的一步:在“AppID绑定”处,点击“新增绑定”,输入你小程序的AppID(在微信公众平台“开发-开发管理-开发设置”里查看)。绑定后需要等待几分钟生效,期间不要频繁操作。

四、提现与费率:别等要收钱时才发现问题

微信支付开通后,默认费率是0.6%(每收100元扣0.6元手续费)。如果你是做生鲜、教育等特定行业,可以申请优惠费率(比如0.38%),但需要提交行业证明材料。这里有个独门技巧:申请优惠费率时,不要直接找客服,而是登录商户平台后,在“账户中心-费率调整”里提交申请,附上你的营业执照经营范围截图,审核通过率会高很多

提现方面,商户号里的钱默认是T+1到账(第二天到对公账户或法人银行卡)。但很多个体户朋友发现,自己绑定的法人个人银行卡提现失败,原因是:微信支付要求个体户的结算账户必须是法人本人的银行卡,且开户行名称必须精确到支行。比如你填“中国银行北京分行”,但实际开户行是“中国银行北京朝阳支行”,就会失败。建议在绑卡前先打开手机银行,确认完整的开户行名称。

五、开发对接时的“防坑指南”

当你的后端程序员开始写支付代码时,有3个细节能帮你省下半天调试时间:

1. 签名算法必须用官方SDK——为了省事自己写签名,结果因为参数排序问题导致签名失败。微信支付的签名要求所有参数按字典序排序,然后拼接key值。直接用官方提供的SDK(比如Java的WXPayUtil、PHP的WxPayApi),能避免99%的签名错误。

2. 支付结果通知地址要写公网IP或域名——不能写localhost或127.0.0.1,也不能写内网地址。如果你在本地开发测试,可以用内网穿透工具(比如ngrok)生成一个临时公网地址。但上线前一定要换成正式服务器地址,否则用户支付成功后,微信服务器回调通知不到你的系统。

3. 退款接口需要双向证书——能正常收款,但一退款就报错,因为退款接口需要加载商户平台下载的API证书(一个p12文件)。这个证书在“账户中心-API安全-API证书”里下载,下载后要妥善保管,不要上传到代码仓库里。

六、一个真实案例:为什么我开通了却收不到钱?

有个做二手书回收的小程序开发者,按照教程一步步操作,但用户支付后,钱既没到商户号,也没退回给用户。排查后发现:他在小程序后台“开发-开发管理-业务域名”里只填了前端页面域名,没填后端接口域名。微信支付的回调通知需要经过后端接口,但接口域名没被信任,导致回调失败。解决方案很简单:在业务域名里加上后端API的域名(比如api.xxx.com),同时在微信支付商户平台“产品中心-开发配置”的“支付回调域名”里也填上同一个域名。

另一个常见问题是:用户支付时提示“支付验证签名失败”。这通常是因为前端传参时,把金额单位搞错了。微信支付的单位是“分”,但很多前端工程师习惯用“元”传参。比如商品价格是9.9元,前端传给后端应该是990分,但传成了9.9,签名时计算的金额和实际传的金额不一致,自然就失败了。建议在后端统一做一次金额单位转换,前端只负责展示。

七、扩展话题:微信支付还有哪些“隐藏功能”值得用?

开通基础支付后,不知道还可以开启“分账功能”。比如你是一个课程分销平台,用户付了100元买课,讲师拿80元,平台拿20元。如果不用分账,你需要先收100元,再手动给讲师转账80元,既麻烦又容易出错。开通“服务商分账”后,系统可以自动把80元实时分给讲师的商户号,20元留在你的商户号里。这个功能在商户平台“产品中心-分账”里申请,审核通过后需要API对接。

还有一个容易被忽略的是“支付即服务”功能。用户在你小程序里付款后,可以自动弹出“联系客服”或“加入会员”的页面。这个在商户平台“产品中心-支付即服务”里配置,不需要写代码,设置好模板消息和跳转链接就行。对于做复购的生意(比如送水、家政服务),这个功能能把一次支付变成长期客户关系。

最后提醒一句:微信支付的审核通常需要1-3个工作日,如果超过3天没动静,不要干等,直接拨打微信支付客服热线95017转1。电话接通后说“商户号审核”,会有专人帮你查进度。因为不好意思打电话,白白等了一周,结果发现是营业执照照片拍得不清晰被驳回了。

上一篇
每次打开笔记软件找灵感,都像在垃圾堆里翻金矿
下一篇
web前端开发做什么,web前端开发需要学习哪些内容