未使用 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 PaymentElement 中的 FPX 元素未在前端配置