Посібник Rivya з оплати через Checkout
Зрозумійте оформлення оплати планів і пакетів кредитів у Rivya, перенаправлення Stripe, міст `/payment`, webhooks, оновлення білінгу й перевірки покупки.
Востаннє переглянуто 2026/04/28
Використовуйте цей посібник з оформлення оплати, коли потрібно зрозуміти, що відбувається після купівлі плану або пакета кредитів у Rivya.
Люди зазвичай неправильно розуміють оплату в Rivya ось так:
Завершення платежу в Stripe не є останнім кроком. Продукт ще має наздогнати зміну й коректно її відобразити.
Саме тому потік checkout не завершується у Stripe і не завершується в момент, коли браузер повертається назад.
Потік оплати має три реальні етапи
Зараз checkout легше зрозуміти, якщо розділити його на три етапи:
- Rivya створює checkout session
- користувач завершує Stripe Checkout
- Rivya чекає, доки стан продукту знову стане надійним
Саме цей третій етап пояснює, навіщо існує /payment.
Де може початися Checkout
Зараз checkout починається з місць, які вже відповідають наміру користувача:
- Pricing
/settings/billing/settings/credits
І дві основні форми покупки:
- checkout для плану підписки
- checkout для одноразового пакета кредитів
Це різні комерційні рішення, але вони все одно сходяться в той самий шлях підтвердження.
Checkout плану й checkout пакета кредитів схожі, але не однакові
Checkout плану має форму підписки.
Checkout пакета кредитів має форму одноразового поповнення гаманця.
Ця різниця важлива, бо після оплати Rivya має знати, що саме потрібно оновити:
- стан підписки
- або стан гаманця
Саме тому один і той самий момент успіху Stripe усе ще може повернути вас на різні продуктові поверхні після цього.
Навіщо взагалі існує /payment
/payment не є сторінкою квитанції у звичному сенсі.
Це міст обробки.
Його задача:
- прочитати Stripe
session_id - перевірити, чи запис платежу на боці продукту став остаточним
- за потреби короткий час продовжувати опитування
- лише після цього перенаправити вас назад у правильну частину застосунку
Це робить його більше сторінкою синхронізації стану, ніж контентною сторінкою.
Коли платіж "справді завершено" з погляду продукту?
З погляду користувача платіж здається завершеним, щойно Stripe каже, що все спрацювало.
З погляду продукту платіж справді завершений лише тоді, коли стан акаунта видимо оновлено в Rivya.
Зазвичай це означає:
- запис платежу позначено як paid або completed
- ефекти підписки або гаманця видимі
- можна безпечно повернутися до білінгу або кредитів, не побачивши застарілий стан
Це справжня причина, чому продукт чекає на /payment, а не одразу викидає користувача назад у застосунок.
Чому webhooks усе ще важливі, навіть якщо /payment робить опитування
/payment не замінює Stripe webhooks.
Webhooks усе ще оновлюють довговічний стан бекенду.
Сторінка /payment існує, щоб досвід міг зачекати, доки цей стан відобразиться достатньо добре для довіри перед перенаправленням.
Це різниця між:
- "Stripe щось обробив"
- і "Rivya тепер чітко відображає цю зміну"
Куди ви потрапляєте після оплати
Шлях повернення навмисно прив'язаний до того, що змінилося.
Якщо покупка пов'язана з підпискою, вас зазвичай повертають у бік білінгу.
Якщо покупка була пакетом кредитів, вас зазвичай повертають у бік кредитів.
Це не косметична маршрутизація. Вона відповідає питанню, яке користувачі зазвичай мають одразу після оплати:
- чи оновився мій план?
- чи оновився мій гаманець?
Що насправді означає timeout або failure
Якщо /payment завершується timeout або failure, це не означає автоматично, що сам платіж зник.
Частіше це означає одне з такого:
- запис платежу на боці продукту ще не став остаточним
- перенаправлення чекає на стан, який усе ще наздоганяє
- сторінка акаунта все ще виглядала б застарілою, якби користувача перенаправили надто рано
Саме тому стан timeout кращий за фальшивий стан успіху. Він каже користувачу, що саме продуктове підтвердження ще не завершене.
Найкращий спосіб перевірити, чи платіж справді дійшов
Після checkout найчистіший шлях перевірки такий:
- дайте
/paymentзавершити свій потік - перевірте
/settings/billing, якщо покупка була планом - перевірте
/settings/credits, якщо покупка була пакетом - перевірте Посібник Rivya з Notifications Center, якщо акаунт усе ще виглядає не синхронізованим
Зазвичай це краще, ніж оновлювати випадкові сторінки й здогадуватися.
Оплата також стає пам'яттю акаунта
Оплата - це не лише дія checkout. Вона також стає частиною історії акаунта через довговічні події, такі як:
- підписку розпочато
- підписку поновлено
- платіж не вдався
- пакет кредитів додано
Саме тому сповіщення тут теж важливі. Закриття вкладки Stripe не є кінцем історії акаунта.
Краща ментальна модель
Найпростіший спосіб думати про checkout у Rivya:
- Stripe обробляє рух грошей
/paymentобробляє повернення на бік продукту
Якщо тримати ці дві ролі окремо, весь потік стає легше зрозуміти.
Читати далі
- Посібник Rivya з кредитів і білінгу
- Plans and Packs у Rivya
- Посібник Rivya з Notifications Center
- Troubleshooting у Rivya
Чеклист стану Checkout
Коли покупка виглядає незавершеною або заплутаною, перевірте:
- Підтвердьте, де почався Checkout: public pricing, billing settings або credits settings.
- Перевірте, чи Stripe завершив платіж і повернув користувача на /payment.
- Зачекайте, доки Rivya оновить стан підписки, пакета, інвойсу й гаманця, перш ніж починати іншу платну задачу.
- Використовуйте сторінки білінгу для підписок і сторінки кредитів для пакетів або історії гаманця.
- Не сприймайте перенаправлення браузера як доказ, що webhook і стан акаунта вже остаточно зафіксовані.
Повторно перевірте перед повторною оплатою
Повторно перевірте перед повторною спробою оплати, якщо користувач бачить застарілий план, відсутні кредити, дубльовані вікна Checkout, невдалий платіж або успішну квитанцію Stripe, яка ще не відображається в Rivya.
Посібник Rivya із завантажень і повторного використання результатів
Перевіряйте, завантажуйте, повторно використовуйте й передавайте AI-результати Rivya між зображеннями, відео, аудіо, History, комерційними перевірками та бренд-перевіркою.
Посібник Rivya з планів і кредитних пакетів
Порівнюйте Rivya Free, Basic, Advanced, Pro, Premium і кредитні пакети для регулярної AI-роботи, проєктних сплесків і разових поповнень.