首页 文章

通过Stripe Connect进行交易

提问于
浏览
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块中 . 但是,此方法失败,不会引发任何错误 .

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

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

1 回答

  • 2

    这里的第一个问题是你试图重复使用卡片令牌,但这些是一次性使用的,所以一旦用卡片令牌创建费用,你就无法创建新的卡片令牌 .

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

    • 使用 your publishable API密钥为客户的卡详细信息创建卡令牌

    • 使用 your 密钥在条带帐户中创建客户 .

    • 对于您的每个卖家,您需要create a token为您的客户,然后您用来在卖家帐户中创建费用 . 您必须在此为每个卖家创建单独的费用,但您不必多次询问您的客户他的卡详细信息 .

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

    • 使用您在Connect流程中获得的 their publishable API密钥为客户的卡详细信息创建卡令牌 .

    • 使用您在Connect流程中获得的 their access_token 在其条带帐户中创建客户,将其作为第二个参数传递给API调用 .

    • 通过您在上一步获得的客户ID和 access_token 再次作为第二个参数,为客户购买的商品总金额计费 .

相关问题