Пытаюсь подключить платежную систему сбера для оплаты на сайте, написанном на next.js. Написал функцию api/order
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<TOrderRequestBody>
) {
const sberLogin = process.env.SBER_LOGIN;
const sberPwd = process.env.SBER_PWD;
const sberEndpoint = process.env.SBER_ENDPOINT;
console.log(sberEndpoint);
try {
const parsedBody = JSON.parse(req.body) as TOrderRequestBody;
const isDataCorrect = checkData(parsedBody.orderData);
if (!isDataCorrect) res.status(400);
const order = await addOrder(parsedBody);
fetch(`https://3dsec.sberbank.ru/payment/rest/register.do`, {
method: "POST",
body: JSON.stringify({
userName: sberLogin,
password: sberPwd,
orderNumber: order.id,
amount: order.orderData.price,
returnUrl: "http://localhost:3000",
}),
}).then((res) => {
console.log(res);
});
res.status(200).json({ ...parsedBody });
} catch (err) {
console.log(err);
}
res.status(400);
}
При попытке отправки запроса на тестовый стед сбера вылезает ошибка
error - unhandledRejection: TypeError: fetch failed
at Object.fetch (node:internal/deps/undici/undici:11118:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
cause: Error: self-signed certificate in certificate chain
at TLSSocket.onConnectSecure (node:_tls_wrap:1538:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:952:8)
at ssl.onhandshakedone (node:_tls_wrap:733:12) {
code: 'SELF_SIGNED_CERT_IN_CHAIN'
}
}
Помогите, кто знает, разобраться, в чем суть ошибки и как поправить?