Ви знаходитеся тут: Головна / Подключение Ecommerce / MPIEnrol

MPIEnrol

створив(ла) Igor Uleschenko Востаннє змінено: Січ 08, 2020 16:58

 

  1. Торговец инициирует обращение к MPI:

Пример запроса   MPIEnrolRequest

url - https://secure.upc.ua/go/service/03
(Использование возможно только на рабочей среде)

<?xml version="1.0" encoding="UTF-8"?>

<ECommerceConnect xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.7.xsd">

<Message id="1234" version="1.0">

    <XMLMPIRequest>

        <MerchantID>1700000</MerchantID>

        <TerminalID>E7000000</TerminalID>

        <MPIRequestID="28832">

            <MPIEnrolRequest>

                   <CardNum>4999999999990011</CardNum>

                   <ExpYear>2020</ExpYear>

                   <ExpMonth>12</ExpMonth>

                   <TotalAmount>100</TotalAmount>

                   <Currency>980</Currency>

                   <Description> XMLMPIRequest  TEST</Description>

                  <DeviceCategory>0</DeviceCategory>

         </MPIEnrolRequest>

    </MPIRequest>

</XMLMPIRequest>

</Message>

<Signature></Signature>

</ECommerceConnect>

В полученном ответе торговец анализирует тег <Enrolled></Enrolled>. 

                Возможные варианты ответа:

                               Y = аутентификация возможна

                               U* = невозможен для аутентификации (используется, когда аутентификация либо невозможна по техническим причинам либо не включена в программу)

 

                  2.1. При получении ответа <Enrolled> U </Enrolled> торговец инициирует  отправку сообщения Авторизация (Authorization) или Преавторизация (Preauthorization) (в зависимости от выбранной схемы работы) используя для аутентификации только CVV2.

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

Транзакция будет маркирована как ECI 07 в следствии отсутствия какой либо дополнительной аутентификации клиента.

 

                    2.2 При получении ответа <Enrolled> Y </Enrolled>, ответ сервиса может содержать URL ACS сервера платежной системы или банка эмитента   (VISA и MasterCard отправляют все запроси через Directory Server, следственно в теге <Enrolled> </Enrolled> присылают всегда  значение Y).

 

После прохождения аутентификации на ACS сервере платежной системы (не ACS банка эмитента – в случае не активированной 3D-secure аутентификации) тег PARes заполняется так:

Для VISA Для MasterCard

<PARes>

<Status>A</Status>

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

<ECI>06</ECI>

<CavvAlgorithm>2</CavvAlgorithm>

</PARes>

<PARes>

<Status>A</Status>

<CAVV>hg8RdVI/XQLFCAEAJXPUBjYAAAA=</CAVV>

<ECI>01</ECI>

<CavvAlgorithm>3</CavvAlgorithm>

</PARes>

 

Пример  Attempt* сообщения Авторизации (Authorization)

Test URL    -  https://ecg.test.upc.ua/go/service/02
PROD URL -  https://secure.upc.ua/go/service/02
<?xml version="1.0" encoding="UTF-8"?><ECommerceConnect xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.4.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.4.xsd">
    <Message id="15967003274935781442886718696099" version="1.0">
        <XMLPayRequest>
            <RequestData>
                <MerchantID>1234567</MerchantID>
                <TerminalID>E1234567</TerminalID>
                <Transactions>
                    <Transaction>
                        <Authorization>
                            <PayData>
                                <Invoice>
                                    <OrderID>10vtlspusssd55</OrderID>
                                    <Date>150922015158</Date>
                                    <TotalAmount>10000</TotalAmount>
                                    <Currency>980</Currency>
                                    <Description>tran test</Description>
                                </Invoice>
                                <Card>
                                    <CardNum>4999999999990011</CardNum>
                                    <ExpYear>2050</ExpYear>
                                    <ExpMonth>12</ExpMonth>
                                    <CVNum>111</CVNum>
                                </Card>
    <PARes>
                   <Status>A</Status>
                   <CAVV>AAABCFg3aUFBSBAQlTdpEFX/7P4=</CAVV>
                   <ECI>06</ECI>
                   <CavvAlgorithm>2</CavvAlgorithm>
                        </PARes>
                            </PayData>
                        </Authorization>
                    </Transaction>
                </Transactions>
            </RequestData>
        </XMLPayRequest>
    </Message>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>kbtjFIDcoCH5rAPoWwdOTMqq/2I=</DigestValue></Reference></SignedInfo><SignatureValue>Np0vR7VlHEE6nqeekiWiwJLuY9pf8zZE4AvAm/E1gdx7BQrjxoYEXs/EpzIn4b3YtnD+spMkK8PY
Kn0LunRHUDSbxUZ5kdn2b6etdNdkll03QqFLKv6kArrGSlYPiMcIEJGdw/8a6nzuga8L9oa9KunR
ztuBZcKN4v45yke7/qo=</SignatureValue></Signature></ECommerceConnect>

 

2.2. При получении ответа <Enrolled> Y </Enrolled>

Пример ответа  XMLMPIResponse  Enrolled Y
<?xml version="1.0" encoding="UTF-8"?>
<ECommerceConnect xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.5.xsd">
<Message id="30115" version="1.0">
<XMLMPIResponse>
            <MPIResponse>
            <Code>0</Code>
                          <MPIEnrolResponse>
                          <Enrolled>Y</Enrolled>
 <AcsURL>https://upc. ua/ACS/servlet/VPASPayerAuthHTTPServlet?PS=S </AcsURL>
<PaReq> eJxVUk1vwjAM/StV72s+SNoEmUwMNsEBVg3YvU
ojKBptl7aj269fAh3bDpH8ni0/+zlw35/egg9jm6IqJyGJcBiYUld
5Ue4n4W77dCfCewXbgzVmvjG6s0bByjRNtjdBkU/CNHsx72Q
kecJjQoTglEpMGeOUETySIk4kZ6GCdOrqFAxKyglFFNAPdC2tP
mRlqyDT7w/LteIspkwCGiCcjF3OVSy4lJIDukIos5NRj5vFcxq8P
u9mi8eXYJfOAF140FVXtvZTCcwA/QDo7Js6tG09Ruh8PkfNoaq
jrtZRlwHyOUC/w6SdjxrXqy9ytZpPz+716/n0a3Xc9esCj1ZbzdfH
5QSQr4A8a42imDA8ojwgbIzJmAtAFx6ykx/CL4/dZlcAtdeYDhm
f+EuAc9y6g3wqKVzqhsD0dVUaV+FcvMWQm0arTV3YoiRO1CN
Av0vMFt5f3TrrCGOYC5LE3A3KEiEFvVHe9UuRVymcZyTxDg4Ak
G+DhoOi4TO46N8n+QYUBr7u  </PaReq>
<XID>12345678-123456</XID>
</MPIEnrolResponse>
</MPIResponse>
</XMLMPIResponse>
</Message>
<Signature></Signature>
</ECommerceConnect>


Необходимо переадресовать клиента с  парметри  PaReq, TermUrl  через HTTP POST  на адрес AcsURL

Пример переадресации клиента
url -AcsURL

<form method='post'  action= AcsURL >

<input type='hidden' name='TermUrl' value= TermUrl  >

<input type='hidden' name='PaReq' value= PaReq>

<input type='hidden' name='MD' value=''>

<input name='button'  type='submit' value="go">

</form>

 

Владелец карты переходит на ACS банка и вводит одноразовый пароль. В некоторых случаях переход может быть не явным для клиента (Attempt)

Страница банка эмитента
mpi3.jpg

 После чего платежная система посылает в ответ Merchant Data / PaRes на указанный TermUrl через HTTP POST.

 

Полученный ответ от платежной системы торговец формирует в MPIAuthRequest, для получения финальных авторизационных данных.

Пример запроса  MPIAuthRequest

WORK - https://secure.upc.ua/go/service/03
(Использование возможно только на рабочей среде)

 

Пример ответа

<ECommerceConnect xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.5.xsd">
<Message id="1234567" version="1.0">
    <XMLMPIRequest>
            <MerchantID>1700000</MerchantID>
                      <TerminalID> E7000000</TerminalID>
                  <MPIRequest ID="1111">
                        <MPIAuthRequest>
                                  <PaRes>…….</PaRes>
                     </MPIAuthRequest>    
              </MPIRequest>     
              </XMLMPIRequest>
</Message>
<Signature></Signature>
</ECommerceConnect>
<?xml version="1.0" encoding="UTF-8"?>
<ECommerceConnect xmlns:   xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.5.xsd">
   <Message id="1234567" version="1.0">
             <XMLMPIResponse>
                    <MPIResponse>
                           <Code>0</Code>
                             <MPIAuthResponse>
                                     <Status>Y</Status>
                                     <CAVV> >*************</CAVV>
                                    <ECI>05</ECI>
                                    <CavvAlgorithm>2</CavvAlgorithm>
                           </MPIAuthResponse>
                   </MPIResponse>
            </XMLMPIResponse>
  </Message>
<Signature></Signature>
</ECommerceConnect>

 

Пример запроса  MPIAuthRequest  для MasterCard

WORK - https://secure.upc.ua/go/service/03
(Использование возможно только на рабочей среде)
Пример ответа

<ECommerceConnect xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.5.xsd">

<Message id="1234567" version="1.0">

                <XMLMPIRequest>

                        <MerchantID>1700000</MerchantID>

                      <TerminalID>E7000000</TerminalID>

                              <MPIRequest ID="1111">

                                   <MPIAuthRequest>

                                        <PaRes>…….</PaRes>

                                 </MPIAuthRequest>  

                          </MPIRequest>

              </XMLMPIRequest>

</Message>

<Signature></Signature>

</ECommerceConnect>

<?xml version="1.0" encoding="UTF-8"?>

<ECommerceConnect xmlns:   xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.5.xsd">

   <Message id="1234567" version="1.0">

             <XMLMPIResponse>

                    <MPIResponse>

                           <Code>0</Code>

                             <MPIAuthResponse>

                                    <Status>A</Status>

                                     <CAVV> hoIJ71ONDNFnYwAAADW0AxIAAAA=CAVV>

                                    <ECI>01</ECI>

                                    <CavvAlgorithm>3</CavvAlgorithm>

                           </MPIAuthResponse>

                   </MPIResponse>

            </XMLMPIResponse>

  </Message>

<Signature></Signature>

</ECommerceConnect>

Примечание:

При получении ответа <Status>A</Status> торговец инициирует отправку Attempt* сообщения Авторизация (Authorization) или Преавторизация (Preauthorization) (в зависимости от выбранной схемы работы). Для этого дополнительно запрашивается у клиента и подставляется в запрос значение CVV2 кода.

ВАЖНО!!!: в финальном авторотационном запросе обязательно должны присутствовать заполненные поля блока <PARes> (Status +CAVV+ ECI+ CavvAlgoritm) и CVV2 код.
Пример финального запроса можно посмотреть в Пример  Attempt* сообщения Авторизации (Authorization).

 

Для завершения FULL 3D SECURE операции, необходимо полученные данные в теге   <MPIAuthResponse>  подставить  в  запрос  Авторизация (Authorization) или  Преавторизация (Preauthorization) в теге <PARes>.

Запрос

Test URL -   https://ecg.test.upc.ua/go/service/02
PROD URL -  https://secure.upc.ua/go/service/02
<?xml version="1.0" encoding="UTF-8"?><ECommerceConnect xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.4.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://secure.upc.ua/go/pub/schema/xmlpay-1.4.xsd">
    <Message id="15967003274935781442886718696099" version="1.0">
        <XMLPayRequest>
            <RequestData>
                <MerchantID>1752739</MerchantID>
                <TerminalID>E7880539</TerminalID>
                <Transactions>
                    <Transaction>
                        <Authorization>
                            <PayData>
                                <Invoice>
                                    <OrderID>10vtlspussdsd55</OrderID>
                                    <Date>150922015158</Date>
                                    <TotalAmount>10000</TotalAmount>
                                    <Currency>980</Currency>
                                    <Description>tran test</Description>
                                </Invoice>
                                <Card>
                                    <CardNum>4999999999990011</CardNum>
                                    <ExpYear>2050</ExpYear>
                                    <ExpMonth>12</ExpMonth>
                                    <CVNum>111</CVNum>
                                </Card>
    <PARes>
                   <Status>A</Status>
                   <CAVV></CAVV>
                   <ECI>06</ECI>
                   <CavvAlgorithm>2</CavvAlgorithm>
                        </PARes>
                            </PayData>
                        </Authorization>
                    </Transaction>
                </Transactions>
            </RequestData>
        </XMLPayRequest>
    </Message>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>kbtjFIDcoCH5rAPoWwdOTMqq/2I=</DigestValue></Reference></SignedInfo><SignatureValue>Np0vR7VlHEE6nqeekiWiwJLuY9pf8zZE4AvAm/E1gdx7BQrjxoYEXs/EpzIn4b3YtnD+spMkK8PY
Kn0LunRHUDSbxUZ5kdn2b6etdNdkll03QqFLKv6kArrGSlYPiMcIEJGdw/8a6nzuga8L9oa9KunR
ztuBZcKN4v45yke7/qo=</SignatureValue></Signature></ECommerceConnect>