微信分账是微信支付提供的一项功能,允许商户将支付款项按比例分给多个接收方。以下是微信分账的 PHP 示例代码,展示如何调用微信分账接口。
前提条件注册微信商户号:确保你已经注册了微信商户号,并且开通了分账功能。获取 API 密钥:确保你有微信支付的 API 密钥。安装必要的 PHP 扩展:确保你的 PHP 环境安装了 cURL 和 OpenSSL 扩展。安装微信支付 SDK为了简化与微信支付 API 的交互,可以使用微信支付的 PHP SDK。这里推荐使用 overtrue/wechat SDK。
使用 Composer 安装 SDK:
composer require overtrue/wechat示例代码
以下是一个调用微信分账接口的示例代码:
<?php
require 'vendor/autoload.php';
use EasyWeChat\Factory;
// 配置
$config = [
'app_id' => 'your-app-id', // 公众号 APPID
'mch_id' => 'your-mch-id', // 商户号
'key' => 'your-api-key', // API 密钥
'cert_path' => 'path/to/your/apiclient_cert.pem', // 证书路径
'key_path' => 'path/to/your/apiclient_key.pem', // 密钥路径
];
$app = Factory::payment($config);
try {
// 分账请求参数
$params = [
'transaction_id' => '4200000404201909250000000000', // 微信支付订单号
'out_order_no' => 'P201909250001', // 商户分账单号
'receivers' => json_encode([
[
'type' => 'MERCHANT_ID', // 分账接收方类型
'account' => '1900000109', // 分账接收方账号
'amount' => 100, // 分账金额,单位为分
'description' => '分给商户1900000109', // 分账描述
],
[
'type' => 'PERSONAL_OPENID', // 分账接收方类型
'account' => 'oUpF8uMuAJO_M2pxb1Q9zNjWeS6o', // 分账接收方账号
'amount' => 100, // 分账金额,单位为分
'description' => '分给个人', // 分账描述
],
]),
];
// 调用分账接口
$result = $app->profit_sharing->create($params);
// 处理结果
if ($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS') {
echo "分账成功,分账单号:" . $result['order_id'];
} else {
echo "分账失败:" . $result['err_code_des'];
}
} catch (\Exception $e) {
echo "Error: " . $e->getMessage();
}
?> 说明配置项:
app_id:公众号或小程序的 APPID。mch_id:微信支付商户号。key:微信支付 API 密钥。cert_path 和 key_path:微信支付 API 证书和密钥路径。分账请求参数:
transaction_id:微信支付订单号。out_order_no:商户分账单号。receivers:分账接收方列表,必须是 JSON 格式的字符串。处理结果:
检查 return_code 和 result_code 是否为 SUCCESS 来判断分账请求是否成功。如果分账请求失败,可以通过 err_code_des 获取具体的错误信息。总结通过使用 overtrue/wechat SDK,可以方便地调用微信分账接口。确保你已经开通了分账功能,并且配置了正确的 API 密钥和证书路径。根据实际需求,调整分账请求参数即可实现分账功能。
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


