Здравствуйте!
1. бага. при оплате картой в составе регистрации фискального чека, возвращается структура RezultProcessing, в которой поле Amount не содержит копеек. т.е. возвращается сумма, у которой отсутствуют копейки. а если использовать эмулятор терминала - всё ок.
2. вопросы-пожелания. есть ли способ вернуть в ответе номер терминала и хэш от номера карты? если способа вернуть их нет, планируется ли реализовать?
спасибо.
оплата картой. вопросы, пожелания, баги
Re: оплата картой. вопросы, пожелания, баги
1. Какой протокл эквайринга?
2. Этих данных терминал нам не отдает
2. Этих данных терминал нам не отдает
Re: оплата картой. вопросы, пожелания, баги
СБРФ: Эквайринговые терминалыКакой протокл эквайринга?
Re: оплата картой. вопросы, пожелания, баги
Сбер помоиму округляет сумму до рубля при оплате.
Вот и возвращает то что списано по карте.
Вот и возвращает то что списано по карте.
Re: оплата картой. вопросы, пожелания, баги
Здравствуйте! Очень нужно получить хэш от номера карты, дату операции и передать департамент (при оплате через терминал сбербанка)! Прям аж очень-очень! И в документации сбера "\Docs\Для разработчиков ПО ККМ\pilot_nt.h" написано, что:Этих данных терминал нам не отдает
Код: Выделить всё
/** @struct auth_answer12
* @brief Расширение card_authorize11 возможностью указать номер отдела и задать/получить номер ссылки.
*/
struct auth_answer12 {
auth_answer ans; /**< [in, out] Основные параметры операции. См. ::auth_answer */
char AuthCode[MAX_AUTHCODE]; /**< [out] Код авторизации. 7 байт. */
char CardID[CARD_ID_LEN]; /**< [out] Идентификатор карты. 25 байт. Для международных карт все символы, кроме первых 6 и последних 4, будут заменены символами ‘*’.*/
int ErrorCode; /**< [out] Код ошибки. */
char TransDate[TRANSDATE_LEN];/**< [out] Дата и время операции */
int TransNumber; /**< [out] Номер операции за опер. день, см. номер на чеке */
int SberOwnCard; /**< [out] Флаг принадлежности карты Сбербанку */
char Hash[CARD_HASH_LEN]; /**< [in, out] хеш SHA1 от номера карты, в формате ASCII с нулевым байтом в конце. 40 байт.*/
char Track3[CARD_TRACK3_LEN]; /**< [out] третья дорожка карты. В PCI DSS решениях содержит данные с карты лояльности*/
unsigned long RequestID; /**< [in,out] Уникальный номер операции. Только PCI DSS решения.*/
DWORD Department; /**< [in] Порядковый номер отдела от 0 до 14-ти, включительно.
При установке номера отдела в 0xFFFFFFFF, номер отдела
будет запрошен через интерфейс терминала после вставки карты.
Если номер отдела будет указан вне настроенного диапазона,
то терминал вернет код ошибки 4191. */
char RRN[MAX_REFNUM]; /**< [in,out] Номер ссылки операции, присвоенный хостом. Используется
для операций возврат и множественной авторизации.
Содержит уникальный 12-значный ссылочный номер.
При предавторизации это поле является выходным
(его заполняет библиотека pilot_nt.dll), а при
завершении расчета – входным (значение должно
быть заполнено вызывающей программой; оно должно
совпадать со значением, возвращенным при предавторизации).*/
};
Re: оплата картой. вопросы, пожелания, баги
В kkmserver могут попасть только те изменения которые есть во всех устройствах.
1. Хеш карты есть только в сбере и только в некоторых операциях.
2. "auth_answer12" есть только в новом ПО сбербанка, которое есть далеко не у каждого.
Поэтому этого делать пока не будем.
1. Хеш карты есть только в сбере и только в некоторых операциях.
2. "auth_answer12" есть только в новом ПО сбербанка, которое есть далеко не у каждого.
Поэтому этого делать пока не будем.