JS + Node | Вызов функции с бэка через фронт

Привет коллеги.

На данный момент есть фронт + Node + Express + Mongo

Сразу извиняюсь за длинный код и прошу не осуждать за реализацию и грубый вывод в Лоб :) Я только учусь стеку MEAN (До Angular еще не дошел)прошу сильно не пинать

Хочу понять как сделать запрос на ПС с сервера. Условно, покупатель оформил корзину, нажал перейти к оплате(тут вызывается Req c Бэка и переадресовывает на страницу оплаты)

Собственно вопрос: Чтобы не отправлять полный Fetch - как сделать вызов функции с бэка. То есть грубо говоря убрать function Init() в ноду и обращаться к ней через кнопку и отправлять Response Init() в БД

Сейчас делаю Req с фронта: Пример Req:

main.js

import {init} from './pay.js';
btn.addEventListener('click', init)

pay.js

function init() {
fetch(`${URL.Env.Rest}` + `${URL.Method.init}`, {
    method: 'POST',
    headers: {
        'Content-type': 'application/json'
    },
    body: JSON.stringify({
        'TerminalKey': `${term.DEMO}`,
        'Amount': 110000,
        'OrderId': `Тут дожен быть номер заказа сгенереный бэком`,
        'CustomerKey': `${usrArray[0].id}`, // Присвоенный ID пользователю при регистрации
        'Data': {
            'Phone': `${usrArray[0].phone}`,
            'Email': `${usrArray[0].email}`,
        },
        'Token': `${initToken}`
    })
})
    .then((response) => response.json())
    .then((data) => {
        let payId = data.PaymentId;
        let bdPID = localStorage.getItem('PaymentID');
        let jsToTxt = JSON.stringify(data);

        if (data.ErrorCode === '0') {

            outAcc[0].innerHTML = `
          <div class="alert alert-success" role="alert">
         Данные Платежа: <code> <br> 
         1: PaymentID: ${data.PaymentId} <br> 
         2: OrderId: ${data.OrderId}</code> <br> 
        </div>`;
        } else if (data.ErrorCode === '7') {
            outAcc[0].innerHTML = `
            <div class="alert alert-warning" role="alert">
            ${data} ` + `!!! <br><code>${data}</code>
          </div>`;
        } else if (data.ErrorCode === '251') {
            outAcc[0].innerHTML = `
        <div class="alert alert-danger" role="alert">
        ${data.Message}!!! <br>
        <code> 1: ` + ` ${data.Success} 
        <br> 2: ` + ` ${data.Details}</code>
      </div>`;
        } else if (data.ErrorCode === '322') {
            outAcc[0].innerHTML = `
        <div class="alert alert-danger" role="alert">
        Передана некорректная подпись !!! <br>
        <code>${data.Details}</code>
      </div>`;
        }
        // Отправляем данные в БД
        // fetch('http://localhost:3000/', {
        //     method: 'POST',
        //     headers: {
        //         'Content-type': 'application/json'
        //     },
        //     body: JSON.stringify({
        //         'Amount': `${data.Amount}`,
        //         'OrderId': `${TodayDate}` + ` ${ordId}` + `${ordId2}` + `${ordId3}`,
        //         'CustomerKey': `${usrArray[0].id}`,
        //         'Data': {
        //             'Phone': `${usrArray[0].phone}`,
        //             'Email': `${usrArray[0].email}`,
        //         },
        //         'PaymentId': `${data.PaymentId}`,
        //         // '':``,
        //     })
        // })
        // Конец фетча БД

    }).catch((error) => {
        console.log(error)
    })
}
export {init};

Ответы (0 шт):