Django-Oscar的DocData支付网关集成
django-oscar-docdata的Python项目详细描述
安装
通过PIP安装:
pip install django-oscar-docdata
配置
配置应用程序:
< dl >添加到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。示例值:
- 成功: 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支付服务规范
参见支付服务规范 详细的技术信息。