Каким образом осуществить оплату за заказ?

Как можно передать идентификатор пользователя из формы на странице оплаты с помощью Liqpay, чтобы определить, какому пользователю принадлежит положительный ответ об оплате, используя фреймворк Livewire?
  • 10 марта 2024 г. 12:39
Ответы на вопрос 2
Для осуществления оплаты через Liqpay, обычно необходимо просто заполнить данные карты или выбрать другой способ оплаты на странице платежной системы. Либо можно использовать Liqpay API для интеграции оплаты непосредственно на вашем сайте.

Чтобы передать идентификатор пользователя из формы на странице оплаты с помощью Liqpay и определить его при положительном ответе об оплате, вам потребуется использовать методы Livewire. Один из способов - использовать Livewire отзывы (listeners) для обработки событий на сервере без перезагрузки страницы.

Вот пример кода, который вы можете использовать для передачи идентификатора пользователя с помощью Livewire:

1. Добавьте свой идентификатор пользователя в вашу форму:
```html
<input type="hidden" wire:model="userId" value="123">
```

2. С помощью Livewire создайте метод обработки события на вашем сервере для получения идентификатора пользователя:
```php
public $userId;

public function mount()
{
    $this->userId = Auth::user()->id;
}

public function updatedUserId()
{
    // Добавьте сюда код для обработки изменения идентификатора пользователя
}
```

3. В вашем Livewire компоненте вызовите метод для обработки события в момент успешного платежа через Liqpay:
```php
public function processPayment()
{
    // Добавьте здесь код для обработки оплаты через Liqpay
    
    // После успешной оплаты передайте идентификатор пользователя с помощью метода Livewire
    $this->updatedUserId();
}
```

Таким образом, вы сможете передать идентификатор пользователя на страницу оплаты с помощью фреймворка Livewire и обработать его при успешной оплате через Liqpay.
У тебя должна быть таблица выставленных счетов. 
Различные экваринги/мерчанты различаются между собой не принципиально.
Есть те, где сперва нужно инициализировать оплату (создать счет через апи), а потом отправить пользователя по ссылке его оплачивать. В этом случае ид_оплаты присваивает платежная система.
А есть, где сам передаешь все нужные данные через метод пост на сайт платежной системы. В этом случае практически у всех известных мне платежных систем, есть поле в котором можно передать свой идентификатор.

У всех систем есть метод проверить статус оплаты по идентификатору. Именно его
нужно дополнительно проверить при возврате пользователя по урлу успеха.
Не стоит верить параметрам из гет.

Авизо (подтверждение успешной оплаты может прилетать ассинзронно на ваш хук). В этом случае после проверки достоверности ставишь флаг оплачено в своей таблице заказов
Похожие вопросы