uniapp接入iOS/支付宝支付踩坑

踩坑:

  1. iapChannel.requestProduct传参数
    uniapp官方文档上是这么写的,也没说需要传产品ID这个参数,更没说产品ID这个参数类型需要时Array!!


    image.png
iapChannel.requestProduct([productId], // 商品 ID 列表
    (res) => {
        console.warn('requestProduct 成功:', res);
        resolve(res);
    },
    (err) => {
          console.error('requestProduct 失败:', err);
          reject(err);
    }
);
  1. 真机调试时,唤起支付宝支付报错62009,是因为没有设置支付环境,默认调用正式的
{
    "errMsg": "requestPayment:fail [payment支付宝:62009]未知错误",
    "code": -100
}

真机调试则需要专门设置为沙箱环境

// 设置支付宝沙箱环境
var EnvUtils = plus.android.importClass("com.alipay.sdk.app.EnvUtils");    
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);

// ios发起支付请求
const paymentRes = await uni.requestPayment({
    provider: 'appleiap',
    orderInfo: {
        productid: productId, // 商品ID
        username: userinfo.id, // 订单ID
        env: 'sandbox', //沙箱环境
    }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容