You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PayPal订阅中配置商家分账并添加Merchant ID?

解决方案

一、Merchant ID/商家邮箱的配置位置

  • 你当前使用的Basic $headerForBasicAuth是通过PayPal的Client ID和Secret生成的身份凭证,这组凭证已经关联了你的主商家账户(对应你的Merchant ID)。
  • 如果需要给其他商家分账,直接在分账规则的配置中指定对方的Merchant ID或注册邮箱即可,无需在基础API请求头中额外添加。

二、分账规则的具体配置

PayPal订阅分账需通过payment_instruction字段实现,支持固定金额或按比例分配(比例需先计算为固定金额)。推荐在创建订阅时直接配置,也可在创建Plan时全局预设。

方法1:创建订阅时添加分账规则(灵活适配不同场景)

修改你创建Subscription的代码,在请求体中加入payment_instruction字段,示例如下:

//create subscription
$subPrice = $data['price'] == 1 ? $subscription->monthly_fee : $subscription->annual_fee;

$body = [
    'plan_id' => $plan->id,
    'application_context' => [
        'cancel_url' => 'http://laravel-paypal-example.test',
        'return_url' => 'http://laravel-paypal-example.test',
        'shipping_preference' => 'NO_SHIPPING',
    ],
    // 新增分账配置
    'payment_instruction' => [
        'platform_fees' => [
            [
                'amount' => [
                    'value' => bcdiv($subPrice, 2, 2), // 取订阅金额的一半,保留两位小数
                    'currency_code' => 'USD'
                ],
                'payee' => [
                    // 二选一:指定接收分账的商家ID
                    'merchant_id' => 'RECEIVER_MERCHANT_ID',
                    // 或者指定商家邮箱
                    // 'email_address' => 'merchant_receiver@example.com'
                ]
            ]
        ]
    ]
];
$response = $http->post($this->paypalModel->getBasePath().'/v1/billing/subscriptions', $body)->body();
$sub = json_decode($response);

方法2:创建Plan时预设分账规则(所有订阅自动生效)

如果所有基于该Plan的订阅都需要分账,可在创建Plan的请求体中添加相同的payment_instruction字段:

//create plan
$body = [
    'billing_cycles' => [/* 原有周期配置 */],
    'name' => "example plan",
    'payment_preferences' => [/* 原有支付偏好配置 */],
    'product_id' => $product->id,
    // 新增全局分账配置
    'payment_instruction' => [
        'platform_fees' => [
            [
                'amount' => [
                    'value' => bcdiv($subPrice, 2, 2),
                    'currency_code' => 'USD'
                ],
                'payee' => [
                    'merchant_id' => 'RECEIVER_MERCHANT_ID'
                ]
            ]
        ]
    ]
];

注意事项

  1. 确保你的PayPal账户已开启分账权限(需在商家后台申请对应的功能,如Partner Program或Advanced Payments)。
  2. 分账金额需符合PayPal的最小金额限制(比如USD需≥0.01)。
  3. 接收分账的商家账户需完成PayPal的身份验证,否则可能无法收款。

内容的提问来源于stack exchange,提问作者Roland Ritli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:55:21