沃梦达 / 编程问答 / php问题 / 正文

如何使用从客户使用Stripe创建的令牌进行多次支付?

How to make multiple payments using a token created from a customer using stripe?(如何使用从客户使用Stripe创建的令牌进行多次支付?)

本文介绍了如何使用从客户使用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种方式支持收费。

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

因此内部计费对象使用"Customer"字段

您可以在这里看到Charge对象stripe

这篇关于如何使用从客户使用Stripe创建的令牌进行多次支付?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何使用从客户使用Stripe创建的令牌进行多次支付?

基础教程推荐