Как сделать несколько платежей с помощью токена, созданного клиентом с использованием полосы?

Я получаю сообщение об ошибке при оплате с использованием токена, созданного пользователем, ранее созданным с использованием Stripe. Мне нужно иметь возможность взимать плату с пользователя более одного раза, чтобы платежи могли приходить на несколько пунктов назначения, поэтому я создаю токен. Тем не менее, при попытке зарядить кого-либо, используя следующий код, я получаю сообщение об ошибке:

Неустранимая ошибка: необработанное исключение «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
));

Любая помощь будет очень ценится,

Спасибо

0

Решение

В полосе любой токен, который вы получили / создаете, один раз, поэтому вы не можете использовать токен дважды.
Stripe поддерживает обвинения тремя способами.

  1. Использование карточного токена
  2. Используя токен (вы делаете)
  3. Используя идентификатор клиента

Так что в вашем случае просто используйте идентификатор клиента вместо токена, чтобы взимать плату с клиента несколько раз. CustomerId не истекает.

Поэтому внутри объекта начисления используйте поле «клиент»

Вы можете увидеть объект заряда здесь полоса

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]