Oops... your message was not sent

Your message has been successfully sent

тематические истории, основанные на опыте компании JetRuby
Веб-разработка, Мобильная разработка

Как монетизировать мобильное приложение в Китае с помощью Ping++

В настоящий момент наша компания занимается освоением китайского рынка. А поскольку все дороги во современном мире ведут в Поднебесную, мы решили поделиться собственным опытом. Начнем с платежных сервисов. Мы тщательно изучили весь предложенный ассортимент и сделали свой выбор.

Введение

Ping++ это платформа, распространенная в Китае и обеспечивающая единый интерфейс для оплаты с помощью местных сервисов. Например, таких гигантов, как WeChat и Alipay. Возможно использование бесплатное версии, но стоит обратить внимание, что она ограничена всего тысячью API запросов в месяц. Со всеми тарифными планами можно ознакомиться по ссылке.

Ping++ стоит использовать в случае, если вы нацелены на китайский рынок и планируете использовать местные платежные системы. Платформа обеспечит простой единый интерфейс для осуществления платежей и сбора статистики. Именно поэтому задачи, связанные с монетизацией на китайском рынке, мы решали с ее помощью.

Впрочем, изначально в качестве основного варианта рассматривался Stripe, который как раз заявил о поддержке Alipay и WeChat. Но этот вариант не прокатил. Так как по факту поддержка Alipay со стороны Stripe сосредоточена на Гонконге и ограничена относительно небольшим списком валют, даже не включающим в себя юани.

Что же касается WeChat, то фактическая поддержка на сегодняшний день просто отсутствует. В итоге мы пришли к выводу использовать Stripe только для платежей с помощью карты. Кстати, они не сильно распространены в Китае, в отличии от WeChat и Alipay, которые используются более чем в 80% случаев.

Преимущества

Как указано выше, главным достоинством Ping++ является единый интерфейс для различных платежных систем. Это большой плюс, как для удобства реализации, так и для дальнейшей поддержки. Из всех сервисов, работающих на территории Китая, Ping++ возможно является самым продвинутым и оптимальным решением, так как он сводит к минимуму разрозненность интерфейсов китайских платежных систем.

Кстати, флоу работы и оплаты для разных систем очень похож. Сперва формируется хэш с необходимыми данными и создается счет помощью pingpp. Полученный счет либо передается клиентскому SDK, либо формирует QR код из ссылки, указанной в теле счета. После этого пользователь совершает оплату и результат возвращается в виде колбэка на сервер.

Существует официальный гем, который весьма прост в использовании и позволяет создать счет на оплату, а также верифицировать колбэк после ее осуществления. У гема довольно неплохая документация, но с одним недостатком, о котором пойдет речь дальше. Кроме того, Ping++ предоставляет возможность работы в тестовом режиме, который достаточно точно соответствует реальному флоу.

Недостатки

Самый первый недостаток, который бросается в глаза — это отсутствие какой-либо локализации. Везде используется китайский язык. Эту проблему вроде как можно решить с помощью перевода. Но вы же понимаете, что такое машинный перевод. Порой он вводит в заблуждение. Проблемы могут также возникнуть при общении с техподдержкой. Support Ping++ использует исключительно китайский язык и игнорирует обращения на английском.

Второй недостаток заключается в том, что, в отличие от Stripe, Ping++ не гарантирует мгновенности предоставления статуса платежа. По крайней мере, на сегодняшний день. В итоге, порой возможен вариант, что callback придет значительно позже.

Взаимодействие с платежными системами

При работе с платежными системами Ping++ использует так называемые “каналы”. Для одной системы может существовать несколько каналов, которые используются для различных типов платежей (QR код, мобильное приложение, веб-сайт). По умолчанию все каналы неактивны и перед использованием того или иного метода оплаты, нужно пройти активацию. Со стороны Ping++ она не представляет сложности, так как к каждому каналу прилагаются инструкция и требования. Например, тут можно ознакомиться с активацией QR кода для WeChat.

Сложность представляет настройка самих платежных систем, а также, в силу того же китайского языка, запутанность сервисов и бюрократических издержек. Если с заполнением полей все более-менее понятно, так как в инструкции описано где их брать, то с настройкой самих приложений могут возникнуть трудности. Впрочем, они преодолимы. Как правило, все сводится к активации определенных услуг и функций приложения, необходимых для использования Ping++.

Также стоит обратить внимание, что при переключении активированного канала с тестового в живой режим могут появиться ошибки. Чаще всего они связаны с конфигурацией самих платежных систем.

С основными преимуществами и недостатками мы разобрались. Теперь самое время рассказать о специфике работы с платформой Ping++.

Начнем с главного. Ping++ имеет хорошую документацию по настройке и работе с сервисом. Пользуясь переводчиком, вы поймете, если не все, то почти все. Основная документация доступна по ссылке. В этой статье мы подразумеваем, что вы уже создали приложение и увидели панель управления.

Конфигурация платформы

После создания приложения вам нужно пройти верификацию с использованием бизнес информации. Это необходимо для перехода в live режим. Если вы не прошли верификацию, то увидите соответствующее уведомление в настройках.

При инициализации pngpp следует указать AppId, который можно получить на дашборде

Путь к публичному ключу, который находиться в настройках приложения. Секретные ключи для тестового и продакшн окружения на том же ‘Test Secret Key’ и ‘Live Secret Key’ соответственно.

Далее рекомендуется установить собственный ключ, активировать его и указать в pingpp путь к своему приватному ключу.

После этого необходимо настроить веб хуки в тестовом и живом режиме. Если оплата прошла успешно, в теле запроса JSON с информацией о платеже и мета датой, указанной при создании счета, сработает колбэк с результатом по указанному адресу.

Кроме того, в форме нужно указать адрес для обращения веб хука и событие. В нашем случае событие называется charge.succeed.

Чтобы сделать запрос на создание платежа нужно передать хэш с определенной информацией. Для разных каналов требования к хэшу могут различаться. Вы можете узнать об этом подробнее, изучив документацию.

Каналы Ping++ используются для доступа к платежным сервисам. Например, для оплаты через QR код с помощью WeChat и Alipay будут вам нужны два канала: ‘wx_pub_qr’ и ‘alipay_qr’. Для мобильного приложения: ‘wx’ и ‘alipay’. Для оплаты через Alipay на ПК — ‘alipay_pc_direct’.

Каждый канал активируется заполнением данных о приложении. Также следует позаботиться о правильной настройке, верификации и активации нужных функций в самом приложении. Даже если канал активирован и в тестовом окружении все работает, некорректная настройка самих платежных сервисов будет выдавать ошибку на проде.

Платежи с помощью WeChat QR кода

Сперва нужно выбрать канал, соответствующий способу оплаты

После этого нужно заполнить информацию о приложении. Инструкция перед вами.

С помощью pingpp делается запрос на создание счета. Аргументом передается хэш с необходимой информацией, например:

Цена указывается в минимальной единице. В метадате передается информация, которая будет использована при получении колбэка с результатом. Если все впорядке, то создается счет и возвращается в виде JSON. В случае с QR кодом нас интересует поле ‘wx_pub_qr’

Из указанного адреса необходимо сформировать и передать пользователю QR код. После того, как юзер его просканирует, он попадает в приложение для совершения оплаты. Как только деньги уходят по заданному адресу, инициируется колбэк с результатом. Прежде чем предпринимать какие-либо действия с данными, пришедшими из колбэка, следует верифицировать запрос. Это делается в целях вашей же безопасности. К слову, Pingpp позволяет легко и просто верифицировать запросы.

Чтобы отобразить результат, пользователю нужно инициировать вотчер для проверки статуса платежа. Вы можете разобрать этот кейс подробнее по ссылке.

Платежи с помощью Alipay PC direct

Выбор канала

Заполнение необходимыми ключами

С помощью pingpp делается запрос на создание счета. Аргументом передается хэш с необходимой информацией, например:

В ответ приходит JSON счета на оплату, который нужно передать в H5 SDK. Речь идет о подключаемой JavaScript библиотеке.

Предложенный метод перенаправляет пользователя в соответствующий сервис для оплаты. А затем возвращает по адресу, указанному в поле extra. Остается лишь дождаться колбэка с результатом платежа.

Платежи с помощью мобильного приложения

Для WeChat и Alipay процесс абсолютно идентичен. Отличается лишь название канала. ‘wx’ для WeChat, ‘alipay’ для Alipay.

Выбор каналов

Мобильное приложение делает API запрос с необходимыми параметрами. Сервер формирует хэш и создает счет. Полученный JSON возвращается на мобильное приложение. Далее проводится оплата с использованием SDK и срабатывает колбэк,  возвращающий результат на сервер.

Заключение

Предметно изучив Ping++, мы пришли к выводу, что несмотря на возможные трудности с конфигурацией, платформа достаточно проста в обращении. И если вы планируете выход на китайскую аудиторию, на нее стоит обратить пристальное внимание. Наша собственная практика наглядно продемонстрировала: Ping++ существенно облегчает доступ к распространенным платежным сервисам made in China.

department
Статью подготовил
Отдел веб-разработки
Профессиональная разработка сайтов и приложений на стороне сервера и клиента. Проектирование дизайна, верстка страниц и техническое обслуживание реализованных проектов.
New Articles