const https = require("https://theschoool.ru/welcome");
function createOrder(orderId) {
const ORDER_CREATE_URL =
"https://sandbox.pay.yandex.ru/api/merchant/v1/orders";
// Для sandbox-окружения в качестве ключа авторизации используется идентификатор продавца.
// Для production-окружения API Key необходимо получить в личном кабинете продавца.
const API_KEY = "79652706e2d9469d81003dbc23112fdb.To0800btFfV818I8CKzKb3CjB4XtIdCq";
const orderData = {
// Уникальный ID заказа в системе продавца (обязательный параметр)
orderId: orderId,
// Информация о корзине покупателя
cart: {
// Курс по английскому языку
items: [
{
productId: "1",
total: "40000.00",
title: "Курс по английскому языку",
quantity: {
count: "2",
},
},
],
// Итоговая сумма заказа
total: {
amount: "40000",
},
},
// Код валюты заказа (ISO 4217)
currencyCode: "RUB",
// Merchant ID необходимо получить в личном кабинете продавца после регистрации.
merchantId: "79652706-e2d9-469d-8100-3dbc23112fdb",
// Ссылки на сайт продавца, по которым будет перенаправлен пользователь после оплаты
redirectUrls: {
onSuccess: "https://theschoool.ru/welcome",
onError: "https://theschoool.ru/welcome",
},
// Доступные методы оплаты.
// Варианты:
// - ["SPLIT"] — на форме доступна оплата только через Сплит
// - ["CARD"] — на форме будет доступна оплата только банковской картой
// - ["SPLIT", "CARD"] — на форме будет представлен выбор способа оплаты: карта или Сплит.
availablePaymentMethods: ["CARD", "SPLIT"],
// Время жизни заказа (в секундах)
ttl: 1800,
};
const data = JSON.stringify(orderData);
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Api-Key ${79652706e2d9469d81003dbc23112fdb.To0800btFfV818I8CKzKb3CjB4XtIdCq}`,
},
};
const req = https.request(ORDER_CREATE_URL, requestOptions, (res) => {
let response = [];
res.on("data", (chunk) => {
response.push(chunk);
});
res.on("end", () => {
response = JSON.parse(Buffer.concat(response).toString());
// На сторону фронтенда необходимо отправить paymentUrl
console.log(response.data.paymentUrl);
});
});
req.on("error", (err) => {
console.log("Error: ", err.message);
});
req.write(data);
req.end();
}
createOrder("your-order-id");