Basic HTTP-авторизация
Чтобы обеспечить авторизацию и безопасность работы по протоколу JSON API, все запросы должны содержать заголовок Authorization: Basic.
1 |
Authorization: Basic anNvbjpqc29u |
В качестве логина и пароля используется логин и пароль для доступа в личный кабинет . Для использования протокола мы рекомендуем создать отдельного пользователя.
Добавление пользователя в личном кабинете
Ниже приведен пример на PHP выполнения запроса с http авторизацией на получение списка платежных систем. ( Запрос протокола 1.1.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $server_paykeeper="demo.rsb-processing.ru"; # указывается адрес вашего сервера PayKeeper $uri="/info/systems/list/"; # Запрос 1.1 JSON API $user="json"; # Логин в личном кабинете PayKeeper $password="json"; # Соответствующий логину пароль $base64=base64_encode("$user:$password"); # Формируем base64 хэш $curl=curl_init(); # curl должен быть установлен $headers=Array(); array_push($headers,'Authorization: Basic '.$base64); # Подготавливаем заголовок для авторизации curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_URL,$server_paykeeper.$uri); curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'GET'); curl_setopt($curl,CURLOPT_HTTPHEADER,$headers); curl_setopt($curl,CURLOPT_HEADER,false); $out=curl_exec($curl); # Инициируем запрос к API print_r(json_decode($out)); # Декодируем ответ и выводим ?> |
Если запрос выполнен корректно, будет выведен объект следующего вида:
1 2 3 4 5 6 7 8 9 10 11 12 |
[ { "id": "6", "system_description": "RS", "site_description": "Русский Стандарт" }, { "id": "127", "system_description": "TestPayments", "site_description": "Тестовый Платёж" } ] |
Если заголовок HTTP-авторизации не направлен или сформирован некорректно, в ответ сервер отправит титульную страницу.
Для тестирования запросов на сервере demo.rsb-processing.ru необходимо использовать логин:json и пароль:json. Запросы на изменение данных в демо-версии запрещены.