Django GetPaid 使用指南
django-getpaid Django payments processor. 项目地址: https://gitcode.com/gh_mirrors/dj/django-getpaid
项目介绍
Django GetPaid 是一个专为 Django 框架设计的多功能支付处理器。它旨在提供一系列特性,包括但不限于多支付平台支持,允许同时使用多种支付方式,灵活的集成架构,对异步状态更新的支持(推拉两种模式),适配现代RESTful API风格的支付接口,以及对多种货币的支持(但每个支付单仅限一种货币)。此外,该框架易于定制,并拥有与Django的User模型相似的可替换机制。
项目快速启动
步骤1:安装依赖
首先,确保你的环境中已安装了Django。然后,通过pip安装Django GetPaid及其至少一个后端支付插件,例如PayU:
pip install django-getpaid
pip install django-getpaid-payu
步骤2:配置Django项目
在你的settings.py
文件中,设置GetPaid使用的订单模型及支付后台的配置:
GETPAID_ORDER_MODEL = 'yourapp.MyCustomOrder'
GETPAID_BACKEND_SETTINGS = [
"getpaid_payu": [
# 这些应从你的商户面板获取
"pos_id": "你的POS ID",
"second_key": "你的第二密钥",
"oauth_id": "OAuth ID",
"oauth_secret": "OAuth Secret",
]
]
并添加Django GetPaid及其相关插件到INSTALLED_APPS
:
INSTALLED_APPS = [
...,
'getpaid',
'getpaid_payu', # 根据实际情况选择插件
...,
]
运行迁移以创建必要的数据库表:
python manage.py makemigrations
python manage.py migrate
步骤3:集成URL和视图
将GetPaid的URL模式包含到你的主URL配置中,并准备创建支付的视图和模板。
修改urls.py
:
from django.urls import path
from .views import OrderView
urlpatterns = [
path('payments/', include('getpaid.urls')),
path('order/<int:pk>/', OrderView.as_view(), name='order_detail'),
]
创建或调整OrderView
和相关模板来触发支付过程。
步骤4:创建支付
在视图中使用PaymentMethodForm
来让用户选择支付方式,并提交表单进行支付:
# 在views.py中定义视图
from getpaid.forms import PaymentMethodForm
class OrderView(DetailView):
model = Order
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["payment_form"] = PaymentMethodForm(
initial={"order": self.object, "currency": self.object.currency}
)
return context
在相应的模板中显示支付选项:
<!-- 在order_detail.html中 -->
<h2>选择支付方式:</h2>
<form action="{% url 'getpaid:create-payment' %}" method="post">
{% csrf_token %}
{{ payment_form.as_p }}
<button type="submit">去支付</button>
</form>
步骤5:测试运行
确保所有设置正确无误后,启动你的Django开发服务器,进行测试。
应用案例与最佳实践
对于实际应用,确保对每种支付方式进行充分的测试,包括模拟不同的支付状态变化,如成功、失败、退款等。利用Django的中间件和信号来增强用户体验,例如自动完成订单状态的变更或发送交易确认邮件。
典型生态项目
虽然具体列出的“典型生态项目”没有直接提供,Django GetPaid本身鼓励开发者贡献新的支付插件,形成丰富的生态系统。例如,除了官方支持的PayU,社区可能会开发其他支付服务的插件,比如Stripe、Alipay、WeChat Pay等,这些可以根据需求集成到自己的Django应用中,扩大应用的支付渠道范围。
此指南提供了快速入门Django GetPaid的基本步骤,深入实践时,参考其官方文档和源码仓库中的示例将是不可或缺的。
django-getpaid Django payments processor. 项目地址: https://gitcode.com/gh_mirrors/dj/django-getpaid
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考