Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip

На этой странице описан принцип использования кошельков ApplePay на портале ПЦ "Прокард" с использованием продукта PC-ECOM-PG

Использование кошельков ApplePay для оплаты на страницах сервис провайдеров возможно после интеграции сервис провайдера с платежной системой ApplePay (https://developer.apple.com/apple‑pay/).

Для выполнения операции необходимо получить данные токена от системы ApplePay согласно их протоколу взаимодействия.

Для формирования транзакции ApplePay согласно требований МПС, необходимо заполнить поля протокола специальным образом:

Cоздание заказа

При создании заказа (административная операция CreateOrder) необходимо добавить «дополнительные параметры» блока order:

Для МПС MasterCard:

AddParams->MasterPassWalletId = 103

AddParams->DSRPFlag = 1.

Пример XML-запроса административной операции CreateOrder с доппараметрами для МПС MasterCard:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<TKKPG>
  <Request>
  <Operation>CreateOrder</Operation>
  <Language>RU</Language>
    <Order>
      <OrderType>Purchase</OrderType>
      <Merchant>TEST_TRADER</Merchant>
      <Amount>5000</Amount>
      <Currency>980</Currency>
      <Description>Тестовая покупка</Description>
      <AddParams>
         <MasterPassWalletId>103</MasterPassWalletId>        <DSRPFlag>1</DSRPFlag>      </AddParams>    </Order>  </Request>
</TKKPG>

На этой странице:

Table of Contents

Для МПС Visa:

AddParams->MasterPassWalletId = 103

Пример XML-запроса административной операции CreateOrder с доппараметрами для МПС Visa:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<TKKPG>
  <Request>
  <Operation>CreateOrder</Operation>
  <Language>RU</Language>
    <Order>
      <OrderType>Purchase</OrderType>
      <Merchant>TEST_TRADER</Merchant>
      <Amount>5000</Amount>
      <Currency>980</Currency>
      <Description>Тестовая покупка</Description>
      <AddParams>
         <MasterPassWalletId>103</MasterPassWalletId>
       </AddParams>
     </Order>
   </Request>
 </TKKPG>

Операции ProcessPARes или Purchase 

При выполнении административных операций ProcessPARes или Purchase заполнить параметры, полученные из сообщения ApplePay, следующим образом:

applicationPrimaryAccountNumber => PAN

applicationExpirationDate => ExpDate – преобразованный из формата YYMMDD в формат YYMM

CVV2 = -1

ECI = 82

Так же при использовании токена ApplePay необходимо использование поля CAVV, но преобразованного нестандартным способом.

ApplePay возвращает значение cavv в поле onlinePaymentCryptogram, но значения xid не возвращает.

Необходимо сгенерировать значение xid: 20 символов преобразованных в Base64.

Пример формирования xid:

Code Block
languagephp
$xid = base64_encode((time()-3600)."0000000000");

Для МПС MasterCard механизм формирования поля CAVV не меняется, но для МПС Виза необходимо конвертировать значения xid и cavv в формат hexadecimal.

При использовании примера вычисления CAVV из Приложения 4, то, при операции ApplePay, необходимо использовать другой механизм преобразования CAVV:

Code Block
languagephp
function gatCAVV($pan, $xid, $cavv)
{
  $result = "";
  if (substr($pan,0,1)== '4')
  {    // VISA
    $result = convertCavvToVisa($xid) . convertCavvToVisa($cavv);
  }

меняется на

Code Block
languagephp
function gatCAVV($pan, $xid, $cavv)
{
  $result = "";
  if (substr($pan,0,1)== '4')
  {    // VISA
    $result = strtoupper(bin2hex(base64_decode($xid)))
             .strtoupper(bin2hex(base64_decode($cavv)));
  }

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

При использовании технологии 3DSecure и Токена ApplePay одновременно - необходимо передать значение TAVV и CAVV (после проверки 3DS) и eci=82.

В этом случае значение CAVV (после проверки 3DS) необходимо передавать в поле CAVV преобразованное стандартным способом, а поле TAVV необходимо передавать в поле

AddParams->TokenCryptogram преобразованное согласно правил описанных выше.

Если операция не 3DSecure, тогда в финансовой операции передается значение eci=87 и CAVV.

Пример XML-запроса административной операции Purchase для транзакции ApplePay:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<TKKPG>
   <Request>
      <Operation>Purchase</Operation>
      <Order>
         <Merchant>TEST_TRADER_SP</Merchant>
         <OrderID>828</OrderID>
      </Order>
      <SessionID>ECDE79578768ECFBF2897A0F44CC0CEF</SessionID>
      <Amount>1000</Amount>
      <Currency>980</Currency>
      <PAN>444444******4444</PAN>
      <ExpDate>2001</ExpDate>
      <CVV2>-1</CVV2>
      <CAVV>
          3135343838343236313930303030303030303001E0A986F50006B88F16717710D99F3000010000
      </CAVV>
      <eci>82</eci>
   </Request>
</TKKPG>

Filter by label (Content by label)
showLabelsfalse
sorttitle
showSpacefalse
titleСвязанные страницы:
cqllabel = "приложения"