在django-oscar-api之上提供更灵活的结账API,具有可插拔的支付方法界面。
项目描述
在django-oscar-api之上提供更灵活的结账API,具有可插拔的支付方法界面。
兼容支付插件
django-oscar-cybersource: 提供使用Cybersource Secure Acceptance Silent Order POST符合PCI SAQ A-EP的信用卡处理订单支付。
django-oscar-wfrs: 提供使用富国银行零售服务SOAP API进行融资的订单支付。
安装
使用文档安装django-oscar-api。
安装django-oscar-api-checkout软件包。
$ pip install django-oscar-api-checkout
将oscarapicheckout添加到您的INSTALLED_APPS中
# myproject/settings.py ... INSTALLED_APPS = [ ... 'oscarapicheckout', ] + get_core_apps([]) ...
配置Oscar的订单状态管道。
# myproject/settings.py ... # Needed by oscarapicheckout ORDER_STATUS_PENDING = 'Pending' ORDER_STATUS_PAYMENT_DECLINED = 'Payment Declined' ORDER_STATUS_AUTHORIZED = 'Authorized' # Other statuses ORDER_STATUS_SHIPPED = 'Shipped' ORDER_STATUS_CANCELED = 'Canceled' # Pipeline Config OSCAR_INITIAL_ORDER_STATUS = ORDER_STATUS_PENDING OSCARAPI_INITIAL_ORDER_STATUS = ORDER_STATUS_PENDING OSCAR_ORDER_STATUS_PIPELINE = { ORDER_STATUS_PENDING: (ORDER_STATUS_PAYMENT_DECLINED, ORDER_STATUS_AUTHORIZED, ORDER_STATUS_CANCELED), ORDER_STATUS_PAYMENT_DECLINED: (ORDER_STATUS_AUTHORIZED, ORDER_STATUS_CANCELED), ORDER_STATUS_AUTHORIZED: (ORDER_STATUS_SHIPPED, ORDER_STATUS_CANCELED), ORDER_STATUS_SHIPPED: (), ORDER_STATUS_CANCELED: (), } OSCAR_INITIAL_LINE_STATUS = ORDER_STATUS_PENDING OSCAR_LINE_STATUS_PIPELINE = { ORDER_STATUS_PENDING: (ORDER_STATUS_SHIPPED, ORDER_STATUS_CANCELED), ORDER_STATUS_SHIPPED: (), ORDER_STATUS_CANCELED: (), }
配置启用哪些支付方法以及谁可以使用它们。
# myproject/settings.py ... API_ENABLED_PAYMENT_METHODS = [ { 'method': 'oscarapicheckout.methods.Cash', 'permission': 'oscarapicheckout.permissions.StaffOnly', }, { 'method': 'some.other.methods.CreditCard', 'permission': 'oscarapicheckout.permissions.Public', }, ]
在oscarapi之前直接将oscarapicheckout添加到您的根URL配置中。
# myproject/urls.py ... from django.apps import apps from oscarapi.app import application as oscar_api from oscarapicheckout.app import application as oscar_api_checkout urlpatterns = patterns('', ... url(r'^api/', include(apps.get_app_config("oscarapicheckout").urls[0])), # Must be before oscar_api.urls url(r'^api/', include(oscar_api.urls)), ... )
用法
以下是使用API将商品添加到购物车并结账的基本步骤。
将商品添加到购物车。
POST /api/basket/add-product/ { "url": "/api/products/1/", "quantity": 1 }
列出当前用户可用的支付方法。
GET /api/checkout/payment-methods/
提交订单,指定要使用的支付方法。
POST /api/checkout/ { "guest_email": "joe@example.com", "basket": "/api/baskets/1/", "shipping_address": { "first_name": "Joe", "last_name": "Schmoe", "line1": "234 5th Ave", "line4": "Manhattan", "postcode": "10001", "state": "NY", "country": "/api/countries/US/", "phone_number": "+1 (717) 467-1111", }, "billing_address": { "first_name": "Joe", "last_name": "Schmoe", "line1": "234 5th Ave", "line4": "Manhattan", "postcode": "10001", "state": "NY", "country": "/api/countries/US/", "phone_number": "+1 (717) 467-1111", }, "payment": { "cash": { "enabled": true, "amount": "10.00", }, "creditcard": { "enabled": true, "pay_balance": true, } } }
检查每个启用的支付选项的状态。
GET /api/checkout/payment-states/
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源代码分发
django_oscar_api_checkout-3.5.0.tar.gz (32.2 kB 查看哈希值)
构建分发
关闭
哈希值 for django_oscar_api_checkout-3.5.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2250ce2c533210f165103303ef0337bf10ab11912ca5c735cd142311d9d5d15a |
|
MD5 | df06d9729cb41d3bea4fec30cbb12c83 |
|
BLAKE2b-256 | 36dc145ab5a13e767b24aee00eea03fa28b27284443a270341f80405f3a54ba0 |