Я использую stripe
для управления своими транзакциями.Полоса возвращает тот же токен снова
У меня есть необходимость добавить клиента (если он еще не присутствует), а затем добавить карту к этому клиенту.
Теперь я должен получить маркер для обоих процессов, которые я сделал на
stripe.tokens.create({
card: {
"number": "4242424242424242",
"exp_month": "1",
"exp_year": "2019",
"cvc": "123"
}
}, function (err, token) {
// asynchronously called
if (token != null) {
//Do something
}
else {
//Do something
}
});
Теперь я звоню этот метод дважды, чтобы получить новый маркер каждый раз, чтобы добавить клиента, если нет и добавить карту этого клиента , Но каждый раз, когда я получаю такой же ответ, как я отправляю ту же информацию о карте.
1St
{
"id": "tok_16v4mvBR7e7FUB557PD3hOZc",
"object": "token",
"card": {
"id": "card_16v4mvBR7e7FUB55KD06kqJo",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"brand": "Diners Club",
"country": null,
"cvc_check": "unchecked",
"dynamic_last4": null,
"exp_month": 10,
"exp_year": 2021,
"fingerprint": "iE2uiiDxUFHRgpt1",
"funding": "credit",
"last4": "5904",
"metadata": {},
"name": null,
"tokenization_method": null
},
"client_ip": "51.25.52.52",
"created": 1444650501,
"livemode": false,
"type": "card",
"used": false
}
2nd
{
"id": "tok_16v4mvBR7e7FUB557PD3hOZc",
"object": "token",
"card": {
"id": "card_16v4mvBR7e7FUB55KD06kqJo",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"brand": "Diners Club",
"country": null,
"cvc_check": "unchecked",
"dynamic_last4": null,
"exp_month": 10,
"exp_year": 2021,
"fingerprint": "iE2uiiDxUFHRgpt1",
"funding": "credit",
"last4": "5904",
"metadata": {},
"name": null,
"tokenization_method": null
},
"client_ip": "55.55.55.55",
"created": 1444650501,
"livemode": false,
"type": "card",
"used": false
}
Проверьте, что каждое поле совпадает с первым.
Но если я хочу использовать тот же маркер, который я получаю в первый раз я получаю ошибку
Stripe Error 400 - Cannot use stripe token more than once
Так что мой вопрос, если я получаю один и тот же маркер снова, то почему он дает мне ошибку в использовании токен вернулся в первый раз для добавления клиента и для добавления карты для этого клиента.
Это может увеличить скорость моего сайта, если мне не нужно снова получать токен.
Отправка одной и той же информации о карте не будет генерировать один и тот же токен. Что вы делаете с токеном после его получения? Какая строка действительно выдает ошибку? –
Он генерирует тот же токен снова, я поставил ответ выше. Токен, я получаю его для двух целей. Сначала для сохранения клиента, а затем для сохранения карты для этого клиента. Ошибка при попытке отправить запрос на Stripe, используя тот же токен снова для создания кредитной карты. – lokopi
, когда вы сохраняете клиента, он автоматически создает карту, сохранение карты снова приведет к тому, что у клиента будут две одинаковые карты –