通过Stripe Connect进行交易

时间:2015-03-12 13:02:12

标签: php stripe-payments stripe-connect

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

  • 主帐户
  • 多个子帐户(即连接到Master 帐户通过Stripe Connect app)
  • 启用对付款的付款 子帐户,每个主帐户占用的百分比费用 事务。

我创建了一个主帐户和一个子帐户。我已通过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进程或refresh_token返回的$stripeAccessToken子帐户的access_token是什么?或者它是Master Account Publishable / Secret密钥?或者是其他东西? 我可以将此格式用于$ stripeAccessToken,还是必须在循环之前使用Stripe::setApiKey($stripeAccessToken)

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

1 个答案:

答案 0 :(得分:2)

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

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

  • 使用您的可发布的API密钥
  • 为客户的卡详细信息创建卡片令牌
  • 使用您的密钥在条带帐户中创建客户。
  • 对于您的每个卖家,您需要create a token为您所用的客户在卖家帐户中设置费用。您必须在此为每位卖家创建单独的费用,但您不必多次询问您的客户的卡详细信息。

如果我误解了所有商品都来自同一个卖家,你就不需要这么做了,你需要遵循这个流程:

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