使用条带付款不生成电子邮件收据

时间:2015-04-15 08:37:28

标签: ruby stripe-payments

我有一个使用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 个答案:

答案 0 :(得分:3)

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

如果您使用简单结帐,或者从您存储的参数中获取电子邮件,您可以从stripeEmail参数中检索电子邮件,而您的代码就是:

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

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

编辑我专注于为什么以前不会工作,而不是在哪种情况下你会收到电子邮件收据。

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

相关问题