Mezzanine/Cartridge的Braintree支付处理
项目描述
Braintree Payments处理程序,适用于Mezzanine/Cartridge。支持Django 3.2或4.0,Mezzanine 5.1或更高版本,Cartridge 1.3或更高版本。
使用说明
安装cartridge_braintree
pip install cartridge_braintree
如果您需要正确排序非ASCII国家名称,请使用
pip install cartridge_braintree[countries_utf8_sorting]
这将添加‘pyuca’到需求中。
将‘cartridge_braintree’添加到您的INSTALLED_APPS列表中,并将其放在‘cartridge.shop’之上,否则cartridge_braintree模板将不会被选择。
在您的settings.py或local_settings.py中设置以下设置
BRAINTREE_MERCHANT_ID = <your merchant ID> BRAINTREE_PUBLIC_KEY = <your public key> BRAINTREE_PRIVATE_KEY = <your private key>
请参阅https://developer.paypal.com/braintree/articles/control-panel/important-gateway-credentials
cartridge_braintree使用修改后的结账表单,它执行以下操作
将运货和账单国家字段更改为选择小部件。这确保所选国家可以转换为 Braintree 付款处理的有效代码。支持的国家可以在 settings.SHOP_SUPPORTED_COUNTRIES 中设置,这是一个 alpha2 国家代码列表以及/或形式为 (alpha2, 国家名称) 的元组。
例如,如果您想选择欧盟地区的国家,请使用以下方法:
SHOP_SUPPORTED_COUNTRIES = [ 'AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CY', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IS', 'IT', 'LT', 'LV', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI' ]
可以使用 settings.SHOP_DEFAULT_COUNTRY 将选择字段中的预选国家指定为 alpha2 代码。默认情况下,用户预计会选择自己的国家(设置为 None)。
在 settings.SHOP_PRIMARY_COUNTRIES 中列出的国家/国家(作为 alpha2 代码)将在设置 settings.SHOP_DEFAULT_COUNTRY 后显示在国家选择字段顶部。
信用卡号和 CCV 字段使用 NoNameTextInput 小部件呈现,以便不将数据提交到服务器。JavaScript 处理这些字段以创建 payment_method_nonce,然后将其存储在隐藏表单元素中。
使用来自 stripe 的 jquery.payment 进行客户端验证付款表单,并将错误提交到隐藏的 braintree_errors 字段以作为 Django 错误处理。
请参阅 https://developer.paypal.com/braintree/docs/guides/transactions/python
将付款处理程序设置为 Braintree 付款处理程序
SHOP_HANDLER_PAYMENT = 'cartridge_braintree.braintree_payment.payment_handler'
如果您正在覆盖自己的应用程序中的模板,请确保包含相关的 braintreejs.html 模板。
在 urls.py 中包含 cartridge_braintree.urls 以在 Cartridge urls 之前处理 shop/checkout。
urlpatterns += [ # cartridge_braintree URLs. re_path(r"^shop/(?=checkout(/?)$)", include("cartridge_braintree.urls")), # Cartridge URLs. path("shop/", include("cartridge.shop.urls")), path("account/orders/", order_history, name="shop_order_history"),
如果您想使用 Braintree 的 PayPal 付款,请在其管理站点设置中激活它,并设置与 PayPal 一起使用的货币。
或者您可以在 settings.py 中设置它们,形式如下:
BRAINTREE_PAYPAL_ACTIVATE = True BRAINTREE_PAYPAL_CURRENCY = "EUR"
在这种情况下,设置将不会显示在管理界面中。
如有需要,您可以在 Django 配置中添加日志记录以获得有关交易的更多详细信息
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'braintree_file': { 'class': 'logging.FileHandler', 'filename': '/path/to/django/braintree.log', }, }, 'loggers': { 'braintree_payment': { 'handlers': ['braintree_file'], 'level': 'DEBUG', }, }, }
有关所有配置选项,请参阅 https://docs.django.ac.cn/en/4.0/topics/logging/#configuring-logging
- 日志级别如下:
客户端令牌创建:info
交易开始:debug
交易完成:debug
交易失败:warning
绝不应将机密信息输出到日志记录器。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分布
构建分布版
cartridge_braintree-3.0.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 72fd8186e8e1139911aacbf2b0f8eb521e8257aa90a51bf2f90fe7a0e7946045 |
|
MD5 | 5c841ece4041122063042c32e2d03cd4 |
|
BLAKE2b-256 | 51623f8bf5a2d9d1cdc6191173bd81534281fad0cdf3f7ded404f768c9c78e2c |
cartridge_braintree-3.0.6-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b18cad0cdca36b6e8e6f55ce86c8ba4a2180f7313d2e5fb8c6cc46fe882b75b5 |
|
MD5 | 2473744df83bc4d30db8ad4e9efef966 |
|
BLAKE2b-256 | 85954627346c06a5238c45c98fc4df47ece75040f9d36317a7a7f574cf041806 |