我正在尝试使用Stripe设置以下内容:
我创建了一个主帐户和一个子帐户。我已通过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)
?
主帐户和子帐户目前都在使用测试环境和假卡,但我也想测试实时交易。
答案 0 :(得分:2)
这里的第一个问题是您尝试重复使用卡片令牌,但这些是一次性使用,因此一旦您使用卡片令牌创建费用,您就无法创建新卡片。
如果您想向客户收取费用并在多个卖家之间分配付款,则需要使用shared customers。这是您需要遵循的流程:
如果我误解了所有商品都来自同一个卖家,你就不需要这么做了,你需要遵循这个流程:
access_token
在条带帐户中创建客户,并将其作为第二个参数传递给API调用。access_token
再次作为第二个参数,为客户购买的商品总金额计费。