EasyWechat 4.x 微信小程序企业付款到零钱
2024-09-12
43
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. 执行提现
特别注意: 证书配置错误时会抛出异常, 而不是以返回值的形式返回
use EasyWeChat\Factory;
$config = [
// 必要配置
'app_id' => 'xxxx',//小程序APPID
'mch_id' => 'your-mch-id',//商户ID
'key' => 'key-for-signature', // 商户API 密钥
// 如需使用敏感接口(如企业付款、退款、公众号发送现金红包等)需要配置 API 证书
'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!!
];
$app = Factory::payment($config);
// 执行企业付款到零钱
$result = $app->transfer->toBalance([
'partner_trade_no' => '1233455', // 商户订单号,具有唯一性(只能是字母或者数字)
'openid' => 'oxTWIuGaIt6gTKsQRLau2M0yL16E', // 提现用户openid
'check_name' => 'FORCE_CHECK', // NO_CHECK:不校验姓名, FORCE_CHECK:强校验真实姓名
're_user_name' => '王小帅', // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
'amount' => 10000, // 企业付款金额,单位为分
'desc' => '提现', // 企业付款操作说明信息。必填
]);
3. 提现成功返回值
return_code
通信标识, 表示接口是否请求成功, 而不是交易标识, 不能用于判断提现结果
result_code
业务结果标识, 当其值为 SUCCESS
时表示 提现成功
执行提现应使用try catch
捕获错误, 因为当证书文件错误时是抛出异常, 而不是以返回值的形式返回
try {
$result = $app->transfer->toBalance();
} catch (\Throwable $e) {
fault($e->getMessage());
}
if ( !empty($result['result_code']) && $result['result_code'] === 'SUCCESS') {
// 提现成功
} else {
// 提现失败
}
[
'return_code' => 'SUCCESS',
'return_msg' => NULL,
'mch_appid' => 'wxb80ec74221f8a9ff',
'mchid' => '1538483281',
'nonce_str' => '60af3d9658162',
'result_code' => 'SUCCESS',
'partner_trade_no' => 'TX202105271435025469',
'payment_no' => '10101052430722105279091545815496',
'payment_time' => '2021-05-27 14:34:59',
]
4. 提现失败返回值 (常见场景)
开启检验用户名并且验证失败时
[
'return_code' => 'SUCCESS',
'return_msg' => '参数错误:没有找到对应校验用户姓名选项.',
'result_code' => 'FAIL',
'err_code' => 'PARAM_ERROR',
'err_code_des' => '参数错误:没有找到对应校验用户姓名选项.',
]
提现金额小于 0.3 元
更新于:2个月前[
'return_code' => 'SUCCESS'
'return_msg' => '支付失败'
'mch_appid' => 'wxb80ec74221f8a9ff'
'mchid' => '1538483281'
'result_code' => 'FAIL'
'err_code' => 'AMOUNT_LIMIT'
'err_code_des' => '付款金额超出限制。低于最小金额0.30元或累计超过5000.00元。'
]
赞一波!
相关文章
- 【说站】java程序编好了怎么运行
- 【说站】java程序怎么运行
- 【说站】python程序的执行原理
- 10个技巧优化PHP程序Laravel 5框架
- jwt 小程序接口鉴权 【firebase 6.x】
- 微信小程序用户隐私保护协议填写范本
- 小程序中商家入驻提醒、新订单提醒
- 微信小程序中的支付宝支付
- uniapp 微信小程序 控制台警告和错误处理
- 微信小程序内容安全检测(敏感词、敏感图)
- ThinkPHP6.0 + EasyWechat 4.x 公众号自动回复
- EasyWechat 4.x JSAPI 微信支付
- 微信小程序订阅消息
- 小程序客服会话
- 获取用户授权的手机号【微信小程序】
- EasyWechat 4.x 微信小程序订阅消息
- 小程序测试号、公众号测试号
- EasyWechat 3.x 小程序客服消息自动回复
- EasyWeChat 生成小程序码报错 cURL错误 60
- 微信小程序 wx.requestPayment({}) 唤起微信支付
文章评论
评论问答