Телекоммуникационные технологии


         

Проверить подпись. Если проверка не


Шаг Действие
1 Выделить запрос из входного сообщения
2 Проверить подпись. Если проверка не прошла, присылается отклик Error c ErrorCode = signatureFailure.
3 Проверить, что RRPID в BatchAdminReq соответствует RRPID в цифровом конверте сообщения. Если проверка не прошла, присылается отклик Error c ErrorCode = unknownRRPID.
4 Если BatchOperation = open:

  1. Проверить, что BatchID еще не открыт. Если это не так, установить BAStatus = batchAlreadyOpen.


  2. Проверить, что BatchID доступен. Если это не так, установить BAStatus = batchIDUnavailable.


  3. Если имеется BrandIDSeq:


  • Проверить, что каждый BrandID поддерживается. Если это не так, установить BAStatus = brandNOTSupported.


  • Проверить, что каждый BIN поддерживается. Если это не так, установить BAStatus = unknownBIN.


  • Запомнить платежные системы и BIN, которые можно использовать для данной платежной линии.


    1. Открыть платежную линию для использования продавцом и установить BAStatus = success.


    2. Продолжить процесс посылкой BatchAdminRes


    Любые другие поля, присутствующие в сообщении BatchAdminReq будут игнорироваться, когда BatchOperation = open.
    5 Если BatchOperation = purge:

  • Проверить, что BatchID уже открыт. Если это не так, установить BAStatus = unknownbatchID.


  • Если BrandIDSeq присутствует:


  • Проверить, что каждый BatchID относится к данной платежной линии. Если это не так, установить BAStatus = brandBatchMismatch.


  • Проверить, что каждый BIN относится к данной платежной линии. Если это не так, установить BAStatus = unknownBIN.


  • Удалить все транзакции платежной линии, ассоциированные со специфицированной платежной системой и BIN.


    1. В противном случае, удалить все транзакции из группы платежей


    2. Установить BAStatus = success


    3. Продолжить работу посылкой сообщения BatchAdminRes


    Любые другие поля, присутствующие в сообщении BatchAdminReq, будут игнорироваться, когда BatchOperation = purge.
    6 Если BatchOperation = close:

    1. Проверить, что BatchID уже открыт. Если это не так, установить BAStatus = unknownbatchID.


    2. Установить BAStatus = success


    3. Продолжить работу посылкой сообщения BatchAdminRes


    Любые другие поля, присутствующие в сообщении BatchAdminReq будут игнорироваться, когда BatchOperation = close.
    7 Если BatchOperation опущено, а возвращенное значение ReturnBatchSummaryInd = TRUE:

    1. Проверить, что BatchID доступен. Если это не так, установить BAStatus = batchIDUnavailable.


    2. Если BrandAndBIN включен:


    1. Проверить, что каждый BatchID относится к данной платежной линии. Если это не так, установить BAStatus = brandBatchMismatch.


    2. Проверить, что каждый BIN относится к данной платежной линии. Если это не так, установить BAStatus = unknownBIN.


    3. Вычислить BatchTotals и заполнить структуры данных BrandBatchDetails для каждого специфицированного значения BrandAndBIN.


    1. Вычислить BatchTotals для платежных систем, включенных в BrandAndBIN, или для всех транзакций, если BrandAndBIN отсутствует. Заполнить BatchTotals в структурах данных BatchStatus вычисленными значениями.


    2. Если TransmissionStatus и SettlementInfo доступны в клиринговой системе, используемой расчетным центром, занести эту информацию в BatchAdminRes.


    3. Если StartingPoint опущено, установить BAStatus = success и продолжить работу посылкой отклика BatchAdminRes, в противном случае перейти к следующему шагу.


    NextStartingPoint и TransactionDetailSeq игнорируются, если ReturnBatchSummaryInd = TRUE.
    8 Если включено поле StartingPoint:

    1. Если MaximumItem установлен равным 0, аннулировать любую предшествующую информацию для данной платежной линии и установить BAStatus = success и продолжить работу посылкой отклика BatchAdminRes.


    2. Проверить, что BatchID доступен. Если это не так, установить BAStatus = batchIDUnavailable.


    3. Если StartingPoint не равен нулю, проверить, что StartingPoint равен NextStartingPoint, присланном в предыдущем отклике BatchAdminRes.


    4. Если StartingPoint равен нулю, установить указатель на начало списка платежей, в противном случае установить указатель согласно содержимому StartingPoint.


    5. Если имеется BrandAndBIN:


    1. Проверить, что каждый BatchID имеет отношение к данной платежной линии. Если это не так, установить BAStatus = brandBatchMismatch.


    2. Проверить, что каждый BIN имеет отношение к данной платежной линии. Если это не так, установить BAStatus = unknownBIN.


    3. Если специфицировано поле MaximumItems, заполнить TransactionDetail вплоть до MaximumItems из текущей позиции и установить NextStartingPoint в позицию, из которой можно получить данные для последующих транзакций. Если система достигла конца списка платежей, установить NextStartingPoint = 0. Выбор позиции ограничивается BrandandBIN и ErrorOnlyInd.


    f) Установить BAStatus = success и продолжить работу посылкой отклика BatchAdminRes
    9 Если код BatchOperation опущен, а BatchStatus имеется:

    1. Проверить, что BatchID доступен. Если это не так, установить BAStatus = batchIDUnavailable.


    2. Если имеется поле BrandBatchDetails:


  • Проверить, что каждый BatchID имеет отношение к данной платежной линии. Если это не так, установить BAStatus = brandBatchMismatch.


  • Проверить, что каждый BIN имеет отношение к данной платежной линии. Если это не так, установить BAStatus = unknownBIN.


  • Вычислить BatchTotals и заполнить информационные структуры BrandBatchDetails для каждого специфицированного BrandAndBIN.


    1. Вычислить BatchTotals для платежных систем, включенных в BrandAndBIN или для всех транзакций, если BrandAndBIN отсутствует.


    2. Для любого значения BatchTotals, которое не согласуется с приведенным в сообщении BatchAdminReq, занести вычисленные значения в BatchTotals информационной структуры BatchStatus.


    3. Если какое-либо итоговое значение не согласовано, установить BAStatus = totalsOutOfBalance и перейти к следующему пункту.


    4. Если поле TransactionDetails опущено, установить BAStatus = success и продолжить работу посылкой отклика BatchAdminRes


    10 Если код BatchOperation опущен и включено поле TransactionDetails:

    1. Проверить, что BatchID доступен. Если это не так, установить BAStatus = batchIDUnavailable.


    2. Если указатель StartingPoint не равен нулю и не согласуется с NextStartingPoint из предыдущего BatchAdminReq, установить BAStatus = unknownStartingPoint.


    3. Если NextStartingPoint не равен нулю, запомнить TransactionDetails, скопировать NextStartingPoint в сообщение BatchAdminRes и установить BAStatus = success. Продолжить работу посылкой отклика BatchAdminRes.


    4. Проверяется соответствие полученных транзакций с теми, что хранятся в расчетном центре. Если отличие обнаружено, установить BAStatus = totalsOutOfBalance. Продолжить работу посылкой отклика BatchAdminRes.


    5. Опционно установить BAStatus = stopItemDetail, чтобы проинформировать продавца о том, что расчетный центр не желает обрабатывать позиции в данной последовательности платежей (batch). Продолжить работу посылкой отклика BatchAdminRes.


    6. Установить BAStatus = success и продолжить работу посылкой отклика BatchAdminRes.


    Последовательность BrandAndBIN игнорируется.
    <

    Содержание  Назад  Вперед