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'       => 'NO_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元。'
]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值