#laravel #stripe-payments #laravel-cashier
Вопрос:
Я пытаюсь обновить способ оплаты подписки. Я собираю информацию о карте с помощью js Stripe (используя предоставленное намерение настройки). Затем я отправляю идентификатор способа оплаты, предоставленный компанией Stripe’s js, в Laravel, чтобы фактически обновить способ оплаты Пользователя по умолчанию.
Теперь проблема в том, что я хочу запретить пользователю вставлять дубликаты карт, и единственный способ предотвратить это-получить все текущие способы оплаты пользователя ( $user->paymentMethods();
) и проверить, имеет ли какой-либо из них тот же отпечаток пальца, что и тот, который я добавляю по умолчанию.
Чтобы получить отпечаток пальца нового способа оплаты, мне нужно будет получить объект Stripe paymentметод для идентификатора, предоставленного js Stripe. Кассовый метод для этого был $user->findPaymentMethod(id)
бы следующим .
Проблема в том, что идентификатор платежа еще не добавлен в способы оплаты пользователей, поэтому $user->findPaymentMethod($request->payment_method);
не удается, поскольку этот способ оплаты не принадлежит пользователю.
Единственное решение, которое я могу придумать, — сначала добавить новый способ оплаты, затем проверить наличие дубликатов и удалить их ?
Ответ №1:
Похоже, вы уже нашли лучший подход к добавлению метода пользователю, а затем посмотрите, есть ли дубликаты отпечатков пальцев, даже если это немного неудобно.
Просмотр документации кассира не показывает очевидного способа доступа к способу оплаты до того, как он будет прикреплен к пользователю. Возможно, стоит обратиться к разработчикам Laravel, чтобы узнать, есть ли функциональность, которая облегчила бы выполнение этого потока.