Автоматическая привязка оплаты через mPoS терминал к заказу

1

Добрый день! Выяснилось, что при оплате заказа через мобильный  mPoS терминал 2Can статус заказа на "оплачен" не меняется. В шаблоне настройки указаны варианты комментария при оплате, например:

но от системы платежей приходит ответ в виде: 

'orderNumber' => 'shop_3_39776',

То есть для автоматического изменения статуса на "оплачен" в поле комментария Мобильного терминала 2Can надо ввести вручную 

"shop_3_39776", но это неудобно. Можно сделать правило преобразование на стороне Вебасист, чтобы он принимал комментарий в виде номера заказа независимо от конструкции на стороне Яндекс.Кассы?

5 комментариев

  • +1

    Если от системы приходят параметры, как вы говорите, то судя по коду не должно возникать проблем.

    Пришлите весь код обратного запроса, если есть персональные данные, ну поменяйте два на шесть, а три на восемь. Главное, оставьте структуру коллбека и данных "как есть".

  • +1
    Владислав Горлов Владислав Горлов Webasyst 22 августа 2019 19:36 #

    В поле комментария надо вводить не "страшный" номер shop_123_45678, а просто число с номером заказа (а точнее, его id в бд, что фигурирует в URL при просмотре заказа в бекенде, поскольку для отображения используется форматирование с настраиваемым префиксом). Например для заказа 768 комментарий может быть просто 768

    Важные уточнения:

    • Вариант оплаты для заказа должен быть выбран правильно. Лучше, если это будет плагин с явной настройкой типа интеграции Мобильный терминал (mPOS) и не будет дублей с такой настройкой.
    • Сумма должна совпадать (иначе будет "подвешенный заказ")

    Корректность работы можно увидеть по смене статуса такого заказа (либо смотреть логи плагина на предмет наличия уведомлений о таких оплатах и том, как они обрабатываются)

  • +1
    Владимир Владимир 22 августа 2019 22:57 #

    Я отправлял персональный запрос, получил из поддержки webasyst ответ, который в основе моего вопроса. Вот пример лога по этому платежу

    2019-08-21 17:48:08 77.*.*.139
    #5d5d59a85cc1f
    data:
    array (
    'method' => 'waPayment::callback',
    'request_method' => 'post',
    'request' =>
    array (
    'orderSumAmount' => '1.00',
    'shopArticleId' => '506*',
    'paymentPayerCode' => '410016361244*',
    'paymentDatetime' => '2019-08-21T17:48:08.130+03:00',
    'external_id' => 'deposit',
    'paymentType' => 'MP',
    'requestDatetime' => '2019-08-21T17:48:08.224+03:00',
    'depositNumber' => '1077592069041492*',
    'cps_user_country_code' => 'RU',
    'orderCreatedDatetime' => '2019-08-21T17:48:07.645+03:00',
    'action' => 'paymentAviso',
    'shopId' => '138*',
    'shopSumBankPaycash' => '1001',
    'shopSumCurrencyPaycash' => '643',
    'rebillingOn' => 'false',
    'orderSumBankPaycash' => '1001',
    'orderSumCurrencyPaycash' => '643',
    'unilabel' => '24ef6d67-0003-5000-8000-0007427a10d6',
    'customerNumber' => '',
    'orderDetails' => '39997',
    'yandexPaymentId' => '2570099510633*',
    'environment' => 'Live',
    'invoiceId' => '20019532650*',
    'btnPay' => 'Pay',
    'shopSumAmount' => '0.97',
    'md5' => '7487E7F10EC77F65D12DB50088F80FB4',
    ),
    'ip' => '77.*.*.139',
    'agent' => 'Yandex.Money',
    )
    2019-08-21 17:48:08 77.*.*.139
    #5d5d59a85cc1f
    data:
    array (
    'method' => 'waPayment::callbackInit',
    'app_id' => 'shop',
    'merchant_id' => '***callback***',
    '_magic' => 'APP_ID suggested',
    )

    • +1
      Владислав Горлов Владислав Горлов Webasyst 23 августа 2019 11:39 #

      Посмотрел логи плагина в вашем запросе - похоже на некорректную настройку. Если у вас используется отдельный экземпляр настройки плагина для mPOS, то поле "Номер витрины" должно быть пустым.

      Если у вас один экземпляр настройки плагина, то тут может помочь только доработка плагина (в одном из будущих обновлений).

      • +1
        Владимир Владимир 23 августа 2019 15:49 #

        Да, есть несколько экземпляров плагина. 

        Я убрал номер витрины из настроек экземпляра для mPoS. Платеж прошел, в яндекс кассе появился. Но статус заказа не поменялся. Лог ниже:

        2019-08-23 15:42:42 77.75.*.*
        #5d5fdf426a4ef
        data:
        array (
        'method' => 'waPayment::callback',
        'request_method' => 'post',
        'request' =>
        array (
        'orderSumAmount' => '1.00',
        'shopArticleId' => '50667',
        'paymentPayerCode' => '410016361244111',
        'paymentDatetime' => '2019-08-23T15:42:41.812+03:00',
        'external_id' => 'deposit',
        'paymentType' => 'MP',
        'requestDatetime' => '2019-08-23T15:42:42.128+03:00',
        'depositNumber' => '8174065236363215905',
        'cps_user_country_code' => 'RU',
        'orderCreatedDatetime' => '2019-08-23T15:42:41.363+03:00',
        'action' => 'paymentAviso',
        'shopId' => '13*',
        'shopSumBankPaycash' => '1001',
        'shopSumCurrencyPaycash' => '643',
        'rebillingOn' => 'false',
        'orderSumBankPaycash' => '1001',
        'orderSumCurrencyPaycash' => '643',
        'unilabel' => '24f1f301-0003-5000-8000-000742a2aa13',
        'customerNumber' => '',
        'orderDetails' => '40030',
        'yandexPaymentId' => '2570099510633669',
        'environment' => 'Live',
        'invoiceId' => '2001956483901',
        'btnPay' => 'Pay',
        'shopSumAmount' => '0.97',
        'md5' => 'FF7D19189F3800BA6878D1F0F0571B0F',
        ),
        'ip' => '77.75.*.*',
        'agent' => 'Yandex.Money',
        'exception' => 'Invalid value of field scid',
        'code' => 100,
        )
        2019-08-23 15:42:42 77.75.*.*
        #5d5fdf426ac61
        data:
        Invalid value of field scid

        Добавить комментарий

        Чтобы добавить комментарий, зарегистрируйтесь или войдите