1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sinagamesdk-sinagamesdk-android

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
新浪游戏AndroidSDK接入文档—服务端.md 12 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 17:09 61ace3b

Документация по интерфейсам SNG для партнеров (серверная часть)

1. Интерфейсы пользователей

1.1. Интерфейс проверки информации пользователя (серверная часть)

http://m.game.weibo.cn/api/sdk/user/check.json Используется для проверки идентификации пользователя.

Поддерживаемые форматы

JSON (ответ в формате JSON, запрос в стандартном формате HTTP)

Ключ для аутентификации (signature key), пожалуйста, обратитесь к сотрудникам службы поддержки Sina Games для получения

Метод HTTP запроса

POST

Описание параметров запроса

Параметр Тип Описание Обязательный
suid string Уникальный идентификатор пользователя true
appkey string Ключ текущей игры true
deviceid string Уникальный идентификатор устройства true
token string Уникальный идентификатор пользователя true
signature string Подпись, метод расчета указан в разделе 3.2 true

Описание параметров ответа

Параметр Тип Описание
suid string
token string
usertype string Тип аккаунта: 1 - быстрый тест, 2 - мобильный телефон, 3 - аккаунт Sina, 99 - аккаунт Weibo

Пример ответа

{
"suid": "3508971941",
"token": "tXvasFVztJrB7ebc06600eFVEXdB",
"usertype": 1
}

Пример тестирования

---------- ### 1.2. Интерфейс получения данных о реальной идентификации пользователя (серверная часть) http://m.game.weibo.cn/api/sdk/user/get_user_cert_status.json Используется для получения данных о реальной идентификации пользователя.

Поддерживаемые форматы

JSON (ответ в формате JSON, запрос в стандартном формате HTTP)

Ключ для аутентификации (signature key), пожалуйста, обратитесь к сотрудникам службы поддержки Sina Games для получения

Метод HTTP запроса

POST

Описание параметров запроса

Параметр Тип Описание Обязательный
suid string Уникальный идентификатор пользователя true
appkey string Ключ текущей игры true
token string Уникальный идентификатор пользователя true
signature string Подпись, метод расчета указан в разделе 3.2 true

Описание параметров ответа

Параметр Тип Описание
suid string
certification int Статус реальной идентификации: 1 - да, 0 - нет
is_adult int Статус совершеннолетия: 1 - да, 0 - нет
age int Возраст
birthday string Дата рождения
cert_id string MD5-хеш номера реальной идентификации

Пример ответа

{
"suid": "3508971941",
"certification": 1,
"is_adult": 1,
"age": 31,
"birthday": "19890101",
"cert_id": "d41d8cd98f00b204e9800998ecf8427e"
}

Пример тестирования

---------- ## 2. Интерфейсы оплаты

2.1 Возвратный интерфейс предоставляется разработчиками

В отличие от вышеупомянутых интерфейсов, возвратный интерфейс разрабатывается и развертывается каждым поставщиком контента (CP) в соответствии с едиными стандартами для использования мобильными микроприложениями.

Ключ шифрования интерфейса

Пожалуйста, используйте appsecret игры

Метод HTTP-запроса

GET

Описание параметров запроса

Параметр Тип Описание Обязательный
order_id string Заказной номер, полученный при вызове интерфейса заказа true
amount int Сумма платежа, единица измерения — центы true
order_uid string ID пользователя платежа true
source string appkey приложения true
actual_amount int Реальная сумма платежа, единица измерения — центы true
pt string Прозрачный параметр (присутствие этого параметра зависит от наличия параметра pt при заказе) true
signature string Подпись для проверки параметров, метод генерации см. Приложение 1 true

Описание параметров ответа

HTTP-статус должен быть 200, результат — строка "OK", и она должна быть написана заглавными буквами.

Пример тестирования

---------- ##3. Приложения

3.1 Формат возврата ошибок интерфейса

{
	"request" : "/rank/show",
	"error_code" : "10013",
	"error" : "Недействительный пользователь Weibo"
}

Описание параметров ответа

Параметр Тип Описание
request string Запрошенный URL
error_code string См. http://open.weibo.com/wiki/Error_code для конкретного значения
error string Описание ошибки

3.2 Механизм подписей для интерфейса информации о пользователе

1. Правила подписей

a) Параметр signature не участвует в подписи
b) Пустые параметры также участвуют в подписи
c) Если параметры содержат специальные символы, такие как кириллица, &, %, @ и т. д., необходимо выполнить url_encode после подписи
d) В настоящее время поддерживаются только подписи MD5

2. Шаги подписи

a) Отсортируйте все параметры для подписи по алфавиту (например, с помощью функции PHP ksort())
b) Составьте строку, объединив все параметры в формате "параметр=значение" символом "&", получив строку A
c) signature_key — это ключ авторизации, выданный оператором Синьцзяо, пожалуйста, обратитесь к оператору Синьцзяо за получением
d) Объедините строку A и signature_key символом вертикальной черты, получив строку C, затем выполните MD5 для строки C, получив строку D, которая и будет необходимой подписью

3. Пример

/**
 * Генерация подписи
 * @param $params отсортированный массив параметров для подписи
 * @param $sina_secret ключ авторизации, выданный оператором Синьцзяо
 */```markdown
### 3.3 Механизм подписи для платежных интерфейсов
#### 1. Правила подписи
```markdown
а) Параметр `signature` не участвует в подписи.
б) Значения параметров для вычисления не должны кодироваться с помощью `urlencode`.
в) В зависимости от наличия параметра `pt`, он может быть добавлен или нет.

2. Шаги подписи

а) Сортировать все параметры для подписи по имени параметра (в алфавитном порядке, например, с помощью функции `ksort()` в PHP).
б) Составить строку A, объединив все элементы массива в формате "параметр=значение" с помощью символа "&".
в) Объединить строку A с параметром `appsecret` с помощью английского вертикального черта, чтобы получить строку B. Затем вычислить хэш SHA1 для строки B, чтобы получить строку C, которая и будет необходимой подписью.

3. Пример

http://test.game.weibo.cn/paysys/pay.php?amount=1&desc=test&from=101010001000&method=order&pt=qwertyuiopasdfghjkl1234567890&sessionkey=sessionkey&source=3093918086&uid=1985490674&signature=6a158cafc6fbd3a94310196356c2b29c43abc975
Тогда метод вычисления подписи будет следующим:
sha1("amount|1|desc|test|from|101010001000|method|order|pt|qwertyuiopasdfghjkl1234567890|sessionkey|sessionkey|source|3093918086|uid|1985490674|appsecret")
/**
 * Генерация подписи
 * @param $secret ключ для вычисления подписи
 * return строка с результатом подписи
 */
public static function buildRequestMysign($secret)
{
	if (empty($_REQUEST)) return FALSE;
	if (isset($_REQUEST['signature'])) unset($_REQUEST['signature']);
	// Сортировать все параметры для подписи по имени параметра
``` 	ksort($_REQUEST);
   	// Создаем строку A, объединяющую все элементы массива в формате "параметр|значение параметра" через символ "|"
      $str_A = '';
      foreach ($_REQUEST as $key => $value)
      {
          $str_A .= sprintf('%s|%s|', $key, $value);
      }
   	// Объединяем строку A с appsecret с помощью символа вертикальной черты, получая строку B
  	$str_B = $str_A . $secret;
   	// Вычисляем SHA1 от строки B, получая строку C, которая и будет нужной подписью
  	$str_C = sha1($str_B);
   	return $str_C;
  }
  Код ошибки | Описание | Сообщение
  -----------|----------|-----------

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sinagamesdk-sinagamesdk-android.git
git@api.gitlife.ru:oschina-mirror/sinagamesdk-sinagamesdk-android.git
oschina-mirror
sinagamesdk-sinagamesdk-android
sinagamesdk-sinagamesdk-android
master