通过Stripe Connect进行交易

Eam*_*onn 7 php stripe-payments stripe-connect

我正在尝试使用Stripe设置以下内容:

  • 一个主帐户
  • 多个子帐户(即通过Stripe Connect应用程序连接到主帐户)
  • 允许对子帐户进行付款,每次交易使用主帐户支付百分比费用.

我创建了一个主帐户和一个子帐户.我已通过Stripe Connect将子帐户连接到主帐户.我在Stripe Connect过程结束时收到并存储了access_token和refresh_token.

付款时,一次付款可以涵盖多个项目.我有以下代码(PHP)来处理付款:

Stripe_Charge::create(array(
    "amount" => $amt,
    "currency" => "EUR",
    "source" => $stripeCardToken,
    "description" => $description),
    "application_fee_percent" => 0.5
),
    $stripeAccessToken
);
Run Code Online (Sandbox Code Playgroud)

对于每个付费项目,这都放在一个循环中.它也位于具有多个Stripe异常捕获的try/catch块中.但是,此方法失败,不会引发任何错误.

这是正确的类方法吗?是信用卡令牌的"来源"字段吗?有没有办法在不使用循环的情况下跟踪针对多个项目支付的金额?是 $stripeAccessToken从Connect进程返回的子帐户的access_token,还是refresh_token?或者它是Master Account Publishable/Secret密钥?或者是其他东西?我可以将这种格式用于$ stripeAccessToken,还是必须Stripe::setApiKey($stripeAccessToken)在循环之前使用?

主账户和子账户目前都在使用测试环境和假卡,但我也想测试实时交易.

koo*_*jah 2

这里的第一个问题是,您尝试重复使用卡令牌,但这些令牌是一次性使用的,因此一旦您使用卡令牌创建费用,您就无法创建新的费用。

如果您想向客户收费并在多个卖家之间分摊付款,则需要使用共享客户。这是您的情况需要遵循的流程:

  • 使用可发布的 API 密钥为客户的卡详细信息创建卡令牌
  • 使用您的密钥在您的 Stripe 帐户中创建一个客户。
  • 对于每个卖家,您需要为客户创建一个令牌,然后使用该令牌在您的卖家账户中创建费用。您必须在此处为每个卖家创建单独的费用,但您不必多次向客户询问其银行卡详细信息。

如果我误解了,所有商品都来自同一卖家,您不需要执行所有这些操作,您需要遵循以下流程:

  • 使用您在 Connect 流程中获得的可发布 API 密钥,客户的卡详细信息创建卡令牌。
  • 使用您在 Connect 流程中获得的数据在他们 的 Stripe 帐户中创建一个客户access_token,并将其作为第二个参数传递给 API 调用。
  • access_token通过您在上一步中获得的客户 ID 和再次作为第二个参数,为客户购买的商品总额创建费用。