【问题标题】:Transactions via Stripe Connect通过 Stripe Connect 进行的交易
【发布时间】:2015-05-14 15:43:38
【问题描述】:

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

  • 主账号
  • 多个子账户(即连接到Master 通过 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 块中。但是,此方法失败,没有抛出任何错误。

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

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

【问题讨论】:

    标签: php stripe-payments stripe-connect


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 感谢您的 koopajah。后一个示例是我正在寻找的。一个后续问题:有没有一种方法可以完成涵盖多个项目的单个事务,并在事务描述中注明每个项目(而不是仅仅创建一个非常长的字符串)?
    • 我能想到的唯一解决方案是为每个项目创建发票项目,然后创建发票将所有内容捆绑在一起
    • 为了清楚起见,您的意思是,如果您以 10 美元的价格出售了一个小部件,而将 9 美元卖给了您的两个不同的同事,您需要说向客户收取两次费用,比如 5 美元给 assoc。 Foo 并单独向 assoc 收取 4 美元的费用。酒吧。
    • @MCB:正确:support.stripe.com/questions/… 有这方面的详细信息
    猜你喜欢
    • 2013-05-14
    • 2022-01-23
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 2020-08-08
    • 2021-04-22
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多