Разработать костяк vk app для принятия платежей за услуги + serverside

Цена договорная
01 июля 2022, 18:08 • 4 отклика • 72 просмотра
Из-за того, что для юзеров из РФ гугл и apple не позволено платить внутри мобильных приложений, надо разработать костяк vk mini app и серверную часть для принятия платежей за услуги (будет около 4 видов товаров, у каждого помимо названия будет 1-2 параметра).

Приложение состоит из 3х частей.

1) серверная часть, которая хранит список купленных товаров для каждого vk user, и свойства товаров, и отдает эту информацию по http(s) API

Свойства товаров и их цены админ загружает в базу через запрос к базе данных (sql Или no-sql), чтобы не делать админскую часть. Список покупок для юзеров - админ тоже редактирует только через sql. Таким образом, визуального интерфейса у админской части вообще нет!

2) vk mini app которое дает выбрать, какой товар купить. Оно берет список доступных товаров из серверной части (посредством ее собственного api) и их свойства. Показывает про каждый товар его описание (1 строчка текста) и кнопку Купить, при нажатии на которую происходит покупка товара.

3) Это опциональная часть!!! native android app демонстрирует работу 1 и 2. В нем есть одна кнопка Check. При нажатии на которую происходит вход в vk (используя vk mobile app sdk), далее через api у серверной части проверяется куплен ли хоть один товар в магазине данным юзером, если куплен, то показывается alert c текстом "You already purchased something", если ничего не куплено - то открывается vk mini app (в системном браузере или в приложении vk, а не в webview) где юзеру предлагается купить один из нескольких видов товара. Приложение запоминает вход в vk, чтобы юзеру каждый раз при запуске моб приложения не логиниться в вк. Также чтобы в коде приложения была доступна следующие 2 функции для использования нами в боевом коде:

class VKPayWrapper {
/* Мы эту функцию по таймеру будем вызывать в боевом коде. Никакого GUI показать она не должна, но если юзер залогинен в вк, то должен быть сделать запрос к серверной части для выяснения факта покупки юзером какого-либо товара */
public static void checkAnyItemsPurchased( callback: (int status) => void} );
// аргумент status у callback:
//-1 - юзер не залогинен в вк
//0 - юзер ничего не покупал
//ID > 0 - юзер хоть что-то купил - ID купленного товара

/*
Если не залогинен в вк - делает логин в вк.
После логина открывается vk mini app где юзеру предлагается что-нибудь купить (показывается список всех товаров с ценами, и кнопкой Купить около каждого) - это открывается в системном браузере или в приложении vk, а не в webview!
*/
public static void loginAndPay( callback: (int status) => void} );
// аргумент status у callback - возвращает то же, что и для checkAnyItemsPurchased
}

Дополнительные сведения:
1. vk mini app в каталоге vk mini apps размещено не будет, поэтому требования для модерации будут более лайтовые
2. Прогу для андроид надо сделать на java (а не на котлин)
3. Серверная часть - предпочтительно node js, менее препочтительно - php. Если сильно хочется какой-то другой язык - согласовывать его с нами.
4. Покупки совершать через https://vk.com/dev/payments (и покупаются не подписки, а покупки)
5. Для каждого устройства, с которого сделан логин, нужно в серверной части хранить слепок инфы об устройстве. И иметь лимит на одновременное количество юзеров, которые сделали логин в vk под данным аккаунтом Vk. Иначе пираты могут создать 1 аккаунт в вк, купить от его имени товар, и опубликовать логин-пароль на этот акк vk в интернете, и миллионы юзеров залогинятся под ним внутри приложения и будут считаться купившими товар, а разработчик в итоге получит деньги только за одну покупку с этого пиратского аккаунта.. По этой же причине нельзя сохранять инфу о купленных товарах внутри аккаунта vk используя API метод storage-set (потому что иначе можно из консоли разработчика в браузере записать себе в сторадж факт покупки товара).
6. Если вы не можете сделать часть 3) - мобильное приложение на java - но можете сделать остальные части - дайте знать, может быть мы реализуем ее своими силами или силами другого разработчика

В дальнейшем за дополнительную плату возможно будем дозаказывать реферальную программу, чтобы пользователи могли публиковать какой-нибудь промокод, и зарабатывать живые деньги с каждой покупки других юзеров (деньги будут переводится ему на кошелек VK в виде голосов), которые указали данный промокод при покупке товара. Ничего из этого в java приложении реализовывать не придется, только в серверной части и vk mini app

От вас хочется фиксированную цену за проект, а не почасовую ставку