Магазин на Shopify, український ФОП, еквайринг LiqPay або Plata by Mono. Ви ставите Recharge чи Appstle, на картці товару з’являється перемикач «Підписатися», перше замовлення проходить — а через місяць нічого не списується. Застосунок показує підписку як активну, платіж не відбувся, помилки немає.
Це не баг застосунку. Це архітектура Shopify.
Чому так
Підписні застосунки Shopify не списують гроші самі. Вони створюють «контракт підписки» через Subscriptions API, а списання робить Shopify — через Shopify Payments або через шлюзи, які підтримують так звані vaulted payments, збереження картки на боці Shopify.
В Україні Shopify Payments недоступний. LiqPay, Plata by Mono, WayForPay підключаються як сторонні провайдери, і жоден із них не реалізує збереження картки для Subscriptions API. Тож контракт створюється, а списати за ним нічим. Recharge, Bold, Appstle, Seal, Loop — усі в однаковому становищі, бо всі залежать від одного механізму.
Докладніше про те, що саме вміє Shopify в Україні, — на сторінці інтеграції з Shopify.
Три варіанти, які реально працюють
Кастомна інтеграція з токенізацією
Розробник пише власне рішення: перша оплата через mono або LiqPay зі збереженням токена, планувальник, який у потрібний день створює інвойс за токеном, і логіку, яка після успішного списання створює замовлення в Shopify через Admin API. Кабінет покупця — окрема сторінка в темі.
На українському ринку є агентства, які продають це як готовий продукт під mono. Плюси: повний контроль, усе всередині вашого магазину. Мінуси: разова вартість розробки, підтримка на вас, кожна зміна в API monobank чи Shopify — ваша проблема. Повторні спроби, сповіщення, паузу й зміну частоти теж доведеться реалізувати.
Сервіс підписок поверх вашого еквайрингу
Віджет на картці товару, який веде підписний сценарій окремо від Shopify Checkout: покупець обирає частоту, платить через ваш LiqPay або mono, токен лишається у платіжної системи, сервіс тримає розклад і списує. Після кожного списання замовлення створюється у вашій адмінці Shopify через Admin API, Нова пошта оформлюється автоматично, покупець отримує кабінет.
Саме так працює Neocarts. Плюси: без розробки біллінгу, кабінет і повторні спроби вже є, оплата за моделлю 5% від успішних списань без абонплати. Мінуси: підписний чекаут — не нативний чекаут Shopify, і треба прийняти, що два потоки замовлень живуть поруч.
Перенести підписки з магазину
Для бренду, в якого підписка — другорядний канал, іноді простіше взагалі не чіпати Shopify: сторінка оформлення підписки Neocarts, на яку веде кнопка з картки товару, без віджета в темі. Той самий механізм, що для Horoshop і Tilda. Замовлення в Shopify при цьому не дублюються, якщо ви цього не попросите через API.
Порівняння
| Recharge / Bold / Appstle | Кастом під mono | Neocarts | |
|---|---|---|---|
| Списання через LiqPay / mono | Ні | Так | Так |
| Вартість | $0–99+/міс + % | Разова розробка, від кількох тисяч доларів | 5% від успішних списань |
| Абонплата | Так | Ні | Ні |
| Кабінет покупця | Так, але без списань | Треба писати | Є |
| Повторні спроби при невдачі | — | Треба писати | Є |
| Замовлення в адмінці Shopify | Так | Через Admin API | Через Admin API |
| Нова пошта | Ні | Треба інтегрувати | Є |
| Підтримка змін в API | На вендорі | На вас | На нас |
Кастом має сенс, коли підписка — ядро бізнесу з мільйонним оборотом, а вимоги до чекауту специфічні. У решті випадків різниця у вартості на горизонті року — у кілька разів не на користь кастому. Порахувати це на своїх цифрах допоможе стаття про юніт-економіку підписки.
Що робити, якщо застосунок уже стоїть
Вимкнути перемикач підписки на картці товару, щоб не створювати контракти, за якими не буде списань. Чинних підписників, якщо вони є, перевести вручну: лист із посиланням на нову підписку, перша оплата — й далі автоматично. Застосунок можна видалити, щойно останній контракт закрито.
Сам рекурентний механізм і ціни описані окремо. Якщо ваша тема нестандартна, залиште заявку — подивимося, куди вставити віджет із мінімальними правками.