Как сделать так, чтобы 3scale sigle подписывался на страницу плана?
Я хочу перенаправить пользователя непосредственно на страницу планирования подписки с выбранным планом, так как я могу это сделать.
Если вы можете сказать мне, как прочитать идентификатор плана параметров из sso, он также поможет.
1 ответ
Чтобы прочитать идентификатор плана, вы можете использовать следующую метку Liquid: {{ plan | to_param }}
когда у вас уже есть доступ к атрибуту плана из объекта Application. Это используется, если вы регистрируетесь прямо со страницы подписки на план. В качестве альтернативы вы можете использовать application[plan_id]={{plan.id}}
если вы просто хотите сохранить идентификатор плана в параметрах запроса при перенаправлении.
Если вы хотите получить идентификатор плана со своего внешнего сайта, вам нужно будет использовать API 3scale для извлечения этих данных, чтобы plan.system_name
или же plan.id
может быть передано в редиректе на 3scale Developer Portal. Точно так же, если эти планы довольно статичны, вы можете просто жестко закодировать их в HTML.
Когда пользователь попадает на страницу портала разработчика, должна быть какая-то пользовательская жидкость, которая считывает параметры запроса и затем фильтрует доступные планы:
{% assign params = request.request_uri | split: 'plan_id=' %}
{% param = params[1] %}
{% for service in provider.services %}
{% for plan in service.application_plan %}
{% case plan.id %}
{% when param %}
Some HTML here that renders the subscription form to that plan.
{% endcase %}
{% endfor %}
{% endfor %}
Жидкость очень гибкая, поэтому есть много способов сделать то же самое.
Проверьте Справочную документацию Liquid для получения дополнительной информации о Плане подачи заявления.