基于微信云开发的商家转账至零钱

news/2025/2/12 19:50:18/

基于微信云开发的商家转账至零钱

    • 相关简介
    • 开通功能
    • 阅读文档
    • 技术框架
    • 配置环境
    • 编写代码
    • 注意事项
    • 相关参考

相关简介

本篇文章主要介绍如何通过微信云开发的云函数实现商家转账到零钱。(让那些没有服务器的程序员也可以练练手)

开通功能

微信官方文档

  • 本菜开发时开通条件是“连续正常交易30天且账户开通90天”,所有就连续30天转入自己账户小额金钱,幸好是去年开通的商户,所有90天是满足的。

  • 满足条件后就可以在【商户平台】【产品中心】开通【商家转账到零钱】,按照要求配置就行。

  • 此外还需要在【商户平台】【产品中心】开通【运营账号】,因为这些批量转账是通过运营账号发起的。

  • 还需要将在【云开发控制台】【云函数】中点击需进行配置云函数的【版本与配置】【配置】【高级配置】【固定公网IP】,确定之后复制ip地址。

  • 点击【产品中心】【商家转账到零钱】【产品设置】【设置IP白名单】即可。

阅读文档

产品介绍
准备工作
开发指引
API接口
相关插件

技术框架

采用wechatpay-axios-plugin这个插件完成Http的POST请求,并需要提前安装该插件的文档完成相关配置。
使用fs模块完成对证书、秘钥文件的读取。(需要将这两个文件放在这个云函数目录下)
在这里插入图片描述

配置环境

  • 安装fs模块npm install fs
  • 安装wechatpay-axios-plugin模块npm install wechatpay-axios-plugin
  • 安装yargs模块npm i yargs --no-save

编写代码

// 云函数入口文件
const fs = require('fs') // 文件读取模块
const cloud = require('wx-server-sdk')
const {Wechatpay, Formatter} = require('wechatpay-axios-plugin')
// 读取证书
const cert = fs.readFileSync('./apiclient_cert.pem', 'ascii')
const prikey = fs.readFileSync('./apiclient_key.pem', 'ascii')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {const wxpay = new Wechatpay({// 商户号mchid: '商户号',// 商户证书序列号serial: '商户证书序列号',// 商户API私钥 PEM格式的文本字符串或者文件bufferprivateKey: prikey,certs: {'插件生成的序列号': cert,},secret: '密钥',merchant: {cert: cert,key: prikey,},})console.log(wxpay)return wxpay.v3.transfer.batches.post({// mchid: "1604163157 ",appid: 'AppID',out_batch_no:"订单号",batch_name:"demo",batch_remark:'测试',total_amount:100,total_num:1,transfer_detail_list:[{out_detail_no:'x23zy427Bd5436',transfer_amount:100,transfer_remark:'测试',openid:'openID',}]}).then(res=>{console.log(res.data)return res}).catch(({response: {status, statusText, data}}) => console.error(status, statusText, data))
}

注意事项

  1. 若在微信开发工具终端执行代码遇到如下问题在这里插入图片描述
    说明需要配置一下:
  • 首先使用管理员身份运行微信开发工具
  • 打开终端
  • 执行Set-ExecutionPolicy Unrestricted
    在这里插入图片描述
  1. 若提示验签失败,则需要检查相关信息是否正确。
  2. 若提示余额不足,则需要对【运营账户】进行充值。

相关参考

  1. 插件文档
  2. 官方文档
  3. 更改终端权限

http://www.ppmy.cn/news/654991.html

相关文章

【Wechat】微信支付APIV3(商户) 接入批量转账到零钱

​ 微信支付V3(商户)》批量转账到零钱 微信支付V3版本,微信SDK,内部封装了部分方法,参照着官方Demo,下载地址: GitHub - wechatpay-apiv3/wechatpay-apache-httpclient: 微信支付 APIv3 Apache HttpClie…

微信如何设置延迟到账 | 微信到账时间设置在哪里设置 | 微信转账后24小时/2小时/立即到账怎么设置

文章目录 1. 按2. 方法一:复制代码给好友3. 方法二:通过与腾讯客服聊天设置4. 方法三:通过在服务里设置 1. 按 延迟到账功能仅能延长到账时间,转账发起后不支持撤回或修改到账时间,转账前请仔细核对收款人信息。到账时…

微信支付服务器繁忙,微信转不了账了怎么回事?微信转账显示系统繁忙怎么办?...

微信转不了账了怎么回事?微信转账显示系统繁忙怎么办?今天好多小伙伴都遇到了微信转不了账的情况,微信服务器今日下午出现故障,部分用户微信无法转账,从其他APP分享文章、音乐到微信则提示当前网络不可用。那么具体微信…

微信支付:商家转账到零钱的开发

主要所需:1、微信商户平台的证书apiclient_cert.pem 2、微信商户平台证书的密钥apiclient_key.pem 3、微信商户平台的证书的序列号 一、转账所需字段 public class WxTransferAccounts {private String appid;// 小程序ID private String out_batch_no;// 商家批次…

微信支付转账到银行卡 加密问题解决方法

[TOC]微信支付转账到银行卡 加密问题解决方法 java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法 java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法 1.查看/etc/profile下JAVA_HOME…

微信24小时到账_最新微信转账延迟24小时到账骗局

原标题:最新微信转账延迟24小时到账骗局 微信有个转账延时到账的设置,可以设置延迟2小时到账或者延迟24小时到账,本来这个设置是为了防止用户转错账设置的,原本出于好意的设计,但却被骗子钻了漏洞。这不最近骗子又有利…

微信支付商户号商家转账到零钱现金红包如何开通

微信作为现在用户群体最大的社交工具,自然也就成了众多商家做活动的首选渠道。企业付款到零钱作为商家营销必不可少的工具,开通起来却还是比较费劲的。 开通条件:1,商户号需入驻90天;2,需要有连续30天的交…

微信支付v3——批量转账到零钱(提现)

微信支付v3——批量转账到零钱(提现) 进入正题之前先吐槽一下微信官方文档吧!一开始在官网上下载了微信支付版本V3的Demo,下载下来基本上难以投入使用,要学会使用的话,就要去看源码,看文档,稍微错过一点就…