http://m.game.weibo.cn/api/sdk/user/check.json Используется для проверки идентификации пользователя.
JSON (ответ в формате JSON, запрос в стандартном формате 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)
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. Интерфейсы оплаты
В отличие от вышеупомянутых интерфейсов, возвратный интерфейс разрабатывается и развертывается каждым поставщиком контента (CP) в соответствии с едиными стандартами для использования мобильными микроприложениями.
Пожалуйста, используйте appsecret игры
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. Приложения
{
"request" : "/rank/show",
"error_code" : "10013",
"error" : "Недействительный пользователь Weibo"
}
Параметр | Тип | Описание |
---|---|---|
request | string | Запрошенный URL |
error_code | string | См. http://open.weibo.com/wiki/Error_code для конкретного значения |
error | string | Описание ошибки |
a) Параметр signature не участвует в подписи
b) Пустые параметры также участвуют в подписи
c) Если параметры содержат специальные символы, такие как кириллица, &, %, @ и т. д., необходимо выполнить url_encode после подписи
d) В настоящее время поддерживаются только подписи MD5
a) Отсортируйте все параметры для подписи по алфавиту (например, с помощью функции PHP ksort())
b) Составьте строку, объединив все параметры в формате "параметр=значение" символом "&", получив строку A
c) signature_key — это ключ авторизации, выданный оператором Синьцзяо, пожалуйста, обратитесь к оператору Синьцзяо за получением
d) Объедините строку A и signature_key символом вертикальной черты, получив строку C, затем выполните MD5 для строки C, получив строку D, которая и будет необходимой подписью
/**
* Генерация подписи
* @param $params отсортированный массив параметров для подписи
* @param $sina_secret ключ авторизации, выданный оператором Синьцзяо
*/```markdown
### 3.3 Механизм подписи для платежных интерфейсов
#### 1. Правила подписи
```markdown
а) Параметр `signature` не участвует в подписи.
б) Значения параметров для вычисления не должны кодироваться с помощью `urlencode`.
в) В зависимости от наличия параметра `pt`, он может быть добавлен или нет.
а) Сортировать все параметры для подписи по имени параметра (в алфавитном порядке, например, с помощью функции `ksort()` в PHP).
б) Составить строку A, объединив все элементы массива в формате "параметр=значение" с помощью символа "&".
в) Объединить строку A с параметром `appsecret` с помощью английского вертикального черта, чтобы получить строку B. Затем вычислить хэш SHA1 для строки B, чтобы получить строку C, которая и будет необходимой подписью.
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 )