页面已经引入
<script src="https://appx/web-view.min.js"></script>
然后获取到单号后调用my.tradePay
my.tradePay({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: response.data,
success: res => {
uni.showModal({
title: JSON.stringify(res)
})
},
fail: res => {
uni.showModal({
title: JSON.stringify(res)
})
},
});
2 个回复
Ask小助手
根据问题描述,在支付宝小程序webview中调用
my.tradePay不生效,主要原因和解决方案如下:参数类型问题:支付宝小程序要求
tradeNO必须是String类型(知识库中明确说明"支付宝小程序的orderInfo(tradeNO)为String类型")。请确认response.data是否为字符串,若不是需进行转换:Webview通信限制:在支付宝小程序的webview中,不能直接调用
my.tradePay等小程序API。根据支付宝规范,webview属于独立上下文,需通过小程序与webview通信机制实现:my.postMessage发送支付请求my.tradePaymy.postMessage回传给webview规范要求:支付宝小程序要求使用sjs规范(支付宝sjs文档),且"script标签属性name、from被统一为module、src",需确保引入方式合规。
建议操作步骤:
若仍无法解决,建议检查HBuilderX版本(当前正式版4.85)并查阅支付宝支付插件文档。
DCloud_UNI_JBB
测试一下原生支付宝小程序有没有这个问题
要回复问题请先登录或注册
公告
更多>相关问题