Не удалось сгенерировать правильную криптограмму приложения

Я успешно получаю ответ Generate Command

[9F02 06   (Amount, authorized, numeric)]:   000000003000 
[9F03 06   (Amount, other, numeric)]:        000000000000 
[9F1A 02   (Terminal country code)]:         0826 
[95 05     (Terminal verification results)]: 0000000000
[5F2A 02   (Transaction currency code)]:     0826 
[9A 03     (Transaction date)]:              150724 (2015-05-28)
[9C 01     (Transaction type)]:              00 
[9F37 04   (Unpredictable number)]:          12345678

И команда

80 AE 4000 1D 000000003000 000000000000 0826 0000000000 0826 150724 00 12345678 00

При успешном ответе

8012800008d2715ae1b83027db06020103a0b0009000

Cryptogram Information Data : 00
Application Transaction Counter : 0008
Application Cryptogram : d2715ae1b83027db
Issuer Application Data : 06020103a0b000

Все хорошо, но всякий раз, когда я выполняю транзакцию в тестовой среде, я получаю

Криптограмма приложения была неправильной.

Любая помощь будет оценена по достоинству.


person Wajahat Chaudhry    schedule 24.07.2015    source источник
comment
Вы не сказали, какую карту/марку карты вы используете. Из-за этих разных методов получения ключей для расчета криптограммы следует использовать данные о получении ключей и данные о транзакциях. Для простоты существует несколько алгоритмов ARQC/ARPC, используемых в мире платежей. Я надеюсь, что вы говорите о тестовой карте, и ваша тестовая среда знает правильный UDK или мастер-ключ (MK) для проверки криптограммы.   -  person iso8583.info support    schedule 24.07.2015
comment
@iso8583.infosupport Я использую карту AMex с тестовой средой. Но я не использую ключ   -  person Wajahat Chaudhry    schedule 27.07.2015
comment
Указывает ли в описании теста используемую дату транзакции? Если да, то почему у вас 9AF3==150724 и дата в комментарии (2015-05-28)?   -  person Serge    schedule 12.05.2016


Ответы (1)


Прежде всего, в вашем образце данных «Дата транзакции» в упакованном формате ГГММДД не совпадает со значением в удобочитаемом формате (ГГГГ-ММ-ДД). Даты разные.

Если вы отправили неверные данные транзакции или данные транзакции, не связанные с этим ARQC, вы не сможете пройти проверку криптограммы в хост-среде.

Из-за использования суммы 30,00 с тестовыми примерами Amex карта была определена как «AEIPS 20 TEST CARD» из набора Amex Global.

Пересчет ARQC с использованием "Данных транзакций" дал мне то же значение, что и в ответе вашей карты - 0x9F26="d2715ae1b83027db". Итак, подтверждается.

ARPC в этом случае будет "3784BAE0B266DF17".

Сертифицированные тестовые среды или сама Amex Test System (ATS) могут предоставить вам детали пересчета ARQC/ARPC. Конечно, если тестовая среда может проверить бренд вашей карты.

Проблема обычно в финансовом сообщении и данных транзакции, внутри которых разработчики неправильно упаковали для проверки внешнего тестового хоста. (Как и в вашем первоначальном запросе.)

Проведите полную трассировку транзакции с карты через терминал в хост-систему, и вы поймете, где происходит потеря данных.

person iso8583.info support    schedule 27.07.2015
comment
Они показывают мне пересчитанную криптограмму 2C 36 CA 56 E1 35 BB DC против моей криптограммы d2715ae1b83027db. если я использую их криптограмму, они проверяют запрос, но я изо всех сил старался создать такую ​​​​же криптограмму, как и они, но терпит неудачу. не могли бы вы предложить что-нибудь - person Wajahat Chaudhry; 28.07.2015