【发布时间】:2018-11-07 15:07:48
【问题描述】:
我正在尝试使用 Django Oscar 建立一个基本的电子商务网站,但遇到了困难。大部分问题与缺乏有关如何连接有意义(想想 Paypal、Stripe、Braintree)支付方式的示例以及存在我以前从未听说过的晦涩的方式有关。
无论哪种方式,我都在尝试使用 django-oscar-paypal 并遵循其文档。 Paypal Express 部分似乎可以正常工作,因为按钮会显示出来,并且会发生类似于结帐和处理的事情。
但是,如果我选择以常规方式进行结帐(希望用卡付款),我将被带到下一页(括号中的消息是我的)
这是以下模板的产物:
{% 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。
感谢任何帮助或建议。
【问题讨论】:
-
我假设通过常规结帐您想要“Paypal Payflow Pro”,为此您需要一些比更简单的“Paypal Express”选项更复杂的自定义。 Docs on required customization
-
一般来说,我建议您参考多个实现 django-oscar 支付的库,并根据您的业务需求合并类似的代码(因为缺乏文档/示例)
-
@shad0w_wa1k3r 是的,正如我所说,这方面的文档几乎没有。
-
这可能没有意义。如果创建者希望您花时间学习和理解他们的代码以使用这些库,那么您不妨自己从头开始编写。这是一种困扰许多开源项目的疾病。
-
我们不要忘记,好的文档很难编写,而且需要时间和精力。此外,支付集成总是很困难是有原因的,因为有很多不同地区的提供商,而且业务需求可能会影响各种需求的流程。 Oscar 使权衡尽可能灵活,这意味着您必须熟悉它的内部工作原理。
标签: python django paypal braintree django-oscar