Приветствую, коллеги!
Помогите решить задачку. Есть сайт на хостинге jino. На нем подключен сберовский эквайринг. Недавно сбер придумал использовать сертификаты от Минцифры (
вот и
вот) и перестал отвечать на запросы. Если выполнять запрос в браузере, предварительно установив в него
сертификаты с госуслуг, то на такие запросы сбер отвечает. Вопрос. Что нужно сделать на сервере, чтобы посылать запросы с использованием отечественных сертификатов. Раньше это было так.
public function request() {
if ($this->test_mode == "TRUE") {
$url = 'https://3dsec.sberbank.ru/payment/rest/'.$this->method;
} else {
$url = 'https://securepayments.sberbank.ru/payment/rest/'.$this->method;
}
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, $url . "?" . http_build_query($this->fields, '', '&'));
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$responce = curl_exec($curl);
$headerSent = curl_getinfo($curl, CURLINFO_HEADER_OUT );
curl_close($curl);
if (!$responce) {
return json_decode(json_encode([
"errorCode" => 500,
"errorMessage" => "Не удается установить связь с платежным шлюзом"
]));
}
return json_decode($responce);
} else {
return false;
}
}
Добавлял опции
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSLCERT, $this->DOCUMENT_ROOT . "/sberbank/Cert_CA.pem");
Результата нет. Cert_CA.pem - скачан со странички сбера.
Пробовал конвертировать в pem те что с госуслуг и подставлять их - результата нет.
Может кто-то уже сделал переход на эти сертификаты и подскажет хотя бы нужное направление?