Быстрый старт
Пошаговое руководство запуска игры. Основные моменты
Попросите издателя создать необходимые приложения на площадках. Также сообщите:
1) адрес приложения. Приложение должно работать с https.
2) адрес, где у Вас будет размещен платежный скрипт (payment.php).
3) список площадок на каких планируете размещаться.
4) профили, которым нужно предоставить административный доступ.
5) Ваши IP адреса, которые Вы будете использовать.
Вы получите:
1) необходимые доступы и ключи.
2) библиотеку PPLIB.
3) необходимые шаблоны на PHP.

Index.php - файл авторизации
Добавьте в шаблон index.php работу с базой данных, создание пользователя и все что нужно
// Работайте с этими переменным
$website //website  (1-VK, 2-OK, 3-Мой мир, 4-фотострана, 5-Рамблер, 6-РБК)
$soc_id // айди в соц сети. Строка переменной длины. 

//запрос к базе данных

Подключение библиотеки PPLIB
// Подключите библиотеку JS
// <script type="text/javascript" src=js/pplib.min.js></script>
// После этого можете инициализировать
// НЕ ПОДКЛЮЧАЙТЕ БИБЛИОТЕКИ СОЦ СЕТЕЙ. PPLIB - это сделает сама


var debug_pplib=true;

if(website==1)
{
  // vk.com: {test_mode:1} для отключенного приложения. Лучше включить сразу
  PPLIB.init(1, {}, debug_pplib, Init});
}
else if(website==2)
{
  if(mobile) 
  {
    // ok.ru mobile: ok_client_key - клиентский ключ из настроек
    // ok_api_id: - идентификатор приложения
    PPLIB.init(2, {mobile:1, ok_lib_url: 'js/oksdk.js', client_key: ok_client_key, api_id: ok_api_id}, debug_pplib, Init});    
  }
  else 
  {
    //ok.ru WEB version
    PPLIB.init(2, {}, debug_pplib, Init});
  }  
}
else if(website==3)
{
  // my.mail.ru: mm_client_key - клиентский ключ из настроек
  PPLIB.init(3, {client_key: mm_client_key}, debug_pplib, Init);
}
else if(website==4)
{
  // fotostrana.ru: fs_client_key - клиентский ключ из настроек
  // fs_api_id: - буквенный идентификатор приложения
  PPLIB.init(3, {client_key: fs_client_key, api_id: fs_api_id}, debug_pplib, Init);
}
else if(website==5)
{
  // Rambler: {test_mode:1} для приложения в sandbox.games.rambler.ru. Т.е. до релиза
  PPLIB.init(5, {test_mode:1}, debug_pplib, Init);
}
else if(website==6)
{
  // RBK
  PPLIB.init(6, {}, debug_pplib, Init);
}

Функция Init
function Init()
{
  // получите необходимые данные о пользователи и список друзей, где возможно
  // обратите внимание что картинки немного различаются в размерах.
  if(website==1 || website==2 || website==3 || website==4)
  {
    // информация о текущем пользователе
    PPLIB.api('pp.getCurrentUser', {}, function(data) { console.log(data)})
    // список друзей с именами и картинками
    PPLIB.api('pp.getAppFriends', {}, function(data) { 
	PPLIB.api('pp.getProfiles', { user_ids: data.slice(0, 50).toString()}, function(data) { 
             for(var item in data)
	     {
		console.log(data[item].first_name+' '+data[item].last_name)
	     }
	})
    });
   // добавьте кнопку пригласить друзей
  //  '<button onclick="InviteBox()">Invite</button>'; // пример кнопки     
  }
  // Добавьте функцию платежа. ВЕЗДЕ
  //  '<button onclick="BuyItem()">BuyItem</button>'; // пример кнопки     

  //Добавьте платежный callback
  PPLIB.addCallback('pp.onOrder', onOrder);
}

function InviteBox()
{
   // текст отобразится в мой мир и ОК
   PPLIB.callMethod('pp.showInviteBox', 'Заходите в мою класную игру');
}

function BuyItem()
{

   // ОБЯЗАТЕЛЬНО закрывайте полноэкранный режим до вызова pp.buyItem
   // в разных соц сетях используются не все параметры, но лучше задать их все 
  PPLIB.callMethod('pp.buyItem', 
  { 
    item: 10001, //лучше везде использовать целые числа
    title: 'Название предмета', // нужно для некоторых площадок
    description: 'Описание предмета', // нужно для некоторых площадок
    price: 7, // либо результата PPLIB.convPrice(rub_price)[0]
    img: 'https://mysite/img/1.png' // картинка нужна для некоторых площадок
  });
}

function onOrder()
{
 //напишите, что все хорошо и обновите значение игровой валюты из сервера
}
Функция PPLIB.convPrice(rub_price)
Задайте значение в рублях, а она вернет стоимость в валюте площадки и название
PPLIB.convPrice(rub_price) // rub_price - целое и положительное число


var price_arr=PPLIB.convPrice(7); //votes*7 если все было в голосах
price_arr[0] // число для вызова в платежном скрипте
price_arr[1]  // число для отображения на кнопке покупка
price_arr[2]  // название валюты площадки с учетом числительного

// Пример возврата
[7, 7, "рублей"]

payment.php - файл платежей
Добавьте в шаблон payment.php начисление валюты для игрока
// Работайте с этими переменным
$website //website  (1-VK, 2-OK, 3-Мой мир, 4-фотострана, 5-Рамблер, 6-РБК)
$soc_id // айди в соц сети. Строка переменной длины. 
$item_id // айди предмета, который был куплен
Ознакомьтесь с нюансами площадок

Как запустить приложение на рамблере

Как запустить приложение на фотостране

Как запустить приложение на РБК

Как запустить приложение в моем мире

Как запустить приложение на ok.ru

Как запустить приложение на vk.com

Готово!
Напишите издателю, для модерации и запуска игры.