乐收赢小程序插件接入指引
<h3>1、乐收赢插件appid</h3>
<pre><code>'appid': 'wxf9f2e5c44a413d36'</code></pre>
<h3>2、半屏小程序</h3>
<p><strong>示例代码</strong></p>
<pre><code> wx.openEmbeddedMiniProgram({
appId: 'wxf9f2e5c44a413d36',//固定填写斗拱账单小程序
path: '/pages/index/index?pay_trace_no=1104110002441202410101104390000035&amp;mch_no=852408030003&amp;total_amount=1&amp;notify_url=https%3A%2F%2Ftestcpay.zbwpay.com%2Fvpay%2Ftrd%2Flsy%2Fpay%2Fcallback'
})
</code></pre>
<p><strong>参数说明:</strong>
pay_trace_no:2024013120303400654462174,商户订单号
mch_no:852211090004,乐收赢商户号
total_amount:123,订单金额,单位分
order_body:订单描述,urlEncode处理
notify_url:异步通知地址,urlEncode处理</p>
<p><strong>注意:</strong>
1、半屏小程序拉起注意点: 必须要在点击触发后同步调用,否则会降级成普通跳转小程序,以下代码将出现跳转到小程序:</p>
<pre><code>openEmbeddedMiniProgramHandle(){
// 此时会跳转到小程序,不是打开半屏
// 微信错误提示:openEmbeddedMiniProgram will fallback to navigateToMiniProgram. (reason: invalid platform)
setTimeout(() =&gt; {
wx.openEmbeddedMiniProgram({
appId: 'wx11361ccf7f47b948',//固定填写斗拱账单小程序
path: '/pages/cashier/cashier?p=H2024013120303400654462174'
})
}, 100);
}
</code></pre>
<p>2、开发者需在 微信小程序管理后台「设置」-「第三方设置」-「半屏小程序管理」板块发起申请,申请添加小程序的APPID=wxf9f2e5c44a413d36;如下图
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b8cb610f4a3ef9a16589b73892e3c65a&amp;file=file.png" alt="" /></p>
<h3>3、支付结果通知</h3>
<p>后端异步通知+前端小程序通知方式,后端通过参数notify_url通知(格式见:[异步通知地址](<a href="https://www.showdoc.com.cn/leshouying/10788376280854360">https://www.showdoc.com.cn/leshouying/10788376280854360</a> "异步通知地址")),前端小程序通知结果数据获取步骤如下:
在当前页面的show生命周期函数内监听onAppShow事件([参考文档](<a href="https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html">https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html</a> "参考文档")),返回的支付结果数据在referrerInfo.extraData中,参考代码如下:</p>
<pre><code>//uniapp
onShow() {
uni.onAppShow((res) =&gt; {
const { referrerInfo } = res;
// 0:支付成功,500:支付失败
const payStatus = referrerInfo?.extraData?.errCode;
// 根据返回的支付状态,处理相关业务逻辑
});
}
// 微信小程序
show() {
wx.onAppShow((res) =&gt; {
const { referrerInfo } = res;
// 0:支付成功,500:支付失败
const payStatus = referrerInfo?.extraData?.errCode;
});
}
</code></pre>