• Не работает выставление счёта qiwi?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Сейчас код в серверной части после обращения к PUT /create-payment вызывает qiwi(), который ничего не возвращает (возвращает undefined), и это парсится в JSON.parse.

    Вы, видимо, хотите отпарсить результат вызова qiwiApi.createBill( billId, fields ). Если это так, тогда исследуйте - как работать с async-функциями и/или использовать Promise.

    Если правильно понял то, что вы хотели сделать, то серверный код будет таким:

    app.put('/create-payment', async function (req,res,next) {
      const data = await qiwi(); // получаем в data результат вызова qiwiApi.createBill
      const p = JSON.parse(data);
      // тут делаем что-то еще, если нужно
      next(); // т.к. функция асинхронная, вызываем next, чтобы объявить о завершении выполнения этого middleware
    });
    
    
    async function qiwi() {
      const billId = qiwiApi.generateId();
    
      const fields = {
          amount: 1.00,
          currency: 'RUB',
          comment: 'test',
          expirationDateTime: '2018-03-02T08:44:07',
          successUrl: 'http://test.ru/'
      };
    
      const data = await qiwiApi.createBill( billId, fields );
      // тут делаем что-то еще, если нужно
      return data; // возвращаем результат вызова qiwiApi.createBill
    }
    Ответ написан
    1 комментарий
  • Проблема с редиректом на форму оплаты киви Node.js Express JavaScript?

    @Israfil22
    1 Ошибка - https://expressjs.com/en/resources/middleware/cors.html. Документация в помощь.

    2 Ошибка - Вы делаете редирект для AJAX запроса, а не для страницы браузера юзера.
    Отсылайте линк на редирект ему в json'е, например.
    Когда придет ответ, делайте редирект со стороны браузера.
    Ответ написан
    Комментировать