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

Laravel平台Stripe收款后向厂商付款方案咨询

基于Laravel实现向厂商付款的方案(Stripe及替代方案)

一、Stripe官方解决方案:Stripe Connect

1. 核心流程

  • 先引导厂商注册Stripe Connect账户(你作为平台方需先在Stripe后台创建Connect平台)
  • 客户付款资金暂存至你的Stripe账户,待服务完成后,通过Stripe Transfer API将对应金额转到厂商的Connect账户
  • 可直接在转账时设置平台手续费,自动从转出金额中扣除

2. Laravel中实现的关键代码

先安装Stripe SDK:

composer require stripe/stripe-php

服务完成后触发转账的逻辑代码:

use Stripe\Stripe;
use Stripe\Transfer;

Stripe::setApiKey(env('STRIPE_SECRET_KEY'));

// 发起向厂商Connect账户的转账
$transfer = Transfer::create([
  'amount' => 9000, // 单位为分,示例为90美元
  'currency' => 'usd',
  'destination' => 'acct_xxxxxx', // 厂商的Stripe Connect账户ID
  'transfer_group' => 'order_12345', // 关联订单ID,方便后续对账
]);

3. 注意事项

  • 需在Stripe后台配置Connect平台的转账规则,比如延迟转账周期、手续费比例
  • 厂商必须完成Stripe Connect的身份验证流程,否则无法接收转账

二、替代方案:PayPal Payouts

若偏好PayPal生态,其Payouts功能可支持单笔/批量向厂商付款:

1. 核心流程

  • 厂商提供个人/企业PayPal邮箱
  • 客户付款至你的PayPal企业账户,服务完成后调用Payouts API完成转账

2. Laravel中实现要点

安装PayPal官方SDK:

composer require paypal/rest-api-sdk-php

转账代码示例:

use PayPal\Api\Payout;
use PayPal\Api\PayoutItem;
use PayPal\Api\Currency;

$payouts = new Payout();
$senderBatchHeader = new \PayPal\Api\PayoutSenderBatchHeader();
$senderBatchHeader->setSenderBatchId(uniqid())
  ->setEmailSubject('服务费用结算');

$payoutItem = new PayoutItem();
$payoutItem->setRecipientType('EMAIL')
  ->setReceiver('vendor@example.com')
  ->setAmount(new Currency(['value' => '90.00', 'currency' => 'USD']));

$payouts->setSenderBatchHeader($senderBatchHeader)
  ->addItem($payoutItem);

// 执行转账操作
$output = $payouts->create(null, $apiContext);

三、Laravel生态工具简化开发

可使用Laravel Cashier的Stripe Connect扩展,封装了Connect账户创建、转账等常用操作,减少重复代码:

composer require laravel/cashier-stripe

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:55:18