Die billPrice()-Methode des Laravel-Kassierers funktioniert nicht ordnungsgemäß
P粉269847997
P粉269847997 2023-08-29 10:12:00
0
1
443
<p>Ich versuche, mit Laravel Cashier und Stripe sofort eine Rechnung zu erstellen und den Benutzer zu belasten, aber es funktioniert nicht. Ich beziehe mich dazu auf die Beispielcodeausschnitte in der Laravel-8-Dokumentation. </p> <pre class="brush:php;toolbar:false;">$user->invoicePrice('price_tshirt', 5, [ 'Rabatte' => ['Gutschein' => ], ], [ 'default_tax_rates' => ['txr_id'], ]);</pre> <p>Ich habe in meinem Stripe-Dashboard ein Produkt erstellt und „price_tshirt“ durch die Preis-ID des Produkts ersetzt. Der endgültige Code sieht so aus</p> <pre class="brush:php;toolbar:false;">if(!$user->hasPaymentMethod()){ $user->addPaymentMethod($ paymentMethod); // Die Methode $ paymentMethod wird automatisch generiert } $user->invoicePrice('price_xxxxxxx', 1, [], [ 'description' => 'Dies ist eine virtuelle Beschreibung', 'Währung' => 'USD', 'receipt_email' => 'john@doe.com' ]);</pre> <p>Nachdem ich den Code ausgeführt hatte, passierte nichts. Ich schaute auf mein Stripe-Dashboard und sah nichts. Mein Ziel ist es, Benutzern Gebühren zu berechnen und Rechnungen für sie zu erstellen, damit ich später über Code wie diesen <code>$user->invoices()</code></p> auf diese Rechnungen zugreifen kann. <p>Hinweis: Ich habe <code>$user->charge(100, $ paymentMethod);</code> verwendet und es hat einwandfrei funktioniert, aber es wurde keine Rechnung generiert. Dann habe ich mich entschieden, stattdessen <code>$user zu verwenden - >invoiceFor()</code> Methode, diese Methode generiert nur eine Rechnung, dem Benutzer wird jedoch keine Gebühr berechnet. Ich habe beschlossen, noch einmal zu wechseln und <code>$user->invoicePrice()</code> zu verwenden, aber das hat überhaupt nicht funktioniert. Ich muss Benutzern ermöglichen, ihre Rechnungen nach der Zahlung zu verwalten, aber ich finde keine Methode, die mir dabei hilft (Rechnungen und Gebühren erstellen). Ich weiß nicht, was ich falsch mache, bitte helfen Sie mir. </p>
P粉269847997
P粉269847997

Antworte allen(1)
P粉716228245

听起来问题是laravel使用了一个被Stripe禁用的“pending_invoice_items_behavior”为“include_and_require”,所以默认情况下项目被排除在外。

https://mobile.twitter.com/cjav_dev/status/1554922729081516033

我尝试添加了一个新的参数,像这样。

$user->invoicePrice('price_XXXXXXXXXXXXXX', 5, [], [
    'pending_invoice_items_behavior' => 'include',
]);

然而,我也遇到了货币错误,因为我的用户之前在CAD中收费,当我尝试使用USD的产品时(非常感谢之前发布这个问题的人!!)。

但是当我创建一个具有预先存在的货币的新用户而不是客户时,它起作用了。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!