django-plans和django-paypal之间的集成。
项目描述
几乎自动集成了django-plans和django-paypal。这将向订单页面添加订阅按钮,并在支付后自动确认订单。
目前处于实验阶段,仅支持周期性支付(订阅)。
文档
快速入门
安装和配置django-plans和django-paypal应用。暂不支持捕获模式,因此带有'capture': False的PAYMENT_VARINANTS将不会得到确认。
安装Django plans paypal
pip install django-plans-paypal
将其添加到INSTALLED_APPS中,在plans之前
INSTALLED_APPS = (
...
'payments',
'paypal.standard.ipn',
'plans_paypal',
...
)
将您的业务电子邮件地址添加到设置中
PAYPAL_BUSSINESS_EMAIL = "foo@bar.com"
# To enable encrypted PayPal form:
PAYPAL_ENCRYPTED_FORM = True
PAYPAL_PRIVATE_CERT = os.path.join(BASE_DIR, 'certs/paypal_private.pem')
PAYPAL_PUBLIC_CERT = os.path.join(BASE_DIR, 'certs/paypal_public.pem')
PAYPAL_CERT = os.path.join(BASE_DIR, 'certs/paypal_cert.pem')
PAYPAL_CERT_ID = 'xxxxx'
将Django plans_paypal添加到URL模式中
urlpatterns = [
...
url(r'^plans-paypal', include('plans_paypal.urls')),
...
]
重写django-plans类CreateOrderView,使get_success_url()返回paypal-payment视图的url
def get_success_url(self):
return reverse("paypal-payment", kwargs={'order_id': self.object.id})
沙盒测试
设置以下设置
PAYPAL_TEST_BUSSINESS_EMAIL = "foo@bar.com"
PAYPAL_TEST = True
# For encrypted PayPal sandbox form:
PAYPAL_TEST_PRIVATE_CERT = os.path.join(BASE_DIR, 'certs/paypal_private.pem')
PAYPAL_TEST_PUBLIC_CERT = os.path.join(BASE_DIR, 'certs/paypal_public.pem')
PAYPAL_TEST_CERT = os.path.join(BASE_DIR, 'certs/paypal_sandbox_cert.pem')
PAYPAL_TEST_CERT_ID = 'xxxx'
将用户重定向到paypal-payment-sandbox而不是paypal-payment视图。
功能
TODO
运行测试
代码是否真的工作?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
致谢
渲染此包时使用的工具
历史
0.7.1 (2024-04-23)
如果请求已完成订单的 PaymentFailureView,则失败
0.7.0 (2024-04-12)
将代码迁移到 RecurringUserPlan.renewal_triggered_by
迁移 payment_provider 为 “paypal-recurring” 且 renewal_triggered_by 为 TASK 的 RecurringUserPlans 的数据,将 renewal_triggered_by 更改为 OTHER
0.6.0 (2023-03-22)
修复定期付款收到的金额,添加测试
0.5.1 (2023-02-11)
只允许已登录用户访问失败视图
0.5.0 (2022-12-14)
修复定期付款收到的税费
更健壮地接收原始订单 ID(如果 PayPal 无法处理 custom_data)
升级到 Django 4.1
修复如果首次订单状态返回则完成定期付款的问题
只有当自定义数据无法解析时才记录错误
0.4.10 (2022-04-29)
修复重复付款的问题
PayPalPaymentAdmin:显示连接的 IPN 字段
0.4.9 (2022-03-07)
使自定义数据的解析更健壮
0.4.8 (2022-01-19)
修复上一个版本的问题
添加测试,并通过 GitHub Actions 在所有支持的 Django/Python 版本上进行测试
0.4.7 (2022-01-13)
修复自定义付款数据中存在 ‘ 的问题
0.4.6 (2021-12-02)
修复创建不良 JSON 的问题
0.4.5 (2021-12-01)
修复 PayPalPaymentAdmin 中的 IPN 字段编辑问题
在自定义中存储用户电子邮件,以使 IPN 管理员中可以执行搜索
0.4.4 (2021-12-01)
在完成订单之前创建 PayPalPayment
0.4.3 (2021-11-30)
修复定期付款的问题
添加创建/修改/作者自动字段
0.4.2 (2021-11-08)
修复其他 IPN 类型的问题
0.4.1 (2021-10-18)
返回失败 URL 后取消订单
0.4.0 (2021-10-18)
允许设置加密的 PayPal 表单
0.3.0 (2021-10-15)
对沙盒/生产功能进行修复和改进
反转沙盒逻辑 - 如果没有 PAYPAL_TEST,沙盒视图将返回生产环境,因此没有人可以在生产服务器上通过沙盒进行支付
0.2.2 (2021-10-12)
修复遗忘的 pudb
0.2.1 (2021-10-12)
添加沙盒视图,以便可以在同一服务器上同时使用生产环境和沙盒
0.2.0 (2021-10-11)
修复与 PayPal 最大持续时间不兼容的周期
0.1.0 (2021-10-08)
将 ipn.PayPalIpn 对象与 plans.Order 钩接(用于后续使用,例如确定 PayPal 手续费)
为 django-plans 设置计划续订
0.0.2 (2018-08-05)
应捕获的支付过程应正常工作
自动生成按钮
0.0.1 (2018-07-23)
PyPI 上的第一个版本。
项目详情
下载文件
为您的平台下载文件。如果您不确定要选择哪一个,请了解更多关于 安装包的信息。
源分布
构建分布
哈希值 for django_plans_paypal-0.7.1-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4fe073b2710e916e0fa66ffd9fa83c45e78c791859248b711d0583368b689fae |
|
MD5 | 7ccdd7a5e8407826a0a2f012532dc9f4 |
|
BLAKE2b-256 | 226c1711d5965884145fc76095919465c1dec712ba909e5a1083fb59da797019 |