跳转到主要内容

基于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 (7.4 kB 查看哈希)

上传时间

构建分发

stripe_hooks-0.1-py3-none-any.whl (8.7 kB 查看哈希)

上传时间 Python 3

由以下支持