Laravel E-Commerce Как разрешить пользователям загружать файлы после получения оплаты - PullRequest
1 голос
/ 08 июня 2019

Я создаю сайт, на котором пользователю будет разрешено загрузить файл после оплаты: пример: базовый план за 9,99 долл. США или корпоративный план 20,99 долл. США

когда пользователь выбирает план, ему будет предложено загрузить файл.

Я ищу какое-то руководство о том, как лучше всего это сделать, какие-либо предложения, касающиеся плагинов, или лучший способ сделать что-то подобное.

Я буду использовать API Stripe, что, по вашему мнению, является лучшим рабочим процессом, я уже знаю, как использовать Stripes API с Laravel, меня интересует, как заставить пользователя платить, а затем разрешить пользователю загружать один раз и только если оплата получена.

Как должна выглядеть таблица базы данных? Как должен выглядеть процесс для пользователя.

Я думал 1. Пользователь создает аккаунт 2. Пользователь подтверждает электронную почту, затем перенаправляется на страницу выбора плана, пользователь выбирает план 3. Пользователь производит оплату, затем перенаправляется на страницу загрузки. 4. Пользователь загружает файл.

есть идеи или может быть лучшее решение?

Это не ваш типичный сайт электронной коммерции с целой кучей продуктов, где вы выбираете что-то, а потом платите.

Этот сайт потребует от пользователя произвести оплату, чтобы он мог загрузить один файл на платформу.

Любое направление с таким большим количеством деталей будет с благодарностью.

Конечно, я строю эту систему на Laravel.

1 Ответ

0 голосов
/ 10 июня 2019

Честно говоря, ваш план тверд.

  1. Имейте место, где они могут управлять своими документами, на случай, если платеж не будет утвержден немедленно.
  2. в зависимости от того, как работает ваша подписка, то есть ежемесячно, ежегодно или один раз вам, вероятно, нужно хранить какой-то токен, действительный в течение определенного периода времени. создание этого токена после подтверждения оплаты.
  3. Для таблицы загрузки файлов я бы предложил использовать Морфинговые отношения , Это позволит вам иметь одну таблицу для множества разных загрузок файлов, так как у вас будет 2 столбца: itemable_type и itemable_id, типом является ваша модель и идентификатор вашей записи. чтобы получить эти столбцы, добавьте это к вашей миграции $table->morphs('itemable'); laravel сделает их для вас.

  4. было бы неплохо использовать черту для ваших файловых загрузок, так как вы можете вызывать ее и передавать ее параметры одной строкой там, где вам это нужно, или вызывать ее с какой-то сложной логикой.

Надеюсь, я на правильном пути, дайте мне знать, если я так болен, с радостью помогу еще с какими-нибудь идеями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...