Я сейчас использую wepay с рельсами.Не беспокойтесь, это сообщение не о wepay.
- Поэтому, когда клиент хочет купить что-то с моего сайта, он / она будет перенаправлен на wepay.
- Затем после оплатына wepay wepay перенаправляет пользователя на / покупок / получено
- Через X промежуток времени Wepay также отправит ответный звонок / покупкам / обратному вызову, чтобы сообщить мне, что платеж получен (обработка кредитной картой)медленно)
Итак, мой первоначальный план выглядит следующим образом:
- Для модели Закупки, введите поле wepay_id и wepay_confirmed.
- Когда пользователь размещает заказ на wepay, перенаправление на / puchases / полученный создаст экземпляр покупки и сохранится в моем БД
- Когда вызывается обратный вызов, ищем wepay_id и затем устанавливаемwepay_confirmed для истинного.
Однако, как я обнаружил, количество времени X может быть настолько быстрым, что / покупок / обратный вызов вызывается до того, как / покупок / получено может создать объект.
Так что теперь у меня есть два варианта:
- Разрешить / покупкам / обратному вызову для создания пустого экземпляра покупки только с идентификатором и подтверждено = true.Делая это, я понял, что больше не могу проверять свою модель традиционным способом.Это действительно меня беспокоит.
- Создайте отдельную таблицу с именем Wepay_Confirmed.Когда бы ни вызывался обратный вызов, создайте запись в wepay_confirmed.Сопоставьте наличие (checkout_id) в этой таблице с атрибутом Purchase.confirmed.
Я думаю о том, чтобы сделать 2. Как я могу это сделать?Нужно ли создавать каркас для конкретной модели для сопоставления с Wepay_Confirmed?
Если у вас есть другие предложения, пожалуйста, ответьте