Django - Полоса. Вы не установили действительный доступный для публикации ключ. Ошибка, возникающая при попытке инкорпорировать платежи с полосой на сайте django - PullRequest
0 голосов
/ 02 августа 2020

Я работаю над веб-сайтом книжного магазина django и, похоже, произошла ошибка с интеграцией полос. У меня есть страница заказов, на которой запрашивается платежная информация (сейчас я использую тестовый API). Я получаю ту же ошибку: «Вы не установили действительный публикуемый ключ. Вызовите Stripe.setPublishableKey () с вашим публикуемым ключом.»

orders / views.py

from django.conf import settings
from django.views.generic.base import TemplateView

class OrdersPageView(TemplateView):
    template_name = 'orders/purchase.html'

    def get_context_data(self, **kwargs):
        ##Stripe.setPublishableKey('PUBLISHABLE_KEY')
        context = super().get_context_data(**kwargs)
        context['stripe_key'] = settings.STRIPE_TEST_PUBLISHABLE_KEY
        return context

templates / orders /purchase.html

{% extends '_base.html' %}

{% block title %}Orders{% endblock title %}

{% block content %}
<h1>Orders page</h1>
<p>Buy for $39.00</p>
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="{{ stripe_key }}"
    data-description="All Books"
    data-amount="3900"
    data-locale="auto">
</script>
{% endblock content %}

1 Ответ

0 голосов
/ 02 августа 2020

В ваших формах вам нужны {% csrf_token %} и form action, которые переведут вас на страницу оплаты.

<form action="{% url 'charge' %}" method="post">
{% csrf_token %}

<h1>Orders page</h1>
<p>Buy for $39.00</p>

<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="{{ stripe_key }}"
    data-description="All Books"
    data-amount="3900"
    data-locale="auto">
</script>

</form>

Кроме того, если вы никогда не устанавливаете цены в своих шаблонах, это вызывает проблемы. Установите их в поле зрения.

...