Как сделать платеж ВКОНТАКТЕ

Лучший способ помочь другим, поделиться своими находками.

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение newArray 07 сен 2013, 20:42

Да какой врапер. просто беседа продолжалась в той теме. Я не знаю как тебе уже понятней объяснить. Я ж сказал это кусок кода для веб страницы.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение Ixilon 08 сен 2015, 09:02

А подскажите, в каком месте PHP скрипта впихнуть запись данных в БД.

Так проканает?

Синтаксис:
Используется javascript
case 'order_status_change_test':
      // Изменение статуса заказа в тестовом режиме
      if ($input['status'] == 'chargeable') {
        $order_id = intval($input['order_id']);
               
                $item_id = $input['item_id'];
               
                switch($item_id) {
        case "125":
        // здесь что-то происходит

        break;
        case "127":
        // здесь что-то происходит

        break;
        }
               


$app_order_id = 1; // Тут фактического заказа может не быть - тестовый режим.

.....
.....
 



И где базу данных инициировать подскажите плиз, а то боюсь в скобках запутаться.
Ixilon
UNец
 
Сообщения: 5
Зарегистрирован: 03 сен 2015, 16:35

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение ikhtd 08 сен 2015, 15:23

В принципе проканает. Главное угадать какой товар писать - через переменную подставить.

я базу данных инициализирую в скрипте платежа естественно сверху

Код: Выделить всё
<?php
header("Content-Type: application/json; encoding=utf-8");

$secret_key = 'Lhefhleijvje;vjBZ'; // Защищенный ключ приложения

$input = $_POST;


//Connecting to database

$connect = mysql_connect("localhost", "ctgjjgjz", "ngg.gk.g.gg.");

if(!$connect){

die(mysql_error());

}


//Selecting database

$select_db = mysql_select_db("cdgjhdhgz", $connect);

if(!$select_db){

die(mysql_error());

}


$ids = $input['user_id'];


$result = mysql_query("SELECT * FROM partickon WHERE idkon ='$ids'");

   $row = mysql_fetch_array($result);

   $myrank = $row['rank'];

...

// Проверка подписи
$sig = $input['sig'];
unset($input['sig']);
ksort($input);
$str = '';
foreach ($input as $k => $v) {
  $str .= $k.'='.$v;
}

if ($sig != md5($str.$secret_key)) {
  $response['error'] = array(
    'error_code' => 10,
    'error_msg' => 'notnot',
    'critical' => true
  );
} else {

...

и т. д.



конечно правильный алгоритм был бы принять колбек в джава скрипт- там где колбеки

Синтаксис:
Используется javascript
function onOrderSuccess()
{
   document.getElementById('unityPlayer').style.visibility = 'visible';
   u.getUnity().SendMessage("vkAPI", "receivecallbackFromVK", "success");
}


function onOrderFail()
{
   document.getElementById('unityPlayer').style.visibility = 'visible';
   u.getUnity().SendMessage("vkAPI", "receivecallbackFromVK", "fail");  

}

function onOrderCancel()
{
   document.getElementById('unityPlayer').style.visibility = 'visible';
   u.getUnity().SendMessage("vkAPI", "receivecallbackFromVK", "cancel");  

}

 


Потом видно что стринг отправляетя назад в юнити - в зависимости от результата. и вот тогда в юнити уже запусттить еще один php скрипт- который в зависимости от результата колбека запишет или нет в базу.
Мне кажется такой алгоритм был бы правильный. Потому что скрипт платежа там где кейс, какой результат возвращает- процес покупки или отмены покупки?

Ну а так по дурному можно въебать в изменение заказа такую строчку потом

Код: Выделить всё
case 'order_status_change':
// Изменение статуса заказа
      if ($input['status'] == 'chargeable') {
        $order_id = intval($input['order_id']);

$result = mysql_query ("UPDATE partickon SET rank= 'Col' WHERE idkon ='$ids'");  //my correction

Скрытый текст:
Объективная реальность это - что в жизни не может быть более одного пути, который в свою очередь обусловлен максимальным существующим давлением. (второй _ttp://habrahabr.ru/post/202654/)
ikhtd
Адепт
 
Сообщения: 1124
Зарегистрирован: 24 мар 2014, 12:20

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение Ixilon 10 сен 2015, 18:28

конечно правильный алгоритм был бы принять колбек в джава скрипт- там где колбеки

а это не будет угрозой безопасности?
а если приложение выключено/выбило/в фоновом режиме/улетело на луну?
Ixilon
UNец
 
Сообщения: 5
Зарегистрирован: 03 сен 2015, 16:35

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение newArray 11 сен 2015, 05:49

Теоретически будет. Практически мало кому придет в голову в момент платежа отрубать прилу. Вопрос с багом платежа у одного человека можно решить- если он обратиться

а изменение статуса заказа не выполняется когда например игрок захотел сделать покупку - а потом отказался? или еще что то подобное. что там вобще в изменении статуса - я не помню. а например если согласился платить- но у него на счету нет голосов и его посылают пополнить голоса.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение Ixilon 12 сен 2015, 01:29

А можно передавать в функцию юнити несколько параметров?

Например HTML:
u.getUnity().SendMessage("vkAPI", "receivecallbackFromVK", "success", x, y);

и С#:
public void Shoping(string param, int x, int y)
Ixilon
UNец
 
Сообщения: 5
Зарегистрирован: 03 сен 2015, 16:35

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение DbIMok 12 сен 2015, 03:14

Ixilon писал(а):А можно передавать в функцию юнити несколько параметров?

http://docs.unity3d.com/ru/current/Manu ... ation.html
Строка, float или целое число должно быть передано при использовании SendMessage(), этот параметр является обязательным.

передавайте строку. если нужно много значений используйте что-то типа JSON.stringify(data.error, null, 4); и в Unity разбирайте JSON
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение gnoblin 12 сен 2015, 04:00

нене, начисление золота только в платежном пхп скрипте вк - по клиентскому колбеку не надо))
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Как сделать платеж ВКОНТАКТЕ

Сообщение netghost55 12 ноя 2015, 18:47

gnoblin писал(а):нене, начисление золота только в платежном пхп скрипте вк - по клиентскому колбеку не надо))


а как это задать, чтоб от сервера пришел ответ, что все успешно и передать это в юньку ,чтоб оттуда начислить уже золото? можно ли получить от апи контактовского ясное подтверждение, что платеж совершен, чтобы в приложении начислять то, что он купил?
Аватара пользователя
netghost55
UNIт
 
Сообщения: 108
Зарегистрирован: 23 июн 2015, 12:23

Пред.

Вернуться в Исходники (Копилка)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2