ChatGPT:
Для отправки этого cURL запроса в Guzzle PHP, вам потребуется установить Guzzle HTTP клиент, если он еще не установлен. Выполните следующие шаги:
Установите Guzzle через Composer (если вы этого еще не сделали):
composer require guzzlehttp/guzzle
В вашем PHP-скрипте используйте следующий код для отправки запроса:
<?php
require 'vendor/autoload.php'; // Путь к файлу autoload.php из установленного Guzzle через Composer
use GuzzleHttp\Client;
$baseUrl = 'https://mc.api.sberbank.ru/prod/tokens/v3/oauth';
$rqUID = '25Ec70328e2CE4DF39e828E1dF75EFa0';
$authorization = 'Basic MTgwYmYzNTItNDlhZC00MGVhLTgyYmItMDcwMTRiMjdjODQ5OjUwM2NhNmUwLWE5OWEtNDYzZC05OTIzLWJlZWUzYjVhYzYzNA==';
$scope = 'https://api.sberbank.ru/qr/order.create';
$certPath = '/absolute/path/to/certif.p12';
$certPassword = 'RiKZcN3Z';
$cacertPath = '/absolute/path/to/russian-trusted-cacert.pem';
$client = new Client();
$response = $client->request('POST', $baseUrl, [
'headers' => [
'RqUID' => $rqUID,
'Authorization' => $authorization,
'Content-Type' => 'application/x-www-form-urlencoded',
],
'form_params' => [
'grant_type' => 'client_credentials',
'scope' => $scope,
],
'cert' => [$certPath, $certPassword],
'verify' => $cacertPath,
]);
// Выводим результат запроса
echo $response->getBody()->getContents();
Пожалуйста, замените /absolute/path/to/certif.p12 и /absolute/path/to/russian-trusted-cacert.pem на абсолютные пути к вашим сертификатам. Также убедитесь, что у вас есть правильные данные для RqUID и Authorization заголовков.
Этот код отправит POST запрос с указанными данными и получит ответ от сервера Sberbank.