用于处理使用Django Google Sheets集成退款的库
项目描述
mitol-django-google-sheets-refunds
这是Open Learning Django Google Sheets库,用于处理通过Google Sheets的退款请求
设置
在设置此库之前,请确保首先设置了 mitol-django-google-sheets
。请按照这里的说明进行。
安装 mitol-django-google-sheets
后,
pip install mitol-django-google-sheets-refunds
在 settings.py
INSTALLED_APPS = [
...
"mitol.google_sheets_refunds.apps.GoogleSheetsRefundsApp",
]
MITOL_GOOGLE_SHEETS_REFUNDS_PLUGINS = [
"ecommerce.plugins.RefundPlugin"
]
在 ecommerce/plugins.py
from mitol.google_sheets_refunds.hooks import hookimpl
class RefundPlugin:
@hookimpl
def refunds_process_request(refund_request: RefundRequestRow) -> RefundResult:
# TODO: look up the user/order
# TODO: mark the order as refunded
# TODO: unenroll the user
创建您的Google Sheets文件夹
文件夹结构应如下所示
- 包含具有“退款表单响应”和“退款”工作表的电子表格,这些工作表正在处理。
- 请求表单
向开发者请求模板文件夹以复制此结构。
将设置添加到您的应用程序中
在您的 .env 文件中设置 MITOL_GOOGLE_SHEETS_REFUNDS_REQUEST_WORKSHEET_ID
。这是必需的。
一些设置有默认值,您可能需要根据您的表格更新它们。
设置说明(除 mitol-django-google-sheets
中描述的之外)
-
MITOL_GOOGLE_SHEETS_REFUNDS_REQUEST_WORKSHEET_ID
入学变更电子表格中退款和延期工作表的ID。这些可以通过打开电子表格,选择“退款”或“延期”工作表,并从URL中复制
gid
值来找到。示例:
https://docs.google.com/spreadsheets/d/<MITOL_GOOGLE_SHEETS_ENROLLMENT_CHANGE_SHEET_ID>/edit#gid=<MITOL_GOOGLE_SHEETS_REFUNDS_REQUEST_WORKSHEET_ID>
-
MITOL_GOOGLE_SHEETS_REFUNDS_PROCESSOR_COL
包含处理行的用户退款更改工作表列的零索引
-
MITOL_GOOGLE_SHEETS_REFUNDS_COMPLETED_DATE_COL
退款更改表列的零基索引,包含行完成日期
-
MITOL_GOOGLE_SHEETS_REFUNDS_ERROR_COL
退款更改表列的零基索引,包含行处理错误消息
-
MITOL_GOOGLE_SHEETS_REFUNDS_SKIP_ROW_COL
退款更改表列的零基索引,指示是否应跳过行
-
MITOL_GOOGLE_SHEETS_REFUNDS_FIRST_ROW
数据的第一行(它在电子表格中显示),我们的脚本应将其视为处理退款请求工作表中的数据
用法
要处理您的退款请求的Google表格,请简单添加
refund_request_handler = RefundRequestHandler()
results = refund_request_handler.process_sheet()
以下是当前我们获取Google表格退款处理的两种主要方式
- 运行管理命令。例如:
./manage.py process_refund_requests -i "<spreadsheet id>"
- 设置计划好的celery任务。例如
from mitol.google_sheets_refunds.api import RefundRequestHandler
from main.celery import app
@app.task
def process_refund_requests():
"""
Task to process refund requests from Google sheets
"""
refund_request_handler = RefundRequestHandler()
if not refund_request_handler.is_configured():
log.warning("MITOL_GOOGLE_SHEETS_* are not set")
return
refund_request_handler.process_sheet()
开发者设置
对于本地开发和测试,请按照以下开发者设置说明操作。
项目详情
哈希 for mitol-django-google-sheets-refunds-2023.12.19.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c62fd7a6076130cfb1b436345133e9a909b678b1706f048512097280a911d90a |
|
MD5 | 8910607769cee20967f08f5b366f810e |
|
BLAKE2b-256 | 883277c1620069056793eca184e58ba34da41d35e1851f42686ae6c447a3da6d |
哈希 for mitol_django_google_sheets_refunds-2023.12.19-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97e04903a0f2dbb722905c3ba5a9efb92197d7c041783b471fad11ee2a6ebfe0 |
|
MD5 | bf1ad6460c201c50c1a0753bce95c334 |
|
BLAKE2b-256 | 2daa20f10d7872aa59771c43eacb702f0f362abbb4af5c123737d1b92b41acdb |