未使用 Stripe Payment 生成电子邮件收据

Posted

技术标签:

【中文标题】未使用 Stripe Payment 生成电子邮件收据【英文标题】:E-mail Receipts Not Generated with Stripe Payment 【发布时间】:2015-06-21 03:11:09 【问题描述】:

我有一个使用 Stripe Payments 的应用程序。我们正在创建一次性付款,而不是将客户存储为对象。所以,我们有看起来像这样的服务器端 Ruby 代码......

Stripe::Charge.create(
  currency: 'gbp',
  amount: some_amount,
  card: token,
  description: 'Payment for awesome thing'
)

令牌是在客户端生成的,使用 Stripe JS 库并包含(或者,更确切地说,代表)客户提供的所有信息,例如电子邮件地址、卡号等。

当交易到达 Stripe 时,它​​会从客户那里取款,在我的 Stripe 仪表板中,我可以看到客户提供的所有详细信息,例如代码到期等。在卡片上,我看到了他们的名字,但名称已设置到一个电子邮件地址。

在这一切之后,我被告知...

No receipts sent — No email address for this payment

我是否遗漏了有关调用此 API 的方式的内容。令牌清楚地包含该电子邮件地址(我将其视为 Stripe 仪表板上的卡名称)。

如果我希望 Stripe 使用他们已经捕获的电子邮件地址来生成收据,我是否必须以其他方式调用此 API?

【问题讨论】:

【参考方案1】:

Stripe 不会从令牌中检索电子邮件地址。当您创建一次性收费时,您必须在 receipt_email 字段中设置电子邮件,以便在收费成功时将收据发送到该电子邮件地址。

如果您使用 Simple Checkout,您可以从 stripeEmail 参数中检索电子邮件,或者从您存储它的参数中检索电子邮件,您的代码将是:

Stripe::Charge.create(
  currency: 'gbp',
  amount: some_amount,
  card: token,
  description: 'Payment for awesome thing',
  receipt_email: email
)

小警告,即使您提供该字段,电子邮件收据也永远不会在测试模式下发送。

编辑我专注于为什么它以前不起作用,而不是在这种情况下您会收到电子邮件收据。

首先,您需要在仪表板settings 中检查“向客户发送电子邮件以获取成功付款”的设置。然后客户需要设置email 字段。如果这两个是真实的,那么当您为该客户创建费用时,还将为您向该客户发送电子邮件收据(在实时模式下)。非免费订阅也会发生同样的情况,其中每张带有相关费用的发票都会通过电子邮件发送收据。

【讨论】:

虽然我已将您的问题标记为正确(因为确实如此),但它曾经有效。我通过 Stripe 进行的交易没有携带 DID 生成收据的“receipt_email”参数。这曾经有效(大约 2014 年 8 月) @MartinPeck 我在答案中添加了更多内容以防万一

以上是关于未使用 Stripe Payment 生成电子邮件收据的主要内容,如果未能解决你的问题,请参考以下文章

Apple Pay - “付款未完成” - 使用 Stripe

颤动条纹stripe_payment:类路径

在 Azure 上部署 Stripe 支付网关

新 Stripe PaymentElement 中的 FPX 元素未在前端配置

多次触发 Stripe invoice.payment_succeeded webhook

Stripe Payment 是不是支持自动定期付款?