Laravel Cashier: StripeのダッシュボードからデフォルトのpaymentMethodを設定すると返値が変わる

環境:

laravel@6.18.35

laravel-cashier@12.3.1

 

LaravelからデフォルトのpaymentMethodを設定した場合

f:id:monteecristoo:20200917062426p:plain

 

Stripeのダッシュボードからデフォルトを別のpaymentMethodに設定すると…

f:id:monteecristoo:20200917071619p:plain

f:id:monteecristoo:20200917065054p:plain

PaymentMethod object ではなく、 Card object を返すようになってしまうのでダッシュボードからデフォルトの payment を設定した後は必ず laravel 側で再度 updateDedaultPaymentMethod() をコールし直して paymentMethod object を返すように統一する。

 

$id = $user->defaultPaymentMethod()->id

$user->updateDefaultStripePaymentMethod($id)