Django-Oscar的DocData支付网关集成

django-oscar-docdata的Python项目详细描述


安装

通过PIP安装:

pip install django-oscar-docdata

配置

配置应用程序:

< dl >
docdata\u商家名称
支付提供商提供的凭据。
docdata\u商户密码
支付提供商提供的凭据。
文档数据配置文件
在docdata backoffice中创建的付款方法配置文件。 默认情况下,这被命名为"标准"。
文档数据测试
是否在测试模式下运行。默认为 true

添加到url.py

fromoscar_docdata.dashboard.appimportapplicationasdocdata_dashboard_appurlpatterns+=[url(r'^api/docdata/',include('oscar_docdata.urls')),url(r'^dashboard/docdata/',include(docdata_dashboard_app.urls)),]

添加到 设置。py

OSCAR_DASHBOARD_NAVIGATION[2]['children'].insert(1,{'label':_('Docdata Orders'),'url_name':'docdata-order-list',})

在开发过程中,建议查看 详细信息:

LOGGING={# ...'loggers':{# ...'suds.transport':{'handlers':['console'],'level':'DEBUG','propagate':True,},'oscar_docdata':{'handlers':['mail_admins','console'],'level':'DEBUG','propagate':True,},},}

额外:子帐户支持

DocData允许在同一合同下创建多个帐户。这叫做"子账户"。 每个帐户都有自己的签证/万事达卡/贝宝等。 这个模块支持这样的用例。

当您填写DocData_Merchant_密码字典时, 提交给这些商家的订单可以显示在管理员中, 他们可以接收状态更新。每个密钥/值都是一个商户名称/密码对。

当没有配置子账户时,只有当前商户提交的订单才能显示在管理中。 这支持多Tennant数据库结构,而每个Tennant只看到自己的订单。

融入您的项目

请查看如何集成应用程序的沙盒应用程序。 这包括特定于项目的决策,如:

  • 如何创建付款活动。
  • 如何创建自定义门面类
  • 要映射到"门牌号"字段的字段。(例如 line2 line3 或自定义字段)。
  • 客户中止付款时是否取消订单。
  • 何时提交确认电子邮件。

本地开发和运行测试

您可以使用附带的makefile安装开发环境并运行flake8 检查程序和测试运行程序。确保在虚拟机中执行此操作:

git clone git@github.com:django-oscar/django-oscar-docdata.git

cd django-oscar-docdata
make install
make lint
make test

运行沙盒应用程序

可以运行沙盒应用程序来测试这个包,并查看您的 DocData凭据有效。您可以设置 docdata_merchant_name docdata_merchant_password 和docdata_profile 运行 manage.py之前的环境变量:

# creates a local sqlite database
./sandbox/manage.py migrate

# loads some sample products (books)
./sandbox/manage.py oscar_import_catalogue sandbox/fixtures/books.csv

# so you can fill out your shipping address
./sandbox/manage.py loaddata sandbox/fixtures/countries.json

# run the sandbox installation with the docdata merchant username, password and profile
DOCDATA_MERCHANT_NAME=merchant DOCDATA_MERCHANT_PASSWORD=merchant DOCDATA_PROFILE=test ./sandbox/manage.py runserver

DocData非常希望拥有唯一的商业订单ID。为什么他们不清楚 使用这些引用(它们使用自己的引用)。为了避免冲突,沙盒应用程序添加了当前日期时间 作为前缀。

DocData的"付款"菜单允许您选择可用的付款方式,因此您不需要在 签出应用程序。您可以使用以下命令禁用沙盒付款方式选择 环境变量:

SKIP_PAYMENT_CHOICES=1

docdata backoffice的配置

确保配置了以下设置:

  • "付款方式名称"需要添加到配置文件中(docdata配置文件的默认值为"标准"。
  • 需要设置通知url和返回url。示例值:
< Buff行情>
  • 成功: http://example.org/api/docdata/update_order/?回拨=成功和订单ID=
  • 取消:http://example.org/api/docdata/update_order/?回拨=取消订单ID=
  • 错误: http://example.org/api/docdata/update_order/?回调=错误和订单ID=
  • 挂起: http://example.org/api/docdata/update_order/?回拨=待定订单ID=
  • 更新url:http://example.org/api/docdata/update_order/?订单ID=

DocData支付服务规范

参见支付服务规范 详细的技术信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener