Подключение VKPay (Android)🔗
VKPay - платежная система, которую можно использовать в магазинах, при условии что там разрешены сторонние способы оплаты.
Внимание!
Не стоит использовать мобильный VKPay в магазинах которые явно запрещают использовать дополнительный платежные системы, так как это может привести к блокировке аккаунта и удалению приложения из магазина.
Начало работы🔗
Для того, чтобы начать пользоваться VKPay необходимо по аналогии с другими магазинами:
- Создать проект на сайте VK platform
- Завести список товаров, добавить описания и цены на сайте MRGS
- Подключить зависимости и настроить проект
Создание проекта в VK platform🔗
- Если у вас еще нет проекта в VK platform, то его необходимо завести, согласно документации данной платформы.
- Далее скопируйте Сервисный ключ доступа из VK platform и добавьте его в MRGS консоль вашего проекта -> Интеграция -> VK access token
Добавление товаров🔗
Завести список товаров, и добавить описания можно на сайте MRGS. Обязательно нужно выставить у товара, что товар будет использовать для VKPay платежей, выставив одноименный флаг у товара, и указать цены в рубля выше 0.
Замечание
На клиент приходят лишь только те товары, у которых выставлен флаг vkpay и цены в рублях выше 0. В противном случае сервер будет игнорировать данные товары.
Подключение зависимостей🔗
- Добавить модуль MRGSVKPay:
Добавление в Unity проект (общая инструкция)
- Добавьте VK репозиторий в ваш root gradle фай:
allprojects {
repositories {
// others
maven { url "https://artifactory-external.vkpartner.ru/artifactory/superappkit-maven-public/" }
}
}
Шаг 1. Добавьте источники
Для того, чтобы добавить MRGS в проект через Unity Package Manager (доступно с Unity 2018+) просто добавьте в файл Packages/manifest.json раздел scopedRegistries, добавив в него следующую запись:
{
"dependencies": {
...
},
"scopedRegistries": [
{
"name": "MRGS",
"url": "https://mrgs-nexus.my.games/repository/mrgs-uninty-plugins/",
"scopes": [
"games.my.mrgs"
]
}
]
}
Альтернативно, можно нажать Edit -> Project Settings -> Package Manager -> '+' in scoped registry section, и заполнить поля в соответствии с данными выше.
Шаг 2. Добавьте зависимость
- Нажмите
Window -> Package Manager -> select 'Packages: MyRegistries' from dropdown list, выберите пакетMRGSVKPayиз списка, затем нажмите "Install" - Импортируйте модуль:
using MRGS;
- Загрузите последнюю версию библиотеки. Распакуйте архив.
- (Для интеграции unitypackage) В Unity нажмите
Assets -> Import Package -> Custom Package, и выберите пакетgames.my.mrgs.vkpay.unitypackageиз скачанного архива. - (Для интеграции tgz) В Unity нажмите
Window -> Package Manager -> '+' -> Add package from tarball, и выберите пакетgames.my.mrgs.vkpay-<version>.tgzиз скачанного архива. - Импортируйте модуль:
using MRGS;
Добавление в Android проект
- Добавьте VK репозиторий в ваш root gradle фай:
allprojects {
repositories {
// others
maven { url "https://artifactory-external.vkpartner.ru/artifactory/superappkit-maven-public/" }
}
}
- Добавьте зависимости в ваши Application gradle file.
Скопируйте файл MRGSVKPay.aar в директорию libs вашего проекта. Добавьте необходимые зависимости в файл build.gradle
VK авторизация
VKPay не совместим с другой библиотекой для авторизации/регистрации в VK. Убедитесь что в сборку не попадают одновременно эти две библиотеки, или добавьте в ваш mainTemplate.gradle файл следующий скрипт, что бы исключить из компиляции старый вариант авторизации:
Android sdk-fingerprint is incorrect
Если вы используете новый механизм подписи apk/bundle в GooglePlay, вам следует взять SHA1 из GooglePlay Console вашего проекта.
Настройка проекта🔗
На Андроид платформе нет возможности настроить VK библиотеку через код (выставить ключи в SDK). Потому единственный способ сделать это, настроить проект согласно документации VK platform.
Настройка MRGS🔗
Механизм работает аналогично покупкам в любом мобильном магазине через модуль MRGSBank.
Работа с приемом платежей из мобильного приложения🔗
Используется стандартный подход для мобильных платежей в MRGSBank - загрузка товаров(загружаются с сайта MRGS), отображение(средствами приложения), вызов метода покупки при нажатии, получение callback'а.
Вы можете работать с платежами с помощью нового класса, или выставления типа биллинга на старте приложения:
Работа через класс MRGSVKPay🔗
Для работы с платежами вам необходимо использовать новый класс в MRGSVKPay модуле:
Данный класс реализует интерфейс MRGSBilling/MRGSBank а следовательно они работают точно так же, поэтому можно обратиться к документации по работе MRGSBank API.
Указание биллинга на старте приложения🔗
Также, поддерживается выставление типа биллинга при старте:
using MRGS;
public class MasterController : MonoBehaviour
{
void Awake()
{
MRGServiceParams serviceParams = MRGServiceParams.initWithAppId(appId: APP_ID, appSecret: APP_SECRET);
//Настройка параметров MRGS
// ...
//Включение работы с VKPay через класс MRGSBank
serviceParams.BankSubstitution = BankSubstitution.VkPay;
//Настройка Внешних SDK и инициализация MRGS
// ...
}
}
import games.my.mrgs.MRGService;
import games.my.mrgs.MRGServiceParams;
import games.my.mrgs.billing.vkpay.MRGSVKPay;
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
final MRGServiceParams serviceParams = MRGServiceParams.init(APP_ID, APP_SECRET, PLATFORM);
// Setting up MRGS params
// ...
// Enabling work with MRGSVKPay via the MRGSBank class
serviceParams.setBillingSubstitution(MRGSVKPay.BILLING_VKPAY);
MRGService.service(context, serviceParams, externalSdkParams);
}
}
В таком случае дальнейшую работу с платежами вы можете осуществлять через класс MRGSBank, как обычно.
Нюансы по работе с платежами🔗
На текущий момент поддерживаются только consumable платежи.
Установка делегата и проверка доступности🔗
Данный пункт ничем не отличается от Установка делегата и проверка доступности.
Получение информации о доступных продуктах🔗
Данный пункт ничем не отличается от Получение информации о доступных продуктах.
Продукты будут загружены с сайта MRGS, то есть те, которые вы заводили при настройке проекта на маркете.
Проведение платежа🔗
Данный пункт ничем не отличается от Проведение платежа, делегаты поддержаны.
Восстановление покупок🔗
Данный механизм отсутствует в VKPay.
Проведение тестовых платежей🔗
Для тестирования платежей, можно завести пару товаров с маленькой суммой и проводить тестирования на них.
Дата создания: 2022-10-04