易支付安全、低费率、实时到账

易支付小程序接口 - 符合平台审核标准的支付方案

要让易支付小程序接口通过微信、抖音、支付宝等主流平台审核,核心需围绕 “资质匹配、接口合规、流程闭环、场景真实” 四大核心,既满足易支付的接口调用逻辑,又严格遵循平台支付审核红线。以下是分平台适配的完整方案,覆盖从前期准备到审核落地的全流程。

一、前置核心:先明确平台审核通用红线(避坑关键)

无论对接哪个平台,易支付接口调用需先规避以下高频驳回点,这是方案合规的基础:

  1. 禁止 “跳转绕开”:不可通过链接、二维码、弹窗等方式跳转至小程序外页面(如易支付 H5 支付页、第三方浏览器),必须在小程序内通过官方认可的接口完成支付;

  2. 资质与场景强绑定:易支付商户资质需与小程序主体一致(如企业小程序需用企业资质开通的易支付商户号,个人小程序需用个人合规的易支付渠道),且支付场景需与小程序类目匹配(如教育类目不可用于实物商品支付);

  3. 无测试残留:提审前必须关闭易支付沙箱环境,移除 VConsole 调试工具、“测试支付”“演示订单” 等字样,所有支付流程需模拟真实用户操作;

  4. 隐私合规:若调用易支付接口时需收集用户信息(如手机号用于订单通知),必须提前弹窗获取用户授权,隐私协议中明确说明 “信息用于易支付订单同步”,禁止静默收集。

二、分平台方案:易支付接口适配与审核要点

(一)微信小程序:易支付接口合规对接(企业 / 个人均适配)

微信小程序是易支付接口的核心适配场景,需区分企业主体(可直接对接)与个人主体(需间接适配),确保符合微信支付审核规范。

1. 企业主体微信小程序:易支付直连方案

(1)资质与接口准备

  • 必备资质:微信小程序企业认证(300 元 / 年,需营业执照、法人信息)、易支付企业商户号(需与小程序主体一致,提供营业执照、对公账户);

  • 接口配置

    1. 登录微信小程序后台,将易支付域名(如api.yipay.com)添加至 “request 合法域名”“downloadFile 合法域名”,确保接口请求不被拦截;

    2. 在易支付商户后台,配置 “微信小程序支付回调地址”(需为小程序关联的备案域名,如https://yourdomain.com/pay/notify),用于同步支付结果;

    3. 获取易支付核心参数:MchID(商户 ID)、AppKey(API 密钥)、WxAppID(绑定的微信小程序 AppID),用于接口初始化。

(2)易支付接口调用流程(符合微信审核的闭环设计)

以 “虚拟课程购买” 场景为例,完整流程需包含 “商品展示→订单创建→支付发起→结果同步→权益交付”,每个环节需符合微信规范:

// 1. 商品页:明确展示商品信息(审核必看)
Page({
  data: {
    course: {
      name: "Python入门3节实操课", // 商品名称清晰
      price: 99.00, // 价格明确,无“0元”“免费”等诱导
      desc: "包含3节视频课(每节45分钟)+ 课件下载,购买后永久有效", // 场景真实
      cover: "https://yourdomain.com/covers/python.jpg" // 商品图片合规
    }
  }
});

// 2. 订单创建:调用易支付创建订单接口(需在小程序内完成,无跳转)
async createOrder() {
  const { course } = this.data;
  // 调用易支付接口创建订单(参数需完整,避免模糊)
  const res = await wx.request({
    url: "https://api.yipay.com/create-order",
    method: "POST",
    data: {
      mchId: "你的易支付MchID",
      outTradeNo: "ORD" + Date.now(), // 自定义唯一订单号
      totalFee: course.price * 100, // 金额转分(微信支付要求)
      body: course.name, // 商品描述与页面一致
      attach: JSON.stringify({ courseId: "C001", userId: "U123" }), // 附加信息(权益交付用)
      notifyUrl: "https://yourdomain.com/pay/notify", // 回调地址(备案域名)
      tradeType: "JSAPI", // 微信小程序支付固定类型
      openid: wx.getStorageSync("openid") // 用户唯一标识(需通过微信登录获取)
    },
    header: {
      "Content-Type": "application/json",
      "sign": this.getSign(data) // 按易支付规则生成签名(防篡改)
    }
  });

  if (res.data.code === 0) {
    // 3. 发起支付:调用微信原生wx.requestPayment(审核关键,不可用自定义支付页)
    wx.requestPayment({
      timeStamp: res.data.data.timeStamp,
      nonceStr: res.data.data.nonceStr,
      package: res.data.data.package,
      signType: "MD5",
      paySign: res.data.data.paySign,
      success: (payRes) => {
        if (payRes.errMsg === "requestPayment:ok") {
          wx.showToast({ title: "支付成功" });
          // 4. 权益交付:跳转课程页面(无延迟,体验合规)
          wx.navigateTo({ url: `/pages/course/learn?courseId=C001` });
        }
      },
      fail: (err) => {
        wx.showToast({ title: `支付失败:${err.errMsg}`, icon: "none" });
        // 5. 订单状态同步:调用易支付查询接口,确认支付状态(避免回调延迟)
        this.queryOrder(res.data.data.orderId);
      }
    });
  }
}

// 6. 回调处理:服务端接收易支付回调,更新订单状态(微信审核需提供回调日志)
// 服务端Node.js示例(需部署在备案域名下)
app.post("/pay/notify", (req, res) => {
  const notifyData = req.body;
  // 验证易支付签名(防伪造)
  if (verifyYipaySign(notifyData)) {
    if (notifyData.tradeStatus === "SUCCESS") {
      // 更新订单为已支付,开通课程权限
      updateOrderStatus(notifyData.outTradeNo, "PAID");
      grantCourseAccess(notifyData.attach);
    }
    res.send("success"); // 必须返回“success”,否则易支付会重复回调
  } else {
    res.send("fail");
  }
});

(3)微信审核重点注意事项

  • 商品页面需 “三明确”:名称明确(无 “神秘课程”“惊喜礼包”)、价格明确(无 “低价入口”“限时隐藏优惠”)、内容明确(无 “包过”“必赚” 等违规承诺);

  • 支付页需用微信原生:不可自定义支付页面(如易支付 H5 支付页),必须通过wx.requestPayment唤起微信官方支付弹窗;

  • 提供测试账号:提审时在 “版本描述” 中填写测试账号(如 “测试账号:13800138000,密码:123456”),并备注 “易支付接口已配置,测试支付可使用 0.01 元订单”,方便审核人员快速验证。

2. 个人主体微信小程序:易支付间接适配方案(规避个人无支付权限问题)

个人微信小程序无法直接接入微信支付,需通过易支付的 “个人合规渠道”(如聚合个人收款工具)间接实现,核心是 “场景合规 + 无跳转”:

  • 资质准备:易支付个人商户号(需身份证、个人银行卡)、微信小程序个人认证(免费,需身份证);

  • 场景限制:仅支持 “单次服务 / 单次虚拟商品”(如 “设计 1 张海报 - 99 元”“1 节视频课 - 19 元”),禁止 “会员订阅”“充值” 等虚拟订阅场景;

  • 接口调用差异:调用易支付 “个人收款接口”(而非企业微信支付接口),支付页仍需在小程序内完成,通过易支付提供的小程序组件唤起支付(如yipay-wxmp-component),不可跳转外部链接;

  • 审核备注:在提审描述中说明 “使用易支付个人合规收款渠道,无违规跳转,资金直达个人银行卡”,并提供易支付个人商户资质截图(辅助审核)。

(二)抖音小程序:易支付接口适配(企业主体专属)

抖音小程序仅允许企业主体接入支付,且需通过 “抖音电商罗盘” 完成合规备案,易支付接口需适配抖音 “担保支付” 逻辑,避免违规。

1. 资质与接口核心要求

  • 必备资质:抖音小程序企业认证(需营业执照)、抖音电商资质备案(需提交行业相关资质,如教育类需《办学许可证》)、易支付企业商户号(需与抖音小程序主体一致);

  • 接口关键配置

    1. 在抖音小程序后台 “支付设置” 中,选择 “第三方支付”,配置易支付接口信息(MchID、回调地址);

    2. 将易支付域名添加至抖音小程序 “request 合法域名”,且域名需完成抖音备案(通过抖音 “域名管理” 提交备案申请);

    3. 易支付接口需支持 “抖音担保支付” 模式(即用户支付后资金先存于抖音担保账户,确认收货 / 权益到账后再结算给商户),避免 “即时到账” 触发审核风险。

2. 审核避坑要点

  • 禁止虚拟支付(iOS 端):抖音小程序 iOS 端禁止所有虚拟商品支付(如课程、激活码),若需适配 iOS,需仅在 Android 端展示支付入口,iOS 端提示 “请在 Android 设备购买”;

  • 商品需 “抖音类目匹配”:在抖音小程序后台 “商品管理” 中创建商品,类目需与支付场景一致(如 “教育 - 在线课程” 类目不可用于 “工具 - 软件激活码” 支付),且商品信息需通过抖音审核;

  • 回调需同步抖音状态:易支付回调后,需调用抖音 “订单同步接口”,将支付结果同步至抖音后台,避免抖音因 “订单状态不同步” 驳回。

(三)支付宝小程序:易支付接口适配(企业 / 个人均支持)

支付宝小程序对个人主体开放支付权限(需个人实名认证),易支付接口适配需符合支付宝 “生活号支付” 或 “小程序支付” 规范:

  • 资质准备:企业 / 个人支付宝账号(完成实名认证)、易支付商户号(绑定对应支付宝账号);

  • 接口配置:在支付宝开放平台 “小程序设置” 中,添加易支付回调地址(需为 HTTPS 备案域名),并开通 “支付宝小程序支付” 权限;

  • 审核重点:支付流程需包含 “订单确认页”(明确展示商品信息、金额、支付方式),不可直接跳转支付;易支付接口返回的支付参数需符合支付宝 “alipay.trade.create” 接口规范,确保唤起支付宝官方支付弹窗。

三、通用审核优化:提升易支付方案通过率的 5 个技巧

  1. 文档准备充分:提审时附加 “易支付接口对接说明文档”,包含接口调用流程图、核心参数配置截图、回调处理逻辑说明,证明方案合规;

  2. 异常场景处理:在支付流程中添加 “异常兜底”(如支付超时提示 “请点击刷新订单状态”、支付失败提供 “联系客服” 入口),避免用户操作卡住,审核时体现体验完整性;

  3. 日志留存可查:在易支付商户后台开启 “交易日志”“回调日志” 功能,提审时备注 “可在易支付后台查看测试订单日志,路径:商户中心 - 交易管理 - 日志查询”,方便审核人员核验;

  4. 避开审核高峰:选择周二至周四上午提交审核(避开周一高峰、周五临近下班时段),企业主体可申请平台 “加急审核”(如微信小程序企业认证用户有加急权益);

  5. 驳回后精准修改:若审核驳回,根据驳回原因针对性调整(如 “商品描述模糊” 则补充商品详情,“支付页非原生” 则改用平台官方支付接口),重新提审时在备注中明确 “已修复 XX 问题,修改位置:XX 页面 XX 代码”。

四、风险防控:确保易支付方案长期合规

  1. 定期同步平台规则:关注微信、抖音、支付宝小程序 “支付规则更新公告”(如微信小程序 2024 年新增 “虚拟商品退款规范”),及时调整易支付接口调用逻辑;

  2. 控制交易规模:新上线的易支付方案,初期控制单日订单量(如≤50 单)、单订单金额(如≤200 元),避免因 “高频大额交易” 触发平台风控;

  3. 留存合规凭证:保存易支付商户资质、平台支付权限开通截图、订单交易日志至少 6 个月,若平台抽查,可快速提供合规证明。

通过以上方案,易支付小程序接口可符合主流平台的支付审核标准,既实现 “创建订单 - 发起支付 - 结果同步 - 权益交付” 的闭环,又规避违规风险,适配企业 / 个人主体的不同场景需求。


返回顶部