Versions Compared

Key

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

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

Использование кошельков GooglePay для оплаты на страницах сервис провайдеров возможно после интеграции сервис провайдера с платежной системой GooglePay.

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

В случае, когда GooglePay возвращает чистый PAN, а не номер карты, транзакцию необходимо формировать как обычную, а не токен-транзакцию (см. соответсвующий раздел)

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

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

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

Для МПС MasterCard и Visa:

AddParams->MasterPassWalletId = 216

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>216</MasterPassWalletId>
         <DSRPFlag>1</DSRPFlag>
       </AddParams>
     </Order>
   </Request>
 </TKKPG>

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

Table of Contents

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

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

PAN – Токен полученный от GooglePay,

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

CVV2 = -1

Для МПС Мастеркард:

ECI = 82 

Для МПС Visa:

ECI = 87

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

GooglePay возвращает значение cavv, но значения xid не возвращает.

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

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

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

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

При использовании примера вычисления CAVV из Приложения 4, то, при операции GooglePay, необходимо использовать другой механизм преобразования 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)));
  }

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

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

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>

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

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

Связанные страницы:


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