API платёжного шлюза интернет-эквайринга Help

Аутентификация

Примеры запросов

// 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