• Yandex kassa + node.js?

    @vshvydky
    обычно путь следующий
    1. эндпоинт создания запроса на оплату, по нему ты понимаешь кто из твоих клиентов инициировал оплату и на какую сумму, клиент стучит к тебе на сервер с этим запросом
    2. ты запрашиваешь создание новой операции оплаты у процессора, он возвращает линк редиректа на форму ввода денег и идентификатор транзакции.
    3. отдаешь этот урл клиенту, переводишь его туда, идентификатор транзакции пишешь себе в базу, накидываешь статус новый или как тебе будет удобнее.
    4. клиент оплачивает суммы, далее в зависимости от настроек системы клиент редирекетится на ту страницу, которая указана у тебя, для отображения что хорошо или неудачно прошла его операция.
    5. любое изменение по статусам оплаты процессор шлет на твои коллбеки, ты получаешь их и обрабатываешь по своей бизнес логике, у тебя есть идентификатор транзакции, который ты себе записал и статус новый, далее ты переводишь его в статус успешного или не успешного состояния.
    ЗЫ: у процессоров бывает статус отсроченного списания денежных средств у клиента, что-то из серии паймент пендинг, это означает, что деньги на его счете заблокированы на запрошенную сумму, но сам перевод будет осуществлен позднее, это банковские приколы. Соответственно такую логику тоже стоит учитывать.
    Надеюсь эти общие слова про оплаты полностью ложатся на кейс яндекс-кассы, удачи.
    Ответ написан
    1 комментарий
  • Не работает асинхрнонная функция при иморте в js?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Все должно работать. Скорее всего вы не правильно импортируете/экспортируете ваш Reviews.

    Приведите пожалуйста примеры вашего кода:
    1. где вы производите экспорт Reviews
    2. где вы подключаете модуль с Reviews
    3. где вы вызываете Reviews.all(...)

    ошибка в одном из этих кусков кода.

    и хотелось бы увидеть содержимое функции responseBody для того чтобы смоделировать вашу ситуацию.

    ЗЫ: как это обычно и бывает, проблема в невнимательности (тоже иногда этим грешу)))
    res.body неопределен, вот и возвращает undefined

    замените в файле agent.js
    const responseBody = res => res.body;

    на
    const responseBody = res => res.data;

    вот пример

    agent.mjs
    import axios from 'axios';
    
    const API_ROOT = 'http://api.startgiven.ru:8080/stargiven-1.0/api';
    const API = api => `${API_ROOT}${api}`;
    
    const responseBody = res => res.data;
    
    const handleError = err => {
      if (err && err.response && err.response.status === 401) authStore.logout();
    };
    
    const request = {
      get: url =>
        axios
          .get(API(url))
          .catch(err => console.log(err))
          .then(responseBody)
    };
    
    const Reviews = {
      all: () => request.get('/comments')
    };
    
    export { Reviews };


    test.mjs
    import { Reviews } from './agent.mjs';
    
    console.log("test1:", Reviews );
    console.log("test2:", Reviews.all().then(a=>{
        console.log("test3:", a);
    }) );


    результат выполнения
    $ node --experimental-modules test.mjs 
    (node:2668) ExperimentalWarning: The ESM module loader is experimental.
    test1: { all: [Function: all] }
    test2: Promise { <pending> }
    test3: [
      {
        description: 'Все круто, очень. Молодцы!',
        email: 'ivanivanov@gmail.com',
        firstName: 'Иван',
        id: 10,
        lastName: 'Иванов',
        rate: 5,
        status: 0
      },
      {
        description: 'Все круто, очень. Молодцы!',
        email: 'ivanivanov@gmail.com',
        firstName: 'Иван',
        id: 11,
        lastName: 'Иванов',
        rate: 6,
        status: 0
      },
      {
        description: 'Все круто, очень. Молодцы!',
        email: 'ivanivanov@gmail.com',
        firstName: 'Иван',
        id: 12,
        lastName: 'Иванов',
        rate: 6,
        status: 0
      },
      {
        description: 'Все круто, очень. Молодцы!',
        email: 'ivanivanov@gmail.com',
        firstName: 'Иван',
        id: 13,
        lastName: 'Иванов',
        rate: 6,
        status: 0
      },
      {
        description: 'Все круто, очень. Молодцы!',
        email: 'ivanivanov@gmail.com',
        firstName: 'Иван',
        id: 14,
        lastName: 'Иванов',
        rate: 6,
        status: 0
      },
      {
        description: 'СУПЕР',
        email: 'info@3peaks.cloud',
        firstName: 'Aline',
        id: 15,
        lastName: 'Basdasd',
        rate: 5,
        status: 0
      },
      {
        description: 'СУПЕР',
        email: 'info@3peaks.cloud',
        firstName: 'Aline',
        id: 16,
        lastName: 'Basdasd',
        rate: 5,
        status: 0
      },
      {
        description: 'СУПЕР',
        email: 'info@3peaks.cloud',
        firstName: 'Aline',
        id: 17,
        lastName: 'Basdasd',
        rate: 5,
        status: 0
      },
      {
        description: 'СУПЕР',
        email: 'info@3peaks.cloud',
        firstName: 'Aline',
        id: 18,
        lastName: 'Basdasd',
        rate: 5,
        status: 0
      }
    ]
    Ответ написан
  • Почему не работает css переменная?

    IU_Sviridov
    @IU_Sviridov
    Развиваюсь в направлении web-разработки
    :root {
      /* Вместо буквы c - английской у тебя стоит с - русская, твой IDE не подсвечивает это */
      --сolor-main: #ff00ff;


    Проверяй:
    Твой вариант: --сolor-main: #ff00ff;
    Мой вариант: --color-main: #ff00ff;
    Ответ написан
    2 комментария
  • Многослойная верстка?

    ArtyomPLAY, одна из Ваших ошибок в коде - Вы хотите, чтобы абсолютно позиционированный блок отталкивался не от родительского, а от соседнего элемента. Так нельзя. Нужно вложить.
    У Вас нет макета, как должно получиться?
    Из описания все равно трудновато понять, какой вид должен быть.

    Пока что вот так получилось.
    Оно?
    Ответ написан
    Комментировать
  • Многослойная верстка?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Один из слоев, самый нижний, не делайте абсолютом
    Ответ написан
    3 комментария
  • Отладка на непопулярных браузерах?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Скачиваете специальную версию UC Browser для разработчиков на телефон, подсоединяете телефон к ПК и отлаживайте сайт через Chrome:
    https://medium.com/@hdsna/how-to-debug-uc-browser-...

    Лично я так и делал, когда два раза верстал для Китая.

    Плюс, у них есть какое-то своё ПО для отладки (я не пользовался):
    https://plus.ucweb.com/docs/pwa/docs-zh/xy3whu?loc...
    Ответ написан
    Комментировать
  • Как сделать sql запрос из одной таблицы с условием из другой?

    @luna3956
    Если правильно понял что Вам нужно, то так:

    select *
    from posts p
    left join (
      select post_id
      from actions a
      where
          a.user_id = 8 and
          a.action_type = 1
    ) a on
        a.post_id = p.id
    where
        p.author_id = 8 or
        a.post_id is not null
    Ответ написан
    5 комментариев
  • Как передать код статического метода класса PHP через ajax?

    @procode
    Разработчик
    $string = Class::method();

    Дальше передаете строку через аякс
    Ответ написан
    1 комментарий