拉卡拉API支持小程序支付吗?微信小程序支付参数配置

浏览量:12 2026-09-11 14:03:49

拉卡拉API支持小程序支付吗?微信小程序支付参数配置

微信小程序是商家变现的核心场景,但直接对接微信支付门槛高、周期长。拉卡拉API能不能支持小程序支付?需要配置哪些参数?服务端怎么下单?前端怎么调起?本文详细解析拉卡拉聚合支付API的微信小程序支付能力、参数配置、完整接入流程和常见问题。

拉卡拉API接口 

微信小程序通过拉卡拉API对接支付架构示意

1. 拉卡拉API支持小程序支付吗

明确回答:支持。拉卡拉聚合支付API一站式支持微信小程序、APP、公众号、H5全场景收款。小程序支付通过JSAPI渠道类型实现,服务端调用拉卡拉统一下单接口传入小程序用户openid,获取支付参数后小程序前端调起微信支付,底层走微信官方支付通道。

支持能力概览:

 支付场景:微信小程序支付(JSAPI)、微信APP支付、微信公众号支付、微信H5支付、微信扫码支付、支付宝全场景

 接入方式:原生JSAPI调起(推荐)、聚合收银台web-view加载(兼容方案)

 底层通道:拉卡拉是"聚合收银"方案,底层走微信和支付宝官方通道,资金安全合规

 前置条件:需有已认证的微信小程序和关联的微信商户号(拉卡拉可协助申请)

 对接周期:3-5个工作日完成开发联调,比直接对接微信支付节省76%技术成本

2. 两种接入方式对比

对比项

原生JSAPI调起(推荐)

聚合收银台web-view

实现原理

拉卡拉下单返回微信支付参数,小程序wx.requestPayment直接调起

拉卡拉返回收银台URL,小程序web-view加载收银台页面

用户体验

原生支付弹窗,体验流畅,无页面跳转

需加载H5收银台,多一次页面跳转

开发量

需服务端下单+前端调起,代码量适中

只需获取URL并加载,开发量最小

域名配置

只需配置request合法域名

需配置requestweb-view业务域名

支付方式

仅微信支付(小程序内只能微信支付)

收银台可支持微信+支付宝(小程序内实际仅微信)

推荐场景

绝大多数小程序支付场景

快速验证、无开发资源、兼容多渠道

3. 前置准备

3.1 1. 微信侧准备

 已认证的微信小程序:在微信公众平台注册并完成企业认证(300/年)

 微信商户号:在微信支付商户平台申请,主体需与小程序一致

 关联小程序:在微信商户平台产品中心→APPID账号管理中,关联小程序APPID

 获取小程序AppID微信公众平台开发开发设置→AppID

 获取用户openid小程序端通过wx.login获取code,服务端用code换取openid

3.2 2. 拉卡拉侧准备

 开通拉卡拉商户:联系95016或商务团队,提交企业资质开通聚合支付

 获取API凭证:拉卡拉开放平台(o.lakala.com)获取商户号(MID)、终端号(TID)AppKeyAPI Secret

 配置回调地址:在开放平台配置支付结果异步通知URL(必须公网可访问的HTTPS地址)

 开通JSAPI支付:确认商户号已开通微信JSAPI支付权限

 配置小程序AppID将小程序AppID提交给拉卡拉,绑定到商户号下

3.3 3. 小程序后台配置

 request合法域名:微信公众平台开发开发设置服务器域名,添加拉卡拉API域名  

 测试环境:https://test.wsmsd.cn

 生产环境:https://s2.lakala.com

 web-view业务域名(仅收银台方式需要):添加拉卡拉收银台域名

 IP白名单:将服务端出口IP添加到微信商户平台IP白名单

4. 小程序支付核心参数配置

4.1 服务端下单请求核心参数

参数名

类型

必填

说明

merchantNo

String

拉卡拉商户号(MID)

termNo

String

拉卡拉终端号(TID)

outTradeNo

String

商户订单号,每次请求唯一,不可重复

totalAmount

String

订单总金额,单位为分(如100元传10000

payMode

String

支付方式,微信支付传 WECHAT

channelType

String

渠道类型,小程序支付传 JSAPI

subAppId

String

微信小程序AppID(获取openid所用的appid

openId

String

用户在小程序appid下的唯一标识(微信openid

body

String

商品描述,如"小程序订单支付"

notifyUrl

String

支付结果异步回调地址,公网HTTPS

attach

String

附加数据,回调时原样返回,可传业务标识

orderTime

String

订单时间,格式yyyyMMddHHmmss

4.2 下单响应参数(前端调起支付用)

下单成功后,拉卡拉返回微信小程序调起支付所需的参数:

 appId小程序AppID(与请求中subAppId一致)

 timeStamp时间戳,当前秒级时间

 nonceStr随机字符串,32位以内

 package预支付交易会话ID,格式为 prepay_id=xxxxxx

 signType签名方式,通常为RSAMD5

 paySign支付签名,拉卡拉已用微信商户密钥签好

关键提示:openid是小程序支付的必填参数,必须是用户在当前小程序AppID下的openid。通过wx.login获取code后,服务端调用微信auth.code2Session接口换取openidopenidAppID绑定,不同小程序的openid不通用。

5. 服务端下单完整流程

5.1 步骤1:小程序端获取code

小程序前端调用wx.login()获取临时登录凭证code,将code发送给商户服务端。

5.2 步骤2:服务端用code换取openid

商户服务端调用微信接口:

 请求地址:https://api.weixin.qq.com/sns/jscode2session

 参数:appid(小程序AppID)、secret(小程序AppSecret)、js_code(前端传来的code)、grant_type=authorization_code

 返回:openid(用户唯一标识)、session_key(会话密钥)

 建议:将openid与用户账号绑定,后续支付直接使用,无需每次重新获取

5.3 步骤3:服务端调用拉卡拉统一下单

商户服务端组装下单参数(见上方参数表),使用拉卡拉API Secret对请求参数签名后,调用拉卡拉统一下单接口。拉卡拉系统调用微信支付创建预支付订单,生成prepay_id

5.4 步骤4:返回支付参数给小程序

拉卡拉返回调起支付所需的6个参数(appIdtimeStampnonceStrpackagesignTypepaySign),商户服务端将这些参数透传给小程序前端。

6. 小程序前端调起支付

6.1 wx.requestPayment调用

小程序前端收到支付参数后,调用wx.requestPayment()调起微信支付:

 timeStamp拉卡拉返回的时间戳(注意是字符串类型)

 nonceStr拉卡拉返回的随机字符串

 package拉卡拉返回的prepay_id=xxx

 signType拉卡拉返回的签名方式(RSA/MD5

 paySign拉卡拉返回的支付签名

6.2 支付结果回调处理

 success回调:用户支付成功,小程序端可跳转到支付成功页,但不能以此作为支付成功依据,必须以服务端异步回调为准

 fail回调:用户取消支付或支付失败,提示用户重新支付

 complete回调:支付流程结束(无论成功失败),可做清理操作

重要:小程序端的success回调仅表示用户完成了支付操作,实际支付结果必须以拉卡拉异步回调(notifyUrl)为准。前端收到success后应主动调用服务端查询接口确认订单状态,防止因网络问题导致回调丢失。

7. 支付回调处理

7.1 异步回调通知

用户支付成功后,拉卡拉会向商户配置的notifyUrl发送POST请求,通知支付结果。

7.2 回调处理规范

1. 验证签名:使用拉卡拉公钥验证回调签名,确保回调来源可信,防止伪造

2. 幂等处理:同一订单可能收到多次回调,根据outTradeNo做幂等判断,避免重复更新订单

3. 更新订单状态:验签通过后,将订单状态更新为"已支付",触发后续业务逻辑(发货、开通服务等)

4. 返回成功响应:处理完成后返回指定的成功响应(通常是SUCCESS或特定JSON),否则拉卡拉会重试推送

5. 记录回调日志:记录原始回调报文,便于对账和排查问题

7.3 回调重试机制

 拉卡拉收到非成功响应或超时未响应时,会按间隔重试推送

 建议同时有定时任务主动查询"待支付"订单状态,防止回调丢失

 主动查询可调用拉卡拉订单查询接口,传入outTradeNo获取最新支付状态

8. 接入六步流程

 

微信小程序支付接入六步流程示意

8.1 第一步:微信商户号申请与关联

 注册微信小程序并完成企业认证

 申请微信支付商户号(拉卡拉可协助申请)

 在微信商户平台关联小程序AppID

 获取小程序AppIDAppSecret

8.2 第二步:拉卡拉API配置

 开通拉卡拉聚合支付商户

 获取商户号(MID)、终端号(TID)AppKeyAPI Secret

 配置支付回调地址notifyUrl

 提交小程序AppID给拉卡拉绑定

8.3 第三步:域名白名单配置

 微信公众平台配置request合法域名(拉卡拉测试和生产域名)

 微信商户平台配置IP白名单(服务端出口IP

 如用收银台方式,额外配置web-view业务域名

8.4 第四步:服务端下单开发

 实现wx.login code换取openid逻辑

 集成拉卡拉SDK或自行封装签名和请求

 调用统一下单接口,传入JSAPI渠道和openid

 获取支付参数并返回给小程序前端

8.5 第五步:前端调起支付

 小程序端调用wx.requestPayment,传入拉卡拉返回的支付参数

 处理success/fail/complete回调

 支付成功后调用服务端确认订单状态

 跳转支付结果页面

8.6 第六步:回调验签与联调上线

 实现异步回调接收、验签、幂等处理

 在测试环境跑通完整支付流程

 切换生产环境,小流量验证

 正式上线,监控支付成功率和回调到达率

拉卡拉分账系统

9. 常见问题解答

9.1 没有微信商户号能用拉卡拉小程序支付吗?

可以。拉卡拉可以协助商户申请微信支付商户号,商户只需提供企业资质,拉卡拉走快速入驻通道。但小程序本身必须是已认证的企业主体小程序,个人小程序无法开通微信支付。如果已有微信商户号,直接关联小程序AppID即可,拉卡拉支持使用商户自有微信商户号。

9.2 openid获取失败怎么办?

openid获取失败常见原因:①AppIDAppSecret配置错误;②code已过期(code有效期5分钟,只能使用一次);小程序未在微信公众平台配置服务器域名;网络问题。建议:将openid与用户账号绑定缓存,避免每次支付都重新获取;服务端做好错误处理和重试机制。

9.3 小程序支付提示"商户号该产品权限未开通"怎么办?

这是因为微信商户号未开通JSAPI/小程序支付权限。解决方法:登录微信商户平台产品中心我的产品,确认JSAPI支付已开通;在APPID账号管理中确认小程序AppID已关联且授权确认;联系拉卡拉客服确认商户号已绑定小程序支付权限。通常开通后10分钟左右生效。

9.4 支付成功了但回调没收到怎么办?

首先检查:①notifyUrl是否为公网可访问的HTTPS地址;回调地址是否在拉卡拉开放平台正确配置;服务端是否返回了成功响应(非成功会重试);服务器防火墙是否拦截了拉卡拉回调IP。如果确认配置正确但仍未收到,使用拉卡拉订单查询接口主动查询订单状态,同时联系技术支持排查。建议业务系统必须有主动查询补单机制。

9.5 拉卡拉小程序支付费率是多少?

微信小程序支付费率与微信官方标准一致,通常为0.6%(不同行业可能有差异,如非营利组织、公立医院等有优惠费率)。拉卡拉作为聚合支付机构,不额外加收费率,商户按微信官方标准费率结算。具体费率以签约时的协议为准,可联系95016或客户经理确认。

9.6 uni-appTaro开发的小程序怎么对接?

uni-appTaro等跨端框架都封装了微信小程序的支付API,调用方式与原生小程序一致。uni-app使用uni.requestPayment()Taro使用Taro.requestPayment(),参数与wx.requestPayment完全相同。需要注意在manifest.json中配置小程序AppID,服务端下单逻辑与原生小程序无差异。

9.7 小程序支付能同时对接分账吗?

可以。拉卡拉统一下单接口支持同时传入分账参数,用户支付成功后自动触发分账。在下单请求中添加分账接收方列表(RecvDatas)和分账计算类型(CalType),即可实现"支付+分账"一步完成。适合电商平台、外卖平台、内容平台等需要多方分成的小程序场景。

9.8 测试环境怎么测试小程序支付?

拉卡拉提供测试环境(test.wsmsd.cn)和测试商户号,开发者可在测试环境完成联调。微信小程序测试支付需要使用微信支付沙箱环境,或使用小额真实支付测试(建议0.01元)。测试时注意:测试环境域名需添加到小程序request合法域名;测试环境返回的支付参数可能需要使用微信沙箱钱包;联调通过后切换生产环境密钥和域名。

总结:拉卡拉聚合支付API明确支持微信小程序支付,通过JSAPI渠道类型实现。两种接入方式:原生JSAPI调起(推荐,体验流畅)和聚合收银台web-view(开发量小)。前置准备包括:微信小程序认证+微信商户号+关联AppID、拉卡拉商户开通+API凭证+回调配置、小程序后台域名白名单。服务端下单核心参数:merchantNotermNooutTradeNototalAmount(单位分)、payMode=WECHATchannelType=JSAPIsubAppId(小程序AppID)、openId(用户openid)、notifyUrl。下单返回appIdtimeStampnonceStrpackagesignTypepaySign六个参数,小程序前端wx.requestPayment调起支付。支付结果以异步回调为准,回调需验签+幂等+返回成功响应,配合主动查询防丢失。接入六步:微信商户号申请拉卡拉API配置域名白名单服务端下单开发前端调起支付回调验签联调上线。对接周期3-5个工作日,费率与微信官方一致0.6%,支持同时对接分账功能。

相关推荐

精品案例

免费分账资料获取:232959

已有 6658 人申请成功
  • 姓名*
  • 电话*
  • 备注   
  • 提交(免费分账资料提供,领完即止)
友情链接:
立即咨询
在线留言
顶部

截屏,微信识别二维码

微信号:18086829649

(点击号码复制,添加好友)

关闭