Ви знаходитеся тут: Головна / Подключение Money Transfer / Money trasfer xml protocol UPC all 2.0

Money trasfer xml protocol UPC all 2.0

створив(ла) Igor Uleschenko Востаннє змінено: Лют 25, 2020 15:46

 

UKRAINIAN PROCESSING CENTER

Kyiv

 

 

 

logo_ecommerce_3.jpg 

Требования к предоставлению сервис-провайдерами

услуг денежных переводов

Visa PP Money Transfer и MC Money Send  

в интернете

 

 

 

 

 

Версия 1.3

 

2019

 

 

         Данный        документ      предназначен         для     использования       сервис-провайдерами, предоставляющими услуги денежных переводов от имени банка эквайера в сети «Интернет» через интерфейс УПЦ eCommerce Connect Gateway (ECG). Документ описывает требования к предоставлению услуг денежных переводов в интернете и использование интерфейсов сервиса ECG. 

 

Словарь

Сервис-провайдер         -        компания,     реализующая         интерфейс непосредственного взаимодействия с держателем карты от имени банка-эквайера.

Программы Visa Personal Payments Money Transfer (VPP MT) и MasterCard Money Send (MC MS) обеспечивают сервис по переводу денежных средств с использованием платежных карт (Visa или MasterСard) посредством транзакций Funding и Payment.

ECG (eCommerce Connect Gateway) – сервис УПЦ, который предоставляет интерфейс для осуществления транзакций в интернете, производит закрытие бизнес дня и предоставляет сервис мониторинга и предотвращения мошенничества таких транзакций.

Funding (Account Funding Transaction в терминологии VISA) — тип транзакции, который используется для списания денежных средств с карточного счета отправителя. Эмитент отправителя авторизует списание суммы денежного перевода и применяемых комиссий и дебетует счет отправителя.

Payment (Original Credit Transaction в терминологии VISA) — тип транзакции, который используется для пересылки денежных средств на карту получателя. Эмитент получателя на основании платежной транзакции кредитует счет получателя на сумму денежного перевода.

Card-to-Card – перевод средств с карты на карту. Состоит из двух связанных транзакций Funding и Payment.

Card-to-Card Local – тип перевода с карты на карту, который может быть выполнен, если банк-эквайер сервис-провайдера является эмитентом карты получателя и карты отправителя. Данный тип перевода не использует технологии VPP MT и MC MS, а используется та же технология перевода, что и при аналогичных переводах в банкоматах. Данный тип переводов производится также в online, то есть, средства на карту получателя поступают сразу, но в расчеты такие транзакции не выставляются. Банк рассчитывает эти транзакции самостоятельно на основании Posting файлов.

Account-to-Card – перевод средств с банковского счета физического лица на платёжную карту получателя. Состоит из одной транзакции Payment.

Card-to-Account - перевод средств с платёжной карты отправителя на счёт физического/юридического лица. Состоит из одной транзакции Funding.

Reversal on funding - тип транзакции, который используется для возврата денежных средств на карточный счет. Операция привязана к Funding.

MCC — Merchant Category Code.  представляет собой 4-значный номер,

классифицирующий вид деятельности торговой точки в операции оплаты по банковским картам в торгово-сервисном предприятии при электронной передаче информации в рамках транзакции за предоставляемые товары или услуги.

МПС – Международная Платежная Система (Visa, MasterCard).

 

Типы переводов, доступные сервис-провайдеру

В настоящий момент УПЦ поддерживает денежные переводы только внутри одной страны. Контроль выполнения этого правила выполняет интерфейс ECG.

  1. Перевод с карты на карту (Card-to-Сard) с использованием технологий VPP MT и/или MC MS, или внутрибанковский перевод (Card-to-Card Local).
  2. Платеж с карты отправителя в пользу юридических/физических лиц. Выполняется отдельной транзакцией Funding.
  3. Платеж на карту получателя. Выполняется отдельной транзакцией Payment.

Банк-эквайер имеет право применить в этих типах транзакций эквайерские комиссионные (кроме транзакции Card-to-Card Local).

 

Требования к проведению операций денежных переводов в Украине, осуществляемых через  интерфейс ECG

  1. Список необходимых проверок в момент проведения транзакций владельцем карты:

a)    Размер лимитов по сумме операции. Ограничения по сумме одной операции и по сумме за период времени устанавливает банк-эквайер и поддерживает сервиспровайдер.  

Актуальные на 1.04.2013 лимиты МПС: 

Visa - USD $2500 в эквиваленте гривны для одной операции безналичного перевода. 

МС - сумма операций денежных переводов для одного держателя карты в пределах календарного месяца не должна превышать USD $2500 в эквиваленте гривны.

b)    Сервис-провайдер должен получить фамилию, имя, отчество и адрес отправителя для транзакции перевода по карте MasterСard в случае, если сумма перевода превышает установленный платежной системой лимит в размере 5 000 гривен, и передавать полученные данные в транзакции. Если выполняемый перевод является локальным внутри одного банка, то эти данные запрашивать и передавать нет необходимости. 

c)     Эмитент карты отправителя и эмитент получателя являются резидентами страны эквайера. Валюта перевода только локальная (для Украины – гривна). 

d)    Ввиду особых требований MasterСard к проведению расчетов по транзакциям MoneySend вопрос отправки Payment транзакций по MasterСard согласовывается с банком-эквайером в индивидуальном порядке. По умолчанию, такие транзакции выполняются только для карточек банка-эквайера. 

e)    Банк-эквайер может устанавливать более низкие значения лимитов по суммам операций, а также вводить дополнительные ограничения и правила.

 

  1. При осуществлении всех видов операций денежного перевода требуется соблюдать следующие правила МПС:

a) сообщать клиенту-отправителю:

  • валюту выполняемой операции перевода;
  • сумму рассчитанных комиссионных в валюте перевода;
  • ограничение на сумму перевода;
  • перевод осуществляется между картами, эмитированными только украинскими банками.
  •  срок доставки перевода зависит от типа перевода, но не более двух рабочих дней; 
  • реквизиты службы клиентской поддержки. Если сервис-провайдер не имеет собственной службы поддержки, то необходимо предоставлять контакты службы поддержки банка-эквайера.

b) для подтверждения операции перевода клиентом-отправителем отображать реквизиты операции: 

  • дата и время;
  • номера карт отправителя и получателя;
  • сумма и валюта перевода;
  • сумма и валюта комиссии;
  • общая сумма и валюта операции перевода;
  • описание операции или назначение перевода.

c)    исключить возможность случайного перевода (запрашивать подтверждение на перевод у отправителя). Транзакция отправляется на авторизацию только после подтверждения клиентом-отправителем реквизитов перевода;

d)    исключить возможность случайного повторного перевода (например, отправитель случайно повторно нажал на кнопку “Отправить”)

e)    сообщать клиенту-отправителю код(ы) авторизации (Approval Code), если транзакция была авторизована успешно.

f)     сообщать клиенту-отправителю информацию в соответствии с действующим законодательством Украины. Например, «Данная операция не может быть связана с коммерческой деятельностью».

 

3. Чек в бумажном и/или электронном виде формируется в обязательном порядке и должен содержать информацию, перечисленную в пп. 2b и 2e. Согласно требованиям стандарта PCI DSS, на чек выводятся замаскированные номера карточек. Если операция была не успешной, на чеке должна быть отражена причина отказа.

 

Действия сервис-провайдера и банка-эквайера для запуска данного сервиса  

  1. Сервис-провайдеру необходимо согласовать правила работы с банком-эквайером (лимиты, комиссионные и пр.).
  2. Для выполнения Funding и Payment по картам Visa необходимо зарегистрировать клише с MCC 6012. Для выполнения переводов по картам MasterCard, для Funding - зарегистрировать клише c MCC 6538, для Domestic Payment — MCC 6536. Для выполнения денежных переводов необходимо выбрать одно из зарегистрированных клише в качестве основного.  Основное клише используется для идентификации торговца в ECG и указывается во всех запросах протокола, также, по основному клише производятся переводы Card-to-Card Local. Сервис-провайдеру следует учитывать, что клише для авторизации и выполнения расчетов выбирается интерфейсом ECG из зарегистрированных, исходя из типа транзакции и типа карты. Например, если выполнить перевод Card-to-Card с карты Visa на карту MasterCard, то в авторизационной базе и соответственно в расчетах, будет одна транзакция Funding по клише Visa с MCC 6012 и одна транзакция Payment по клише MasterCard с MCC 6536.
  3. Сервис-провайдер и банк-эквайер несут ответственность за выполнение требований международных платежных систем и национального законодательства к денежным переводам. Сервис-провайдер самостоятельно отслеживают изменения в национальном законодательстве, относящиеся к переводам денежных средств, и своевременно их применяют.
  4. При предоставлении услуг денежных переводов необходимо обеспечить соблюдение стандартов PCI DSS.

 

Общее описание взаимодействия посредством протокола

Взаимодействие с протоколом осуществляется посредством HTTP POST запросов/ответов. Данные запросов и ответов передаются в формате XML.

 

Формирование запроса

Для всех видов запросов выделяются общие обязательные данные, к которым относятся:

            идентификаторы основного терминала сервис-провайдера, MerchantId и TerminalId. Поле TerminalId является опциональным, поскольку к одному идентификатору MerchantId привязывается только один TerminalId. 

 идентификатор транзакции, который устанавливается сервис-провайдером, TrackingId. Данные TrackingId должны однозначно идентифицировать транзакции перевода средств. Тот же TrackingId, что и в транзакции перевода средств, может использоваться в дополнительных сервисах, например, при определении типа перевода с карты на карту. Так же, TrackingId используется для получения статуса завершенной транзакции.  Signature – криптографическая подпись запроса. Общие теги запроса:

<Request root tag>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<TrackingId>fd4e1c67a2d28fced849ee1bb76e7391b93eb12</TrackingId>

...

<Signature></Signature>

</Request root tag>

 

Обработка ответа

Независимо от типа запроса, ответ обязательно будет содержать Signature и Status. Signature – криптографическая подпись ответа.

Status – статус выполнения запроса, который в свою очередь состоит из:

Code – трехзначный код, который определяет успешность выполнения запроса или поясняет причину ошибки или отказа.

Message – текстовое сообщение в произвольной форме, которое детализирует причину получения того, или иного кода отказа или ошибки.

 

Общие тэги ответа:

<Response root tag>

<Status>

<Code>000</Code>

<Message> status message...</Message>

</Status>

<Signature></Signature>

</Response root tag>

 

Механизмы и типы переводов

Local – тип перевода с карты на карту, который осуществляется одной транзакцией внутри одного банка. Внутрибанковский перевод возможен только в том случае, если карта получателя и карта отправителя принадлежат банку-эквайеру. Если проведение Local перевода невозможно или запрещено сервис-провайдеру, то тип перевода будет определен как Domestic.

Domestic – внутригосударственный перевод между картами разных банков. Банки-эмитенты являются резидентами страны банка-эквайера. Перевод осуществляется с использованием VPP MT и/или MC MS.

Cross-border – международный перевод. Банк-эмитент не является резидентом страны банкаэквайера. Перевод осуществляется с использованием VPP MT и/или MC MS. В настоящий момент в УПЦ не поддерживается. 

 

Сервис CardZone

Сервис позволяет определить тип перевода (local, domestic или cross-board), принадлежность карты к платёжной системе, а также код карточного продукта. CardZone может использоваться как для Card-to-Card, так и для Card-To-Account и Account-To-Card. По данным ответа CardZone сервис-провайдер производит расчет суммы комиссионных.

Пример запроса к сервису CardZone и ответа от него для перевода Card-to-Card:

<CardZoneRequest>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<TrackingId>fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId>

<CardFromNumber>4999999999990011</CardFromNumber>

<CardToNumber>5559490000000148</CardToNumber>

</CardZoneRequest>

CardFromNumber – номер карты с которой осуществляется перевод. CardToNumber - номер карты на которую осуществляется перевод.

<CardZoneResponse>

<Status>

<Code>000</Code>

<Message>successfully</Message>

</Status>

<OperationZone>DOMESTIC</OperationZone>

<CardFromInfo>

<CountryCode>UAH</CountryCode>

<CardType>C</CardType>

<Brand>VISA</Brand>

<CardZone>DOMESTIC</CardZone>

</CardFromInfo>

<CardToInfo>

<CountryCode>UAH</CountryCode>

<CardType>MCS</CardType>

<Brand>MAST</Brand>

<CardZone>LOCAL</CardZone>

</CardToInfo>

</CardZoneResponse>

 

OperationZone – тип перевода {local, domestis, cross-board} для составной транзакции перевода средств.

CardFromInfo – информация по карте с которой списываются средства и тип перевода для операции Funding.

CardToInfo – информация по карте на которую зачисляются средства и тип перевода для операции Payment.

CardFromInfo и CardToInfo  в свою очередь, содержат:

CountryCode - код страны банка-эмитента карты согласно ISO 3166-1 alpha-3;

Brand – код платежной системы {VISA, MAST, MAES}; CardType - код карточного продукта;

CardZone - тип перевода для данной карты.

 

Использование CardZone сервиса опционально и если, сервис-провайдер уже владеет информацией о типе перевода, то CardZoneRequest делать не обязательно. В случае перевода Card-to-Account в запросе CardZoneRequest можно указывать только CardFromNumber. Соответственно, в случае перевода Account-to-Card можно указывать только CardToNumber.

 

Пример запроса и ответа CardZone для Card-to-Account:

<CardZoneRequest>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<TrackingId>fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId>

<CardFromNumber>4999999999990011</CardFromNumber>

</CardZoneRequest>

<CardZoneResponse>

<Status>

<Code>000</Code>

<Message>successfully</Message>

</Status>

<OperationZone>DOMESTIC</OperationZone>

<CardFromInfo>

<CountryCode>UAH</CountryCode>

<CardType>C</CardType>

<Brand>VISA</Brand>

<CardZone>DOMESTIC</CardZone>

</CardFromInfo>

</CardZoneResponse>

 

Перевод средств с использованием технологий VPP MT и MC MS Структура запроса для перевода Card-to-Card:

 

<TransactionRequest>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<TrackingId>fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId> <Amount>...</Amount>

<Funding>...</Funding>

<Payment>...</Payment>

</TransactionRequest>

 

Структура запроса для перевода Card-to-Account:

<TransactionRequest>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<TrackingId>fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId> <Amount>...</Amount>

<Funding>...</Funding>

</TransactionRequest>

 

Структура запроса для reversal on funding

<ReversalRequest>

    <MerchantId>9752130</MerchantId>

    <TerminalId> E9879930</TerminalId>

     <TrackingId> fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId>

    <Amount>…</Amount>

    <Funding>…</Funding>

</ReversalRequest>

 

Структура запроса для перевода Account-to-Card:

<TransactionRequest>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<TrackingId>fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId> <Amount>...</Amount>

<Payment>...</Payment>

</TransactionRequest>

 

Данные Amount

Amount содержит сумму, валюту перевода и сумму комиссионных за перевод. Сумма перевода и сумма комиссионных указывается целым числом в минимальных единицах валюты. Числовой код валюты согласно стандарту ISO 4217.

Пример для перевода 100 гривен с комиссией в размере 1 гривна:

<Amount>

<Value>10000</Value>

<CurrencyCode>980</CurrencyCode>

<Surcharge>100</Surcharge>

</Amount>

 

Данные Funding

Funding используется для переводов Card-to-Card и Card-to-Aссount. Funding состоит из PARes или CVV и CardInfo. Использование PARes или CVV зависит от схемы аутентификации держателя карты. PARes следует указывать если держатель карты прошел аутентификацию по 3D Secure (Verified by VISA/MasterCard SecureCode). PARes является ответом аутентификации пользователя на ACS (Access Control Server).

<Funding>

<PARes>

<Status>Y</Status>

<CAVV>AAABCFg3aUFBSBAQlTdpEFX/7P4=</CAVV>

<ECI>05</ECI>

<CavvAlgorithm>2</CavvAlgorithm>

</PARes>

<CVV>123</CVV>

<CardInfo>

<CardNumber>4999999999990011</CardNumber>

<ExpYear>2017</ExpYear>

<ExpMonth>12</ExpMonth>

</CardInfo>

</Funding>

 (В случае отсутствия тега транзакция будет маркирована ECI 07)

Дополнительно торговец должен запросить у клиента CVV2 код и подставить значение в тег <CVNum>***</CVNum>.

 

Если карта проходить аутентификацию на ACS MC или VISA (не ACS банка емитента), то в результате получаем данние для заполнения тега PARes со статусом A (*Attempt = Обработка данных аутентификации не может быть завершена)

 

mt1

 

Данные для Reversal on funding

Поля заполняются на основании оригинальной операции Funding

<ReversalRequest>

       <MerchantId>9752130</MerchantId>

       <TerminalId>E9879930</TerminalId>

        <TrackingId> fd4e1c67a2846ced849ee1bb76e739asd3563eb12</TrackingId>

                 <Amount>

                      <Value>100</Value>

                      <CurrencyCode>980</CurrencyCode>

                      <Surcharge>100</Surcharge>

                 </Amount>

                             <Funding>

                                 <ApprovalCode>121557</ApprovalCode>

                                 <RRN>509213298140</RRN>

                             </Funding>

</ReversalRequest>

 

Данные Payment

Payment используется для переводов Card-to-Card и Account-to-Card, Payment содержит номер карты получателя перевода.

Пример Payment для Card-to-Card перевода:

<Payment>

<RecipientCardNumber>555949000000148</RecipientCardNumber> </Payment>

 

В некоторых случаях, таких как, превышение лимита на сумму перевода или Cross-board перевод, необходимо указывать персональные данные отправителя средств в SenderInfo. Пример Payment для Card-to-Card перевода с персональными данными:

<Payment>

<SenderInfo>

<Name>Ivan Ivanov</Name>

<Address>

<Zip>01001</Zip>

<Country>UAH</Country>

<City>Kiev</City>

<Street>Moskovsky av., 9</Street>

</Address>

</SenderInfo>

<RecipientCardNumber>5559490000000148</RecipientCardNumber>

</Payment>

 

Для переводов Account-to-Card Payment должен содержать номер банковского счета отправителя (сервис-провайдера).

Пример Payment для Account-to-Card:

<Payment>

<RecipientCardNumber>5559490000000148</RecipientCardNumber>

<SenderAccountNumber>26385001215533</SenderAccountNumber> </Payment>

 

Ответ на Payment и Funding

Ответ на запросы Payment и на Funding содержат результаты авторизации по операциям Payment и Funding, а также клише, по которому была совершена операция. Ответ на запросы Payment и на Funding являются практически идентичными, за исключением поля CVResult в FundingResult. CVResult присутсвует в ответе в том случае, если Funding авторизуется с CVV. Ответ от авторизационной системы содержится в FundingResult и PaymentResult.

Date – время выполнения транзакии Payment или Funding в формате YYYY-MM-DD HH:MI:SS +TimeZone;

ApprovalCode – код авторизации;

RRN – Retrieval Reference Number;

AuthCode – код ответа авторизационной системы;

MerchantCliche — клише, по которому была выполнена транзакция. 

 

Пример ответа на Card-to-Card перевод:

<TransactionResponse>

<Status>

<Code>000</Code>

<Message>transaction complete</Message>

</Status>

<FundingResult>

<Date>2013-07-15 18:05:43 +0000</Date>

<ApprovalCode>565940</ApprovalCode>

<RRN>070513414191</RRN>

<CVResult>M</CVResult>

<AuthCode>000</AuthCode>

<MerchantCliche>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<MCC>6012</MCC>

</MerchantCliche>

</FundingResult>

<PaymentResult>

<Date>2013-07-15 18:05:44 +0000</Date>

<ApprovalCode>949777</ApprovalCode>

<RRN>071002414201</RRN>

<AuthCode>000</AuthCode>

<MerchantCliche>

<MerchantId>9752130</MerchantId>

<TerminalId>E9879930</TerminalId>

<MCC>6012</MCC>

</MerchantCliche>

</PaymentResult>

</TransactionResponse>

 

Ответ на Reversal on funding

Поля в ответе идентичны к ответам на Payment и Funding операции.

 

<ReversalResponse>

     <TrackingId>trantest1</TrackingId>

        <Status>

          <Code>000</Code>

          <Message>Approved</Message>

        </Status>

  <ReversalResult>

    <Date>2015-04-02 13:42:16 +0300</Date>

          <MerchantCliche>

             <MerchantId>9752130</MerchantId>

             <TerminalId>E9879930</TerminalId>

             <MCC>4829</MCC>

          </MerchantCliche>

                 <ApprovalCode>121557</ApprovalCode>

                 <AuthCode>000</AuthCode>

                 <RRN>509213298140</RRN>

  </ReversalResult>

              <Signature></Signature>

</ReversalResponse>

 

Порядок выполнения возврата средств.

Возврат средств выполняется по инициативе сервис-провайдера. 

Так же реверсал на транзакцию Funding выполняется автоматически в случае перевода с карты на карту, если после успешной авторизации транзакции Funding транзакция Payment была отклонена эмитентом или платежной системой. В этом случае реверсал на транзакцию Funding выполняется автоматически.