#ruby-on-rails #heroku #stripe-payments
#ruby-on-rails #heroku #stripe-платежи
Вопрос:
Недавно я сменил свои учетные записи Stripe и в процессе также переключился с тестовых на живые. Я постоянно получаю сообщение об ошибке от Stripe, когда отправляю настоящую кредитную карту для оплаты:
StripeResponse.error.message = "Your request was in test mode but used a non test card"
Проверка переменных:
$ heroku config -r production
>> ...
STRIPE_API_KEY: sk_live_XXXXXXXXXXXXXX
STRIPE_PUBLIC_KEY: pk_live_XXXXXXXXXXXXXX
Значения этих ключей соответствуют значениям в моих настройках Stripe. Моя панель управления Stripe также переведена в режим реального времени. Похоже, в моем приложении что-то осталось с тех пор, как я тестировал, но я не могу понять, что это.
Что может указывать Stripe на то, что я нахожусь в тестовом режиме?
Ответ №1:
Убедитесь, что вы используете свой текущий ключ API
heroku run console
После подключения к консоли
puts Stripe.api_key
Соответствует ли результат вашему ключу live API?
Комментарии:
1. Я проверил это в своих настройках Heroku, и это действительно живой api и доступные для публикации ключи. Возможно ли, что панель мониторинга неверна?
2. Прояснил мой первоначальный вопрос.
3. Вы перезапустили свои операционные системы Heroku (или перераспределили) после обновления ключей API?
4. Я перераспределял около дюжины раз в процессе отладки, так что да.
5. Может быть, он использует жестко закодированный ключ откуда-то еще? Вы убедились, что
Stripe.api_key
в консоли heroku отображается правильный ключ?