Аутентификация
Примеры запросов
// URL, на который нужно отправить запрос
$pay_url = "https://pgtest.bspb.ru:5443/order";
// Данные для авторизации
$username = '';
$password = '';
$credentials = $username . ':' . $password;
$base64Credentials = base64_encode($credentials);
// Путь к ключу и сертификату
$certificate_path = './crt/bspb_test.pem';
$private_key_path = './crt/bspb_test.key';
// Данные для отправки в формате JSON
$body_request = [
'order' => [
'typeRid' => 'Purchase',
'amount' => 100.00,
'currency' => 'RUB',
'title' => 'Название заказа',
'description' => 'Описание заказа',
'hppRedirectUrl' => 'https://pgtest.bspb.ru/status'
]
];
// Инициализация cURL-сессии
$ch = curl_init($pay_url);
// Настройки POST-запроса
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body_request));
// Установка заголовков для отправки JSON и базовой авторизации
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Basic ' . $base64Credentials
]);
// Настройка для использования сертификата и ключа при выполнении запроса
curl_setopt($ch, CURLOPT_SSLCERT, $certificate_path);
curl_setopt($ch, CURLOPT_SSLKEY, $private_key_path);
// Настройка для получения ответа от сервера
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Выполнение запроса и получение результата
$response = curl_exec($ch);
# URL, на который нужно отправить запрос
pay_url = 'https://pgtest.bspb.ru:5443'
# Заголовки запроса
headers = {'Content-Type': 'application/json'}
# Данные для авторизации: username, password
auth = HTTPBasicAuth('', '')
# Путь к ключу и сертификату
certificate_path = 'crt/bspb_test.pem'
private_key_path = 'crt/bspb_test.key'
# Тело запроса
create_order = {
'order': {
'typeRid': 'Purchase',
'amount': 100.00,
'currency': 'RUB',
'title': 'Название заказа',
'description': 'Описание заказа',
'hppRedirectUrl': 'https://pgtest.bspb.ru/status'
}
}
# Выполнение запроса и получение результата
response = requests.post(f'{pay_url}/order', headers=headers, auth=auth, cert=(certificate_path, private_key_path),
json=create_order)
const options = {
method: 'POST',
// Путь к ключу и сертификату
key: fs.readFileSync('./crt/bspb_test.key'),
cert: fs.readFileSync('./crt/bspb_test.pem'),
// Установка заголовков для отправки JSON и базовой авторизации
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + Buffer.from('' + ':' + '').toString('base64')
}
};
// Данные для авторизации: username:password
auth := "" + ":" + ""
basicAuth := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
// Заголовки запроса
req.Header.Set("Authorization", basicAuth)
req.Header.Set("Content-Type", "application/json")
// Путь к ключу и сертификату
cert, err := tls.LoadX509KeyPair("./crt/bspb_test.pem", "./crt/bspb_test.key")
if err != nil {
fmt.Println("Ошибка при загрузке ключа и сертификата:", err)
return
}
// URL, на который нужно отправить запрос
String payUrl = "https://pgtest.bspb.ru:5443/order";
// Данные для авторизации
String username = "";
String password = "";
String credentials = username + ":" + password;
String base64Credentials = Base64.getEncoder().encodeToString(credentials.getBytes(StandardCharsets.UTF_8));
// Путь к ключу и сертификату (PKCS12 формат)
String certificatePath = "./crt/bspb_test.p12";
String certificatePassword = "";
// Данные для отправки в формате JSON
String jsonBody = """
{
"order": {
"typeRid": "Purchase",
"amount": 100.00,
"currency": "RUB",
"title": "Название заказа",
"description": "Описание заказа",
"hppRedirectUrl": "https://pgtest.bspb.ru/status"
}
}
""";
// Загрузка клиентского сертификата
KeyStore keyStore = KeyStore.getInstance("PKCS12");
try (FileInputStream fis = new FileInputStream(certificatePath)) {
keyStore.load(fis, certificatePassword.toCharArray());
}
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, certificatePassword.toCharArray());
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(kmf.getKeyManagers(), null, null);
// Создание HTTP клиента с SSL контекстом
HttpClient client = HttpClient.newBuilder()
.sslContext(sslContext)
.build();
// Создание запроса
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(payUrl))
.header("Content-Type", "application/json")
.header("Authorization", "Basic " + base64Credentials)
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// Выполнение запроса и получение результата
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
21 мая 2026