繁体   English   中英

为条纹付款创建发票

[英]Create an invoice for stripe payments

我使用 Stripe 进行一次性付款和订阅。
要创建付款,我使用 Stripe Checkout:

\Stripe\Checkout\Session::create([
    'customer' => 'cus_XXXXX',
    'success_url' => '',
    'cancel_url' => '',
    'payment_method_types' => ['card'],
    'mode' => ($isSubscription ? 'subscription' : 'payment'),
    'line_items' => [...]
]);

header('Location: '.$checkout_session->url);
exit;

此代码会自动为订阅模式创建发票,但不会为一次性付款创建发票。
我已经尝试过创建新发票,但我该怎么做才能使它与之前的付款、关闭和支付相关联?

$stripe = new Stripe\StripeClient('xxx');
$stripe->invoiceItems->create([
    'customer' => 'cus_XXXXX',
    'amount' => '1000',
    'currency' => 'eur',
    'description' => 'Lorem ipsum...'
]);
$invoice = $stripe->invoices->create([
    'customer' => 'cus_XXXXX',
]);

我找到了一种为每个支付标记创建发票的方法。
但是,这不会将它们与付款联系起来。

在 webhook checkout.session.completed执行以下操作:

$stripe = new Stripe\StripeClient('xxx');

// Create invoice lines
$stripe->invoiceItems->create([
    'customer' => 'cus_XXXXX',
    'amount' => '1000',
    'currency' => 'eur',
    'description' => 'Lorem ipsum...'
]);

// Create invoice
$invoice = $stripe->invoices->create([
    'customer' => 'cus_XXXXX',
]);

// Finalize and mark invoice paid outside of Stripe
$invoice->finalizeInvoice();
$invoice->pay(['paid_out_of_band' => true]);

谢谢 fdehanne 分享这个。

这是否会在付款后向客户发送 PDF 发票?

我们在电子邮件设置中启用了“成功付款以发送电子邮件”,但目前它似乎只发送电子邮件收据(不是 PDF 收据),前者不包含我们需要向客户提供以遵守当地税法的信息. 显然 PDF 收据可以,但我正在努力寻找一种方法来测试它(因为由于某种原因,收据不会以测试模式发送)。 而且我无法从 Stripe 支持人员那里获得有关可能的有用信息。

最终,我试图将已付税款发票(PDF 收据)发送给通过 Stripe Checkout 一次性付款的人。

您可以分享的任何信息将不胜感激:)

我相信您正在寻找这个:https://stripe.com/docs/payments/checkout/post-payment-invoices

要启用发票创建,请在创建 Checkout session 时将 invoice_creation[enabled] 设置为 true。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM