DJ-Stripe не переключается на использование живой клавиши в режиме Live - PullRequest
0 голосов
/ 21 октября 2019

Я создаю способ оплаты, используя полосу. После обучения я смог успешно отправить тестовое пожертвование. Когда я перешел в живой режим и произвел оплату. В журнале показывалось, что оплата прошла успешно, статус 200 OK. Однако на стороне клиента django возвращает InvalidRequestError, No No token ... (см. Полное сообщение ниже).
Вот сообщение об ошибке:

InvalidRequestError at /membership/donate/500/
Request req_XjpOs2GYFxyP9K: No such token: tok_1FVm12LAhXPisFUbODE2xZhe; a similar object exists in live mode, but a test mode key was used to make this request.

В соответствии с телом ответа в полосежурнал, отсутствующий токен существует:

{
  "id": "tok_1FVm12LAhXPisFUbODE2xZhe",
  "object": "token",
  "card": {
    "id": "card_1FVm12LAhXPisFUberAeLysv",
    "object": "card",
    "address_city": null,
    ...
    "metadata": {
    },
    "name": "myemail@yahoo.com",
    "tokenization_method": null
  },
  "client_ip": "71.246.224.231",
  "created": 1571607164,
  "email": "myemail@yahoo.com",
  "livemode": true,
  "type": "card",
  "used": false
}

Чтобы завершить изображение, вот импортированные параметры настройки:

STRIPE_LIVE_MODE        True
STRIPE_LIVE_PUBLIC_KEY  '********************'
STRIPE_LIVE_SECRET_KEY  '********************'
STRIPE_PUBLISHABLE_KEY  '********************'
STRIPE_SECRET_KEY       '********************'
STRIPE_TEST_PUBLIC_KEY  '********************'
STRIPE_TEST_SECRET_KEY  '********************'

Параметры настройки показывают STRIPE_LIVE_MODE = True, и как public, так исекретные ключи установлены на живой с правильным написанием.

Странно то, что значение локальной переменной my_api_key в api_requester.py было тестовым секретным ключом, а не действительным секретным ключом, как должно быть.

Variable       Value
headers        None
method         'post'
my_api_key     'sk_test_xxxxxxxxxxxxx'
params  
{'amount': 500,
 'currency': 'usd',
 'description': 'Donation',
 'source': 'tok_1FVmr9LAhXPisFUbRrmADugj'}
rbody             
(b'{\n  "error": {\n    "code": "resource_missing",\n    "doc_url": "https://s'
 b'tripe.com/docs/error-codes/resource-missing",\n    "message": "No such to'
 b'ken: tok_1FVmr9LAhXPisFUbRrmADugj; a similar object exists in live mode, but'
 b' a test mode key was used to make this request.",\n    "param": "source",'
 b'\n    "type": "invalid_request_error"\n  }\n}\n')
rcode   400

Что я пропустил? Любая помощь будет очень высоко ценится! чел

1 Ответ

0 голосов
/ 21 октября 2019

Это потому, что вы установили STRIPE_SECRET_KEY в файле settings.py, попробуйте удалить его.

Посмотрите на код dj-stripe , вы увидите это:

# Default secret key
if hasattr(settings, "STRIPE_SECRET_KEY"):
    STRIPE_SECRET_KEY = settings.STRIPE_SECRET_KEY
else:
    STRIPE_SECRET_KEY = LIVE_API_KEY if STRIPE_LIVE_MODE else TEST_API_KEY

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...