微信分账是微信支付提供的一项功能,允许商户将支付款项按比例分给多个接收方。以下是微信分账的 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 密钥和证书路径。根据实际需求,调整分账请求参数即可实现分账功能。
网友回复


