如何使用从客户使用Stripe创建的令牌进行多次支付?
我在使用从之前使用Stripe创建的客户创建的令牌进行计费时出错。我需要能够向用户收取多次费用,以便费用可以到达多个目的地,这就是我创建令牌的原因。但是,当尝试使用以下代码向任何人收费时,我收到错误:
致命错误:未捕获异常‘StripeErrorInvalidRequest’,消息为‘No That Token:TOK_187sfmBqK1u6WYC3qS20eNu’
$stripe_id和其他变量已在我的代码中赋值,我只是复制/粘贴主要部分:
StripeStripe::setApiKey("sk_mykey-changedforsecurity"); // authorises secret key
$token = $_POST['stripeToken'];
$customer = StripeCustomer::create(array(
"description" => "test customer",
"source" => $token // obtained with Stripe.js
));
$chargetoken = StripeToken::create(
array("customer" => $customer->id),
array("stripe_account" => $stripe_id) // id of the connected account
);
$charge = StripeCharge::create(array(
"amount" => $price,
"currency" => "gbp",
"source" => $chargetoken,
"description" => $title,
"application_fee" => 20,
"destination" => $stripe_id
));
如有任何帮助,我们将不胜感激
谢谢
解决方案
在条带中,您获得/创建的任何令牌都是一次性的,因此不能使用两次。 Stripe以3种方式支持收费。
- 使用卡令牌
- 使用令牌(您正在进行)
- 使用客户ID
因此内部计费对象使用"Customer"字段
您可以在这里看到Charge对象stripe
相关文章