当前位置:首页 > 编程技术 > 正文内容

EasyWechat 4.x 微信小程序企业付款到零钱

yc8881年前 (2023-01-06)编程技术211

EasyWechat 4.x 微信小程序企业付款到零钱

1. 前言


单次提现金额要求在 0.3 元 - 5000 元之间

企业付款到零钱需要使用商户证书, 当配置的证书错误时会抛出异常, 而不是以返回值的形式返回

EasyWechat 4.x 企业付款 : https://easywechat.com/docs/4.x/payment/transfer

微信支付开发文档 : https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1

2. 执行提现


特别注意: 证书配置错误时会抛出异常, 而不是以返回值的形式返回

  1. use EasyWeChat\Factory;
  2. $config = [
  3. // 必要配置
  4. 'app_id' => 'xxxx',//小程序APPID
  5. 'mch_id' => 'your-mch-id',//商户ID
  6. 'key' => 'key-for-signature', // 商户API 密钥
  7. // 如需使用敏感接口(如企业付款、退款、公众号发送现金红包等)需要配置 API 证书
  8. 'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
  9. 'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!!
  10. ];
  11. $app = Factory::payment($config);
  12. // 执行企业付款到零钱
  13. $result = $app->transfer->toBalance([
  14. 'partner_trade_no' => '1233455', // 商户订单号,具有唯一性(只能是字母或者数字)
  15. 'openid' => 'oxTWIuGaIt6gTKsQRLau2M0yL16E', // 提现用户openid
  16. 'check_name' => 'FORCE_CHECK', // NO_CHECK:不校验姓名, FORCE_CHECK:强校验真实姓名
  17. 're_user_name' => '王小帅', // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
  18. 'amount' => 10000, // 企业付款金额,单位为分
  19. 'desc' => '提现', // 企业付款操作说明信息。必填
  20. ]);

3. 提现成功返回值


return_code 通信标识, 表示接口是否请求成功, 而不是交易标识, 不能用于判断提现结果

result_code 业务结果标识, 当其值为 SUCCESS 时表示 提现成功

执行提现应使用try catch捕获错误, 因为当证书文件错误时是抛出异常, 而不是以返回值的形式返回

  1. try {
  2. $result = $app->transfer->toBalance();
  3. } catch (\Throwable $e) {
  4. fault($e->getMessage());
  5. }
  6. if ( !empty($result['result_code']) && $result['result_code'] === 'SUCCESS') {
  7. // 提现成功
  8. } else {
  9. // 提现失败
  10. }
  1. [
  2. 'return_code' => 'SUCCESS',
  3. 'return_msg' => NULL,
  4. 'mch_appid' => 'wxb80ec74221f8a9ff',
  5. 'mchid' => '1538483281',
  6. 'nonce_str' => '60af3d9658162',
  7. 'result_code' => 'SUCCESS',
  8. 'partner_trade_no' => 'TX202105271435025469',
  9. 'payment_no' => '10101052430722105279091545815496',
  10. 'payment_time' => '2021-05-27 14:34:59',
  11. ]

4. 提现失败返回值 (常见场景)


开启检验用户名并且验证失败时

  1. [
  2. 'return_code' => 'SUCCESS',
  3. 'return_msg' => '参数错误:没有找到对应校验用户姓名选项.',
  4. 'result_code' => 'FAIL',
  5. 'err_code' => 'PARAM_ERROR',
  6. 'err_code_des' => '参数错误:没有找到对应校验用户姓名选项.',
  7. ]

提现金额小于 0.3 元

  1. [
  2. 'return_code' => 'SUCCESS'
  3. 'return_msg' => '支付失败'
  4. 'mch_appid' => 'wxb80ec74221f8a9ff'
  5. 'mchid' => '1538483281'
  6. 'result_code' => 'FAIL'
  7. 'err_code' => 'AMOUNT_LIMIT'
  8. 'err_code_des' => '付款金额超出限制。低于最小金额0.30元或累计超过5000.00元。'
  9. ]

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10337.html

标签: EasyWeChat
分享给朋友:

“EasyWechat 4.x 微信小程序企业付款到零钱” 的相关文章

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...

【说站】Java从resources读取文件内容的方法有哪些

【说站】Java从resources读取文件内容的方法有哪些

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├── main│ ├── java│ │ └── ...

【说站】使用systemctl配置dnspod-shell实现ddns

【说站】使用systemctl配置dnspod-shell实现ddns

这个是毛子路由器上用的脚本,由于碳云的nat服务器公网IP不断的变,因此只好通过ddns来稳定连接nat服务器了。顺便水一篇文章,大家新年快乐。使用前需要将域名添加到 DNSPod 中,并添加一条A记...

【说站】Python获取最新疫情数据实现动态地图实时展示各地情况

【说站】Python获取最新疫情数据实现动态地图实时展示各地情况

疫情降临转眼已经第三年了,时间过得真快,愿疫情早点结束,世界不再多灾多难。最近疫情稍微好转一些了,所以咱们获取一下最新的疫情数据,做个可视化地图看看。效果展示获取到的数据咱们保存到表格可视化地图颜色是...