Stripe Checkout - проверка бэкенда - неиспользованный токен - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть небольшой интерфейс формы, где пользователи могут добавлять сумму денег, которую они хотят загрузить в свой аккаунт. Пользователи должны загрузить минимальную сумму денег. Поэтому мне нужно отказаться, если пользователи выставят сумму меньше определенной суммы (т. Е. 50 долларов США).

У меня есть проверка JS на месте для формы для минимальной загрузки. Пользователи вводят желаемую сумму и нажимают кнопку «Оформить заказ». После оформления заказа полоса js api возвращается с токеном. Токен с другими данными (например, сумма, валюта) отправляются на сервер.

Теперь мне нужно проверить сумму на сервере. Я могу проверить сумму и распечатать сообщение об ошибке, если оно не подтверждено. Токен, который создал полоса js api, останется неиспользованным, если проверка отклонена.

Мой вопрос: какие проблемы могут возникнуть, если я не использую токен?

1 Ответ

0 голосов
/ 20 сентября 2018

Так что на самом деле вам не нужно проверять на вашем сервере.Если вы попытаетесь вызвать Create Charge API Endpoint со значением меньше минимального (в любой валюте), Stripe просто выдаст ошибку (400 Bad Request).

Пример на Python:

>>> stripe.Charge.create(amount=49, currency="usd", source="tok_visa")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/lib/python2.7/site-packages/stripe/api_resources/abstract/createable_api_resource.py", line 17, in create
response, api_key = requestor.request('post', url, params, headers)
  File "~/lib/python2.7/site-packages/stripe/api_requestor.py", line 153, in request
resp = self.interpret_response(rbody, rcode, rheaders)
  File "~/lib/python2.7/site-packages/stripe/api_requestor.py", line 365, in interpret_response
self.handle_error_response(rbody, rcode, resp.data, rheaders)
  File "~/lib/python2.7/site-packages/stripe/api_requestor.py", line 178, in handle_error_response
raise err

stripe.error.InvalidRequestError: Request req_xxx: Amount must be at least 50 cents
...