如何使用使用条带从客户创建的令牌进行多次付款?

时间:2016-05-05 20:08:10

标签: php stripe-connect stripe.net

我在使用先前使用条带创建的客户创建的令牌进行收费时收到错误。我需要能够多次向用户收费,因此可以将费用转到多个目的地,这就是我创建令牌的原因。但是,当尝试使用以下代码向任何人收费时,我收到错误:

致命错误:未捕获的异常' Stripe \ Error \ InvalidRequest'消息'没有这样的标记:tok_187sfmBqiK1u6WYC3qS20eNu'

$ stripe_id和其他变量已在我的代码中分配,我只是复制/粘贴主要位:

\Stripe\Stripe::setApiKey("sk_mykey-changedforsecurity");   // authorises secret key


$token = $_POST['stripeToken'];


$customer = \Stripe\Customer::create(array(
  "description" => "test customer",
  "source" => $token // obtained with Stripe.js
));


$chargetoken = \Stripe\Token::create(
  array("customer" => $customer->id),
  array("stripe_account" => $stripe_id) // id of the connected account
);


 $charge = \Stripe\Charge::create(array(
    "amount" => $price, 
    "currency" => "gbp", 
    "source" => $chargetoken, 
    "description" => $title, 
    "application_fee" => 20, 
    "destination" => $stripe_id
    )); 

非常感谢任何帮助,

由于

1 个答案:

答案 0 :(得分:1)

在条带中,您获得/创建的任何令牌都是一次,因此您无法使用令牌两次。 Stripe以3种方式支持收费。

  1. 使用卡片令牌
  2. 使用令牌(你正在做)
  3. 使用客户ID
  4. 因此,在您的情况下,只需使用客户ID而不是令牌来多次向客户收费。 CustomerId不会过期。

    因此内部充电对象使用“客户”字段

    您可以在此处查看充电对象stripe