Таблица 4.6.2.44. Структура CapToken
CapToken |
<Enc(P1, P2, CapTokenData), EncX(P1, P2, CapTokenData, PANToken), {}> P1 и P2 обозначают платежные центры: В данной версии SET P1 и P2 означают один и тот же расчетный центр (т.е. P1=P2) |
CapTokenData |
{AuthRRPID, AuthAmt, TokenOpaque} |
PANToken |
Смотри табл. 4.6.2.46 |
AuthRRPID |
RRPID, который появляется в соответствующем AuthReq или AuthRevReq |
AuthAmt |
Действительное число авторизованных, которое может отличаться от PurchAmt владельца карты |
TokenOpaque |
Невидимые данные, определенные расчетным центром |
Алгоритм формирования CapToken показан ниже:
Шаг |
Действие |
1 |
Если формируется в ходе авторизации, установить AuthAmt в CapTokenData равным AuthAmt в AuthRes. В противном случае, если генерируется во время повторного авторизационного процесса, занести AuthAmt в CapTokenData равным AuthNewAmt для последующей посылки в AuthRevRes |
2 |
Занести в TokenOpaque из CapTokenData частные данные, необходимые для расчетов |
3 |
Если продавец получает PANToken из своего банка, тогда: В противном случае: |
Обработка CapToken производится следующим образом:
Шаг |
Действие |
1 |
Используя секретный ключ расчетного центра, извлечь CapTokenData из упаковки ЕncX или Enc. |
2 |
Если это платежный запрос (capture request) и CapToken уже использовался в таком запросе, установить CapCode в CapResPayload равным dublicateRequest. |
3 |
Если это аннулирование (reversal) платежного запроса, запрос кредита или отзыв кредита и CapToken ранее не использовался в платежных запросах, установить CapRevOrCredCode в поле CapRevOrCredResPayload равным originalNotFound |
4 |
Если это аннулирование платежного запроса, а CapToken уже использовался в подобном запросе, установить CapRevOrCredCode в CapRevOrCredResPayload равным dublicateRequest. |
5 |
Если CapCode или CapRevOrCredCode не были установлены при выполнении предыдущих шагов, переадресовать данные из CapToken процессу платежного запроса. |
PANData содержит информацию, идентифицирующую определенный счет платежной карты. Структура данных PANData представлена в таблице 4.6.2.45.