基于Stripe webhooks发送通知和收据的低配置服务。
项目描述
stripe-hooks
这是一个Python网络应用程序,用于接收来自Stripe的webhooks并发送相应的电子邮件。
这是Jack Pearkes原始工作的分支: stripe-hooks。
有两种类型的电子邮件
用例
- 向管理员发送有关重要Stripe事件的通知,例如失败的收费或新客户
- 在用户被收费后向用户发送收据
它支持 所有 Stripe 事件。
默认包含的电子邮件内容是灵活的英文。其中任何一项都可以修改以适应您的业务或用例。它易于部署,您无需接触Python即可配置它。
安装
$ python3 setup.py install
配置
所有配置都在JSON中完成。
根据configuration_template.json
创建一个.json
文件,并将其拖放到命令行中。
$ stripe-hooks configuration.json
以下有更多详细信息。
电子邮件类型
默认情况下,所有收据和通知都是关闭的,使用空的configuration.json
。
要激活通知或收据,只需创建一个新的键,键名为事件类型(列表可在此处找到),格式如下:
{
...
"email": {
"charge.failed": {
"active": true,
"subject": "Oh nos! A Charge Has Failed!"
}
}
...
}
subject
是可选的。默认情况下,电子邮件主题将是类型,用短横线替换空格,并首字母大写,前面加上您的公司名称(如果存在),如下所示:charge.failed -> [Acme Inc.] Charge Failed
。
所有内容都回退到安全、通用的默认值,例如,如果不存在公司名称,则不显示公司名称。
电子邮件类型配置可能看起来像这样
{
...
"email": {
"business": {
"name": "Acme, Inc.",
"signoff": "The Acme Team",
"email": "Acme Support Team <support@example.com>"
},
"notifications": {
"balance.available": {
"active": true,
"subject": "Dat chedda is available..."
},
"charge.succeeded": {
"active": true
},
"charge.failed": {
"active": true
},
"charge.refunded": {
"active": true
}
},
"receipts": {
"invoice.created": {
"active": true,
"subject": "New Invoice"
}
}
}
...
}
电子邮件内容
您需要提供电子邮件模板的路径。
{
...
"email": {
"templates_path": "stripe-hooks-emails",
...
}
...
}
您可以将该存储库进行分叉,您将有一个良好的起点。
stripe
您需要在stripe GUI中配置一个stripe webhook stripe webhooks。
服务默认端口是5000
,路由URL是/webhook
。
当您有您的端点密钥时,只需将其放入配置文件中即可。
{
...
"stripe": {
"endpoint_secret": "whsec_..."
},
...
}
端点密钥将用于验证stripe POST
请求,请参阅stripe文档。
电子邮件提供商
SMTP作为与电子邮件提供商的默认接口。
在您的配置文件中添加以下内容
{
...
"smtp": {
"url": "localhost:25"
},
...
}
Mailgun是一个很好的提供商。Stripe团队在其自己的文档中使用了它。
Jack Pearkes的原始工作使用了Amazon SES。
如果您想使用Amazon SES,请撤销提交refactor(mail): use a smtp server instead of aws ses
。
测试
WIP
贡献
只需按照git karma风格提交PR。
当单元测试更新后,它们需要通过。
目前项目不符合Flake8代码审查,所以这不是强制性的,但它可能很酷。
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
stripe-hooks-0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f6a2d1b99f6c460d478bfa2e043ca5a9b8c4058f446135ea514878fe454bfafe |
|
MD5 | 037860c77307522042498fed0a565414 |
|
BLAKE2b-256 | 51f7b579b7ed15a5c23cb0ce847de3af74ccc551e92d015c95177b3feca0c6b1 |