laravel 출납원의voicePrice() 메소드가 제대로 작동하지 않습니다.
P粉269847997
2023-08-29 10:12:00
<p>laravel Cashier와 Stripe을 사용하여 즉시 인보이스를 생성하고 사용자에게 요금을 청구하려고 하는데 작동하지 않습니다. 이를 수행하기 위해 laravel-8 문서의 예제 코드 조각을 참조하고 있습니다. </p>
<pre class="brush:php;toolbar:false;">$user->invoicePrice('price_tshirt', 5, [
'할인' =>
['쿠폰' => 'SUMMER21세일']
],
], [
'default_tax_rates' => ['txr_id'],
]);</pre>
<p>스트라이프 대시보드에서 제품을 생성하고 'price_tshirt'를 제품 가격 ID로 바꿨습니다. 최종 코드는 다음과 같습니다</p>
<pre class="brush:php;toolbar:false;">if(!$user->hasPaymentMethod()){
$user->addPaymentMethod($결제 방법); //$결제 방법이 자동으로 생성됩니다.
}
$user->invoicePrice('price_xxxxxxx', 1, [], [
'description' => '가상 설명입니다',
'통화' => '달러',
'receipt_email' => 'john@doe.com'
]);</pre>
<p>코드를 실행한 후 아무 일도 일어나지 않았습니다. 스트라이프 대시보드를 살펴보니 아무 것도 보이지 않았습니다. 내 목표는 사용자에게 비용을 청구하고 인보이스를 생성하여 나중에 <code>$user->invoices()</code></p>와 같은 코드를 통해 이러한 인보이스에 액세스할 수 있도록 하는 것입니다.
<p>참고:
<code>$user->charge(100, $paidMethod);</code>를 사용하고 있었는데 완벽하게 작동했지만 인보이스가 생성되지 않았습니다. 대신 <code>$user를 사용하기로 결정했습니다. >invoiceFor()</code> 메소드를 사용하면 이 메소드는 인보이스만 생성할 뿐 사용자에게 요금이 청구되지 않습니다. 다시 변경하여 <code>$user->invoicePrice()</code>를 사용하기로 결정했지만 전혀 작동하지 않았습니다. 결제 후 사용자가 인보이스를 관리할 수 있도록 해야 하는데 이를 수행하는 데 도움이 되는 방법(인보이스 및 요금 생성)을 찾을 수 없습니다. 내가 뭘 잘못하고 있는지 모르겠습니다. 도와주세요. </p>
문제는 laravel이 Stripe에 의해 비활성화된 "pending_invoice_items_behavior"를 "include_and_require"로 사용하므로 항목이 기본적으로 제외된다는 것입니다.
https://mobile.twitter.com/cjav_dev/status/1554922729081516033
이런 새로운 매개변수를 추가해 보았습니다.
으아악그러나 이전에 USD로 제품을 사용했을 때 사용자에게 CAD로 요금이 청구되었기 때문에 통화 오류도 발생했습니다(이전에 이 질문을 게시한 분들께 큰 감사를 드립니다!!).
하지만 고객 대신 기존 통화로 새 사용자를 생성하면 작동합니다.