7

我正在尝试使用 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
);

这被放置在一个循环中,用于支付的每个项目。它也在一个带有多个 Stripe 异常捕获的 try/catch 块中。但是,此方法失败而不会引发任何错误。

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

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

4

1 回答 1

2

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

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

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

万一我误解了,所有物品都来自同一个卖家,你不需要做这一切,你需要遵循这个流程:

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