Главная страница

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


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

Отправка платежа через API


На шаге 2 запрос коммерсанта должен быть в отправлен в ecom методом POST на адрес https://host/ecom/api
Параметры запроса на шаге 2:

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

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

Формат

Описание

ORDER

Да

N(6 - 22)

Номер заказа, должен быть уникальным для этого коммерсанта

AMOUNT

Да

N(1 - 13)

Сумма заказа, разделитель - точка

CURRENCY

Да

C(3)

Валюта заказа (ISO 4217, например KZT)

MERCHANT

Да

C(6 - 15)

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

TERMINAL

Да

C(6 - 8)

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

NONCE

Нет

N(6 – 64)

Случайное уникальное число

LANGUAGE

Нет

С(2)

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

CLIENT_ID

Нет

N(0 – 64)

Идентификатор аутентифицированного клиента

DESC

Да

C(1 – 50)

Краткое описание заказа

DESC_ORDER

Нет

C(0 – 4000)

Полное описание заказа

EMAIL

Нет

C(0 – 80)

Адрес Email клиента

BACKREF

Нет

C(0 – 250)

Ссылка для отправки результата по заказу.

Результат может прийти POST при фоновой отправке и GET при перенаправлении браузера если указано «redirect=true». В случае GET нужно отобразить html-страницу с результатом оплаты.

Ucaf_Flag

Нет

C(0 – 250)

Зарезервировано для данных UCAF

Ucaf_Authentication_Data

Нет

C(0 – 250)

Зарезервировано для данных UCAF

crd_pan

Нет

C(250)

Номер карты в зашифрованном виде

crd_exp

Нет

C(250)

Дата устаревания карты в формате MM/YY в зашифрованном виде

crd_cvc

Нет

C(250)

CVV/CVC/CVC2 карты в зашифрованном виде

WTYPE

Нет

C(1)

Тип виджета, указывается только в случае вывода платежной страницы в iframe. Допустимые значения 1,2 или 3.

NAME

Нет

C(250)

Наименование клиента (для вывода на платежной странице виджета)

RECUR_FREQ

Нет

N(4)

Частота периодических платежей: минимальное количество дней между авторизациями.

RECUR_EXP

Нет

C(8)

Дата окончания периодических платежей в формате ГГГГММДД. После этой даты ни одна авторизация не будет обслужена.

INT_REF

Нет

C(12)

Внутренняя ссылка. Поле является обязательным для вторичных транзакций со ссылкой на первичную транзакцию. Должно соответствовать полю INT_REF ответа первой операции.

RECUR_REF

Нет

C(12)

Ссылка на авторизацию при периодических платежах. Должно соответствовать полю RRN ответа первой операции.

PAYMENT_TO

Нет

C(250)

Дополнительная информация о получателе платежа (например, номер телефона), номер карты для перевода в зашифрованном виде

PAYMENT_TYPE_ID


Нет

C(20)

Тип операции перевода на карту PAYMENT_TO. Если указано значение PSR, то в MPI передается TRTYPE=70 (B2C)

P_SIGN

Да

C(80 - 250)

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

MK_TOKEN

Нет

C(20)

Режим токенизации:

Пустое значение – без токенизации

MERCH – только для номера карты источника
MERCHB – для номера карты источника и получателя
MERCHT – для номера карты получателя или счета

MERCH_TOKEN_ID

Нет

C(32)

Токен карты плательщика

MERCH_PAYTO_TOKEN_ID

Нет

C(32)

Токен карты получателя

PAYMENT_RECEIVER_FIRST_NAME

Нет

C(35)

Имя получателя

PAYMENT_RECEIVER_MIDDLE_NAME

Нет

C(1)

Первый символ среднее имя

PAYMENT_RECEIVER_LAST_NAME

Нет

C(35)

Фамилия получателя

PAYMENT_RECEIVER_STREET

Нет

C(50)

Улица получателя

PAYMENT_RECEIVER_CITY

Нет

C(25)

Город получателя

PAYMENT_RECEIVER_STATE_CODE

Нет

C(2)

Код штата получателя

PAYMENT_RECEIVER_COUNTRY

Нет

C(3)

Код страны (например RUS) получателя

PAYMENT_RECEIVER_POSTAL_CODE

Нет

C(10)

Индекс получателя

PAYMENT_RECEIVER_PHONE

Нет

C(20)

Номер телефона получателя

PAYMENT_RECEIVER_DATE_OF_BIRTH

Нет

C(8)

Дата рождения получателя (например 12121980)

PAYMENT_RECEIVER_IDENTITY_TYPE

Нет

C(2)

Тип документа получателя (например 01)

PAYMENT_RECEIVER_IDENTITY_ID

Нет

C(25)

Номер документа получателя

PAYMENT_RECEIVER_IDENTITY_COUNTRY

Нет

C(3)

Страна выдачи документа получателя

PAYMENT_RECEIVER_IDENTITY_EXP_DATE

Нет

C(8)

Дата устаревания документа получателя

PAYMENT_RECEIVER_NATIONALITY

Нет

C(3)

Код национальности получателя

PAYMENT_RECEIVER_COUNTRY_OF_BIRTH

Нет

C(3)

Страна получателя

PAYMENT_SENDER_FIRST_NAME

Нет

C(35)

Имя отправителя

PAYMENT_SENDER_MIDDLE_NAME

Нет

C(1)

Первый символ среднее имя отправителя

PAYMENT_SENDER_LAST_NAME

Нет

C(35)

Фамилия отправителя

PAYMENT_SENDER_STREET

Нет

C(50)

Улица отправителя

PAYMENT_SENDER_CITY

Нет

C(25)

Город отправителя

PAYMENT_SENDER_STATE_CODE

Нет

C(2)

Код штата отправителя

PAYMENT_SENDER_COUNTRY

Нет

C(3)

Код страны (например RUS) отправителя

PAYMENT_SENDER_POSTAL_CODE

Нет

C(10)

Индекс отправителя

PAYMENT_SENDER_PHONE

Нет

C(20)

Номер телефона отправителя

PAYMENT_SENDER_DATE_OF_BIRTH

Нет

C(8)

Дата рождения отправителя (например 12121980)

PAYMENT_SENDER_IDENTITY_TYPE

Нет

C(2)

Тип документа отправителя (например 01)

PAYMENT_SENDER_IDENTITY_ID

Нет

C(25)

Номер документа отправителя

PAYMENT_SENDER_IDENTITY_COUNTRY

Нет

C(3)

Страна выдачи документа отправителя

PAYMENT_SENDER_IDENTITY_EXP_DATE

Нет

C(8)

Дата устаревания документа отправителя

PAYMENT_SENDER_NATIONALITY

Нет

C(3)

Код национальности отправителя

PAYMENT_SENDER_COUNTRY_OF_BIRTH

Нет

C(3)

Страна отправителя

PAYMENT_SENDER_ACCOUNT_NUMBER

Нет

C(20)

Номер счета отправителя

M_INFO

Нет

C(35000)

Optional set of 3DS v2 related data, sent by merchant. Must be a Base64-encoded string of JSON-formatted “parameter”:”value data. The full set of available data can be taken from the EMVCo web site, “3-D Secure – Protocol and Core Functions Specification” document, AReq message description. All of the parameters in this set are optional

Пример json:

{ "browserLanguage":"en", "browserColorDepth":"32", "browserScreenHeight":"1920", "browserScreenWidth":"1080", "browserTZ":"0", "browserUserAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefo x/47.0" }


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

vSign=hash("sha512",C_SHARED_KEY.$_POST["ORDER"].";".$_POST["AMOUNT"].";".$_POST["CURRENCY"].";".$_POST["MERCHANT"].";".$_POST["TERMINAL"].";".$_POST["NONCE"].";".$_POST["CLIENT_ID"].";".preg_replace("/\n|\r/g","",$_POST["DESC"]).";".preg_replace("/\n|\r/g","",$_POST["DESC_ORDER"]).";".$_POST["EMAIL"].";".$_POST["BACKREF"].";".$_POST["Ucaf_Flag"].";".$_POST["Ucaf_Authentication_Data"].";".$_POST["RECUR_FREQ"].";".$_POST["RECUR_EXP"].";".$_POST["INT_REF"].";".$_POST["RECUR_REF"].";".$_POST["PAYMENT_TO"].";".$_POST["MK_TOKEN"].";".$_POST["MERCH_TOKEN_ID "].";".$_POST["MERCH_PAYTO_TOKEN_ID "].";");

Пример вычисления подписи есть в странице примера https://host/ecom/static/e/test.html.

Пример шифрования на Java https://drive.google.com/file/d/1-lNBwqcjQ19weadXBBpm24Lmqpda_sNo

На странице https://host/ecom/static/e/test_widget.html приведены примеры встраивания страницы оплаты на страницу сайта коммерсанта в виде виджета.
Обратите внимание! В продуктовой системе хэш должен вычисляться не в браузере на стороне клиента, а в процедуре на стороне веб-сервера коммерсанта! Пример на странице test.html – только для тестирования, секретный ключ SHARED_SECRET ни в коем случае не должен быть доступен кому-либо вне сервера коммерсанта!



Возможные ошибки при отправке платежа





Код

Описание (ru)

Описание (en)

11

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

Service temporary unavailable, try again later

12

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

Order number is invalid: %s

13

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

Amount is invalid: %s

14

Неправильная валюта: %s

Currency is invalid: %s

15

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

MPI service temporary unavailable, try again later

16

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

Db service temporary unavailable, try again later

17

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

Merchant is invalid: %s

18

Запрос ORDER=%s уже выполнялся

Request of ORDER=%s is already in progress

19

Неправильная дата дейстия карты (MM/ГГ) : %s

Card exp date (MM/YY) is invalid: %s

20

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

Terminal is invalid: %s


21

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

Signature is invalid!

22

Не найден курс валюты %s

The rate of currency %s is not found

23

Превышен лимит! %s

Limit exeeded! %s

24

Не указано значение в поле "%s".

The value of field "%s" is required.

25

Размер значения в поле "%s" менее %d симоволов.

The size of value of the field "%s" less then %d symbols.


26

Размер значения в поле "%s" больше %d симоволов.


The size of value of the field "%s" more then %d symbols.

27

Введите валидное значение в поле "%s".

Enter a valid value of field "%s".

28

Ошибка MPI при выполнении проверки 3DS: %s

MPI returns error: %s

29

Недопустимый тип карты

Invalid card type

30

Счет на оплату не найден

Invoice is not found

31

Не передан ключ указанного клиента

The key of client is requered

32

Для терминала %s запрещена токенизация

Card tokenisation disabled for terminal %s

33

Для данного клиента в вашей организации не зарегистрирован токен %s

Token %s is not regictered for client of merchant

34

Неверная сумма блокирования, заявка отменена!

Invalid blocking amount, order is cancelled!

99

Неизвестная ошибка : %s

Unknown error: %s


1   2   3   4   5   6   7   8   9


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