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. 执行提现
特别注意: 证书配置错误时会抛出异常, 而不是以返回值的形式返回
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 元
[
'return_code' => 'SUCCESS'
'return_msg' => '支付失败'
'mch_appid' => 'wxb80ec74221f8a9ff'
'mchid' => '1538483281'
'result_code' => 'FAIL'
'err_code' => 'AMOUNT_LIMIT'
'err_code_des' => '付款金额超出限制。低于最小金额0.30元或累计超过5000.00元。'
]
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。