小程序模板:专业的小程序模板与静态模板分享平台
小程序
教程
搜索
当前位置 : 首页> 小程序教程> 微信小程序:wx.requestMerchantTransfer,用户发起提现,商家转账给用户,用户确认收款

微信小程序:wx.requestMerchantTransfer,用户发起提现,商家转账给用户,用户确认收款

一、核心流程架构

用户提现申请 → 商户发起转账 → 调起微信确认页 → 用户确认收款 → 资金入账零钱

二、具体实现步骤

1. 资质准备与配置

  • 商户资质:仅支持企业商户(个体工商户暂不可用),需开通微信支付商家转账功能

  • 场景配置:在微信商户平台「产品中心」选择转账场景(如佣金报酬、活动奖励等)

  • 运营账户:需单独开通并充值,转账资金需从运营账户支出(与基本账户隔离)

2. 前端提现交互开发

// 提现按钮点击事件
handleWithdraw() {
  // 检测转账能力
  if (wx.requestMerchantTransfer) {
    wx.requestMerchantTransfer({
      mchId: '1230005601',  // 商户号
      appId: 'wx1234567890',  // 关联的AppID
      package: 'prepay_id=wx20250424123456...',  // 预支付凭证
      openId: 'oUpF8uMuAJO_M2px...',  // 提现用户openid
      success: (res) => {
        console.log('转账请求成功', res)
      },
      fail: (err) => {
        uni.showToast({ title: '转账请求失败,请重试', icon: 'error' })
      }
    })
  }
}


3. 服务端关键处理

// Node.js 转账预支付示例
const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event) => {
  // 获取access_token(需缓存)
  const tokenRes = await cloud.callFunction({
    name: 'getAccessToken' 
  })
  
  // 构造转账请求
  const transferRes = await cloud.openapi.uniformMessage.send({
    touser: event.openid,
    weapp_template_msg: {
      template_id: '转账模板ID',
      page: 'pages/withdraw/confirm',
      data: {
        keyword1: { value: '¥66.88' },  // 金额
        keyword2: { value: '活动奖励' },  // 转账类型
        keyword3: { value: '2025-04-24 14:30' } // 有效期
      }
    }
  })
  return transferRes
}


联系客服 意见反馈

签到成功!

已连续签到1天,签到3天将获得积分VIP1天

知道了