Во встроенном контроллере приложения используйте фильтр «до».
before_action :require_subscription
В вашем личном методе require_subscription вы можете установить сеанс и проверить, есть ли в магазине заряд, который вас радует. Если нет, сделайте один. Если они это делают, продолжайте. Если у них есть ожидающий, активируйте его. И т.д.
Вам не нужен ни движок, ни сложное репо, чтобы выполнить биллинговый API. В любом случае, простой ответ фильтра мне очень помог.