Главная страница
Навигация по странице:

  • Обратите внимание! В продуктовой системе хэш должен вычисляться не в браузере на стороне клиента, а в процедуре на стороне веб-сервера коммерсанта! Пример на странице r _ test

  • 35дд. Руководство оператора Документ предназначен для внутреннего использования Введение 4 Вход в систему 5


    Скачать 2.53 Mb.
    НазваниеРуководство оператора Документ предназначен для внутреннего использования Введение 4 Вход в систему 5
    Дата25.10.2022
    Размер2.53 Mb.
    Формат файлаdocx
    Имя файлаeCom_merchant_instruction_ru .docx
    ТипРуководство
    #754079
    страница8 из 9
    1   2   3   4   5   6   7   8   9



    Отмена заказа производится в фоновом режиме. Результат выполнения операции отмены заказа точно так-же как и при отмене через АРМ отправляется на адрес backref, заданный в параметре BACKREF основной операции или в настройках коммерсанта по умолчанию.




    Подтверждение заказа через API


    Если у коммерсанта используется схема с авторизацией платежа, по после авторизации в течение заданного периода коммерсант может подтвердить или отменить операцию. По истечению заданного срока подтверждение выполняется автоматически. Срок отображается в АРМ синим цветом в колонке Дата.

    Подтверждение можно также сделать с помощью вызова API ecom методом POST на адрес https://host/ecom/api

    Параметры запроса коммерсанта на подтверждение заказа:


    Наименование

    Обязательность

    Формат

    Описание

    APPROVE

    Да

    C(1)

    Константа, ”1” или “Y”

    ORDER

    Да

    N(6 - 22)

    Номер заказа, должен быть тот-же что и в операции заказа

    MERCHANT

    Да

    C(6 - 15)

    Идентификатор коммерсанта

    LANGUAGE

    Нет

    С(2)

    Предпочтительный язык клиента, поддерживаются значения «ru» и «en»

    AMOUNT

    Нет

    N(1 - 13)

    Сумма подтверждения заказа, разделитель – точка. Если указана сумма меньше суммы заказа при авторизации, то заказ подтверждаеся на эту указанную сумму, а на остальную сумму производится частичная отмена.

    P_SIGN

    Да

    C(80 - 250)

    Подпись заказа


    Алгоритм формирования подписи в поле P_SIGN следующий: нужно собрать в одну строку значения полей заказа ORDER, MERCHANT и AMOUNT (если AMOUNT не пустое значение) с символом «;» после каждого значения, затем добавить эту строку к значению секретного ключа SHARED_SECRET (этот ключ индивидуальный для каждого коммерсанта), и вычислить из полученной строки значение хэш SHA512. Например, на PHP это будет выглядеть примерно так:

    vSign=hash("sha512",C_SHARED_KEY.$_POST["ORDER"].";".$_POST["MERCHANT"].";");

    или если AMOUNT не пустое значение:

    vSign=hash("sha512",C_SHARED_KEY.$_POST["ORDER"].";".$_POST["MERCHANT"].";".$_POST["AMOUNT"].";");

    Обратите внимание! В продуктовой системе хэш должен вычисляться не в браузере на стороне клиента, а в процедуре на стороне веб-сервера коммерсанта! Пример на странице r_test.html – только для тестирования, секретный ключ SHARED_SECRET ни в коем случае не должен быть доступен кому-либо вне Вашего сервера!
    В ответe вернется результат регистрации операции заказа в формате XML:




    0

    ok



    Возможные коды результата подтверждения заказа:


    Код

    Описание (ru)

    Описание (en)

    0

    Зарегистрирована заявка на отмену заказа '%s' на сумму '%s'

    Request of cancellation/refund of order '%s' is registered, amount '%s'

    41

    Сервис временно недоступен, попробуйте позже. %s.

    Service temporary unavailable, try again later. %s.

    42

    Неправильная сумма: %s

    Amount is invalid: %s

    43

    Сервис Db временно недоступен, попробуйте позже

    Db service temporary unavailable, try again later

    44

    Неправильное значение в поле MERCHANT: '%s'

    Merchant is invalid: '%s'

    45

    Заявка ORDER=%s не найдена

    Order '%s' is not found

    46

    Неправильная подпись!

    Signature is invalid!

    48

    Текущий статус заказа не позволяет делать подтверждение

    Сurrent status of order does not allow to make it approve

    50

    Неправильное значение в поле '%s' : '%s'

    Value of param '%s' is invalid: '%s'

    51

    Текущий статус терминала '%s' не позволяет производить операции

    Current status of terminal '%s' does not allow operations

    52

    Операция подтверждения через API для терминала '%s' запрещена


    API approving operation for terminal '% s' is forbidden

    53

    Сумма подтверждения '%s' больше чем сумма заказа '%s'

    Approve amount '%s' is greater than the order amount '%s'
    1   2   3   4   5   6   7   8   9


    написать администратору сайта