Обработка платежей через Paypal в Джанго-Оскар - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь настроить базовый сайт электронной коммерции, используя Django Oscar, и у меня возникли трудности.Большая часть проблемы связана с отсутствием примеров того, как подключить осмысленные (например, Paypal, Stripe, Braintree) способы оплаты и наличием неясных, о которых я никогда не слышал.

ЛибоКстати, я пытаюсь использовать django-oscar-paypal и следовать его документации.Компонент Paypal Express, кажется, работает в том смысле, что появляется кнопка, и происходит что-то похожее на проверку и обработку.

Однако, если я решу продолжить оформление заказа обычным способом (с надеждой заплатить картой)), Я перехожу на следующую страницу (сообщение в скобках мое)

enter image description here

Который является продуктом следующего шаблона:

{% extends "checkout/checkout.html" %}
{% load i18n %}

{% block title %}
    {% trans "Payment details" %} | {{ block.super }}
{% endblock %}

{% block checkout_nav %}
    {% include 'checkout/nav.html' with step=3 %}
{% endblock %}

{% block checkout_title %}{% trans "Enter payment details" %}{% endblock %}

{% block order_contents %}{% endblock %}
{% block shipping_address %}{% endblock %}
{% block shipping_method %}{% endblock %}
{% block payment_method %}{% endblock %}

{% block payment_details %}
    {% block payment_details_content %}
        <p>{% trans "(*** Message from ./templates/tshirt-theme/ ***) This page needs implementing within your project.  You may want to use one of Oscar's payment gateway libraries:" %}</p>
        <ul>
            <li><a href="https://github.com/django-oscar/django-oscar-paypal">django-oscar-paypal</a></li>
            <li><a href="https://github.com/django-oscar/django-oscar-datacash">django-oscar-datacash</a></li>
            <li><a href="https://github.com/django-oscar/django-oscar-gocardless">django-oscar-gocardless</a></li>
            <li><a href="https://github.com/django-oscar/django-oscar-paymentexpress">django-oscar-paymentexpress</a></li>
            <li><a href="https://github.com/django-oscar/django-oscar-accounts">django-oscar-accounts</a></li>
        </ul>
        <a id="view_preview" href="{% url 'checkout:preview' %}" class="btn btn-primary btn-lg">{% trans "Continue" %}</a>
    {% endblock payment_details_content %}
{% endblock payment_details %}

Когда я нажимаю «Продолжить», меня перенаправляют на страницу, напоминающую страницу предварительного заказа, на которой метод оплаты пуст.Когда я нажимаю на кнопку «Изменить», я возвращаюсь на страницу на скриншоте.

Мой вопрос: как мне получить кредитные карты для работы с этой настройкой?Есть ли лучший способ сделать это вообще?Я немного знаком с Django, но эта, казалось бы, простая задача, кажется, требует много знаний и / или много изобретений колеса.Последнее должно иметь место, потому что по этому вопросу нет документации или учебных пособий, но многие сайты якобы используют Django-Oscar.

Любая помощь или совет приветствуются.

1 Ответ

0 голосов
/ 12 июля 2018

Из репозитория django-paypal просмотрите код песочница , в частности папку templates , settings.py и urls.py .Я следовал инструкциям и добавил необходимые ключи PayPal в settings.py , а также urls.py , но не смог скопировать шаблоны, так как это было задокументировано менее тщательно.

Для меня, просто добавив, по крайней мере, те же шаблоны, что и в песочнице, заставив просматриваемый экран заменить рабочими кнопками PayPal.В частности, sandbox/templates/checkout/payment_details.html кажется тем, что отображается вместо этого напоминания, которое вы видите - обратите внимание, что шаблон имеет опции Express и Flow, поэтому используйте только то, что настроено для использования вашего сайта.

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