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