Versions Compared

Key

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

Этот функционал будет активирован после вашего запроса в групповом чате.

Содержание
Info

Цей функціонал буде активовано після вашого запиту в груповому чаті.


Зміст

Table of Contents
maxLevel2
indent0px
absoluteUrltrue
stylecircle


Описание

Опис

Данный Цей метод позволит разместить на вашем сайте или в приложении отдельную кнопку для оплаты дозволить розмістити на вашому сайті або додатку окрему кнопку оплати Google Pay.


Демо

Iframe
scrollingno
srchttps://devplaton.com.ua/invoices/demo_buttons/payment_Gpay_API.html
width570
frameborderhide
height65


Чеклист интеграции

Чекліст інтеграції

  •  Привести сайт / приложение к соответствию требованиямдодаток до відповідності вимогам.
  •  Интегрировать Інтегрувати API Google Pay.
  •  Указать Вказати environment в режим режимі TEST.
  •  Передать Передати тех поддержке підтримці PSP Platon ссылку посилання для Callback.
  •  Сообщить в Повідомити тех поддержке підтримці PSP Platon ваши ваші IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут снятыадреси серверів сайта або про те, що буде використовуватить додаток (в цьому випадку обмеження по IP будуть зняті).
  •  Провести запрос для получения зашифрованных данных согласно запит по API Google Pay .
  •  После авторизации пользователя и выбора реальной карты в кошельке Google Pay вернет зашифрованные данные.
  •  Провести запрос согласно API PSP Platon используя зашифрованные данные от Google Pay.
  •  Получить Response или Callback для редиректа плательщика на 3DS проверку.
  •  Отправить клиента на 3DS проверку.
  •  Получить Response или Callback со статусом платежа DECLINED от PSP Platon.
  •  Отправить запрос в Google Business Console для активации аккаунта.
  •  Сообщить в тех поддержке PSP Platon об активации аккаунта.
  •  Указать environment в режим PRODUCTION.
  •  Провести запрос с получение успешного Response или Callback со статусом платежа SUCCESS от PSP Platon.
  •  Уведомить клиента об успешной / не успешной оплате.

Требования

Expand
titleSSL сертификат

У вашего сайта должен быть SSL сертификат.

Для проверки валидности и срока действия вашего SSL сертификата рекомендуем воспользоваться сервисом по ссылке.

Expand
titleЛоготипы платежных систем и PSP Platon

В футере вашего сайта необходимо разместить логотипы платежных систем и PSP Platon.

Скачайте подходящие под стиль вашего сайта варианты логотипов.

Include PageЛоготипы для размещенияЛоготипы для размещения
Expand
titleTLS 1.2

Необходима поддержка протокола TLS не ниже версии 1.2

Ограничения

Expand
titleБраузеры
На данный момент Google Pay работает в таких браузерах
  • для отримання кнопки Google Pay.
  •  Після авторизації користувача та вибору реальної картки в гаманці Google Pay вам повернуться зашифровані дані PaymentData.
  •  З отриманих шифрованих даних PaymentData необхідно витянути token та відформатувати його відповідно до вимогам і прикладу вказаному в цій документації.
  •  Провести запит відповідно API методу PSP Platon використовуючи відформатований токен Google Pay.
  •  Отримати Response або Callback для редиректа платника на 3DS перевірку.
  •  Відправити кліента на 3DS перевірку.
  •  Отримати Response або Callback зі статусом оплати DECLINED від PSP Platon.
  •  Відправити запит в Google Business Console для активації акаунта.
  •  Повідомити тех підтримці PSP Platon про активацію акаунта.
  •  Вказати environment в режимі PRODUCTION.
  •  Провести запит з отриманням Response или Callback зі статусом оплати SUCCESS від PSP Platon.
  •  Відобразити клиенту інформаію про успішну / невдалу оплату.

Вимоги

Include Page
Вимоги до сайтів та додатків
Вимоги до сайтів та додатків

Обмеження

Expand
titleБраузери

На даний момент Google Pay працює в таких браузерах:

  • Chrome

  • Safari

  • UC Browser

  • Firefox

  • Opera

  • Microsoft Edge

  • Android

Expand
titleWebView

Для работы Google забороняє використовувати Google Pay в WebView необходимо следовать согласно документации Google https://developer.android.com/guide/webapps/webview?hl=ru#BindingJavaScript .


Google Business Console

Активація Google Pay в Business Console

Expand
titleІнструкція по активація Google Pay в Business Console
Include Page
Активація Google Pay в Business Console
Активація Google Pay в Business Console

Google Pay API

Для сайта: https://developers.google.com/pay/api/web

Для мобильных приложений: https://developers.google.com/pay/api/android

Интегрируйте Google Pay API следуя документации выше для получения PaymentData.

Параметры:

  • allowPaymentMethods : CARD

  • tokenizationSpecification = { "

    Для Android додатку:


    Інтегруйте Google Pay API слідуючи документації вище для отримання PaymentData.

    Параметри:

    • allowPaymentMethods : CARD

    • tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}

    • allowedCardNetworks = ['MASTERCARD', 'VISA'];

    • allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

    • gateway = platon

    • gatewayMerchantId = CLIENT_KEY (API ключ выдается сотрудником компании PSP Platon)

    Expand
    titleПример конфиг Приклад конфіг файла
    Code Block
    languagejson
    {
        "apiVersion": 2,
        "apiVersionMinor": 0,
        "allowedPaymentMethods": [
            {
                "type": "CARD",
                "parameters": {
                    "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
                    "allowedCardNetworks": ["VISA", "MASTERCARD"]
                },
                "tokenizationSpecification": {
                    "type": "PAYMENT_GATEWAY",
                    "parameters": {
                        "gateway": "platon", //фіксований ідентифікатор PSP Platon
                        "gatewayMerchantId": "RJ9AE5Y7GX" //API ключ PSP Platon
                    }
                }
            }
        ],
        "merchantInfo": {
            "merchantId": "00986993593073708917", //ваші дані з Google Business Console
            "merchantName": "Name" //ваші дані з Google Business Console
        },
        "transactionInfo": {
            "totalPriceStatus": "FINAL",
            "totalPriceLabel": "Total",
            "totalPrice": "5.00",
            "currencyCode": "UAH",
            "countryCode": "UA"
        }
    }

    Если Якщо все сделано зробити правильно - на своем сайте/приложении вы получите кнопку Google Pay и после выбора карты вам вернется набор данных с вашому сайті / додатку відобразиться кнопка Google Pay та після вибору картки вам повернеться набір даних з PaymentData.

    Expand
    titleПример набора данных, которые возвращаются от Приклад набору даних PaymentData, які повертаються від Google Pay
    Code Block
    languagejson
    {
      "apiVersionMinor": 0,
      "apiVersion": 2,
      "paymentMethodData": {
        "description": "Mastercard •••• 5179",
        "tokenizationData": {
          "type": "PAYMENT_GATEWAY",
          "token": {
            "signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur",
            "intermediateSigningKey": {
              "signedKey": "{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",\"keyExpiration\":\"1571208568000\"}",
              "signatures": [
                "MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI="
              ]
            },
            "protocolVersion": "ECv2",
            "signedMessage": "{\"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",\"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",\"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"}"
          }
        },
        "type": "CARD",
        "info": {
          "cardNetwork": "MASTERCARD",
          "cardDetails": "5179"
        }
      }
    }

    С примером PaymentData можете ознакомиться нижеОзнайомтесь з прикладом token з PaymentData нижче:

    Expand
    titleПример набора данных, которые возвращаются от Приклад token з набору даних PaymentData, які повертаються від Google Pay
    Code Block
    languagejson
    {
      "signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur",
      "intermediateSigningKey": 
        {
        "signedKey": "{
            \"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",
            \"keyExpiration\":\"1571208568000\"
          }",
          "signatures": [
            "MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI="
          ]
        },
        "protocolVersion": "ECv2",
        "signedMessage": "{
          \"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",
          \"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",
          \"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"
        }"
      }
    }

    Настройте отправку полученного значения параметра "token" POST запросом по API Platon, в параметре payment_token.

    Предусловия:

    Прежде чем вы получите доступ к платежной платформе, вы должны предоставить следующее данные администратору платежной платформы:

    • список ваших IP-адресов, с которых будут направляться запросы на платежную платформу;

    • callback URL - URL-адрес, на который будет отправляться уведомления о результатах обработки Вашего запроса через платежную платформу;

    • контактный E-mail разработчика.

    Note

    Callback url должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов.

    API параметры

    HTTP METHOD: POST

    API ENDPOINT: https://secure.platononline.com/post/

    Параметр

    Значение

    Описание

    Особенности

    action

    Status
    colourGreen
    titleОбязательно

    GOOGLEPAY

    Код платежного метода

    client_key

    Status
    colourGreen
    titleОбязательно

    String

    API ключ мерчанта

    Ключ предоставляется на почту мерчанту

    order_id

    Status
    colourGreen
    titleОбязательно

    String

    ID платежа в системе мерчанта

    Max 32 символа

    order_amount

    Status
    colourGreen
    titleОбязательно

    Number

    Сумма платежа

    Tip

    Верный вариант

    1000.00

    Warning

    Неверные варианты

    1000
    1000.0
    1,000.0
    1,000.00

    order_currency

    Status
    colourGreen
    titleОбязательно

    UAH

    Валюта платежа

    Info

    Оплата возможна только в национальной валюте гривне

    order_description

    Status
    colourGreen
    titleОбязательно

    String

    Описание платежа

    Note

    Для кириллических символов необходимо использовать формат UTF-8

    Max 255 символов

    payment_token

    Налаштуйте відправку отриманого значення token в параметрі payment_token у відповідному форматі вказаному нижче:

    Expand
    titleПриклад формату для передачі токена по API методу PSP Platon

    'payment_token' => '{"signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\\"keyValue\\":\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENGvh+0txlndYyWnenquCGqEXnG77IWDPuk6HiMvg6XXwBWGDItHJuXadYnnEtX5g20xo8DBP5LSWORqRqjI2vA\\\\u003d\\\\u003d\\",\\"keyExpiration\\":\\"1683710430000\\"}","signatures":["MEYCIQDovFtcqE7q4ahpEXBbKzbnxlCzn3lF+oeFKn4UbWT25QIhAN6KdqmVyobBKM9V4j2GPmDKs15nzo/r/ZrKd8+7d0SL"]},"protocolVersion":"ECv2","signedMessage":"{\\"encryptedMessage\\":\\"8AYy2FFX0mm+6w8gJZUr57PjQ5txXNaosVFUPHuo06ZhykABc4do4Lvrc5RxdSrGJNSqq6a9KGEnP2tLHdjecVxTn5oL2sSerxTmVLa99TqBW65cGBLV0bIX6sdNht2XBuWn7jFIzSxMO/ZmcdoNYc6w/MI1CFLNfINTkTNjVxszATDBmNfdMi+s2V3NpjM5xmEIZs3FFWZ401/1XeoDHnJfbjMO7GY3GHrMKEsOOQsnDGUBnvB4q9pf/0rsQ8X4VlHB2UMfUAwErgyLOb6gpGtVKESh59tyewKn14fkfSYsETUiVlUsu62PoP+gY141AFYexgAB8K7ygTX/hxwau2DEd+vb1Y9rR9cYXBZDgYlhBWoR1tCeZcMLjDKk8A0vUEzlKbI7fgsKLIa4GvqmPx79bTSrJJ2dZo1fq14ShI9fFk2Jitu6aoHMKwGcyKnC+UOGox/ArlojtHRCdKzu65vjn0M4yMZDmuww9A\\\\u003d\\\\u003d\\",\\"ephemeralPublicKey\\":\\"BMPEPyCUSrSIlz2lZHh9nmbjtobXwoTnMq/PFDDItLpHDDd0PsPoy1VP1XQSpqFUEvxiXXxL2BQ8FhUCzpR6yDQ\\\\u003d\\",\\"tag\\":\\"LG5PWsVF7lDLfEI3pwEi47OHKRGIz/f2FasGq64JlK8\\\\u003d\\"}"}',


    API параметри

    HTTP METHOD: POST

    API ENDPOINT: https://secure.platononline.com/post/

    Expand
    titleПример запроса на PHP
    Code Block
    languagephp
    <?php $CLIENT_PASS='***'; $data['action']='GOOGLEPAY'; $data['CLIENT_KEY']='***'; $data['order_id']='Test_006'; $data['order_amount']='0.51

    Параметр

    Значення

    Опис

    Особливості

    action

    Status
    colourGreen
    title

    Обязательноpayer_ip

    Обов'язковий

    String

    Токен, полученный мерчантом от Google

    GOOGLEPAY

    Код платіжного метода

    client_key

    Status
    colourGreen
    title

    Обязательноterm_url_3ds

    Обов'язковий

    Number

    IP-адрес плательщика

    В формате "ХХХ.ХХХ.ХХХ.ХХХ"

    Note

    IPv6 на данный момент не поддерживается

    String

    API ключ мерчанта

    Ключ надається на пошту мерчанта

    order_id

    Status
    colourGreen
    title

    Обязательно

    Обов'язковий

    String

    Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS

    ID оплати в системі мерчанта

    Max 255

    символов

    символи

    hash

    order_amount

    Status
    colourGreen
    title

    Обязательно

    String

    Контрольная подпись

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev($payer_email).
        $CLIENT_PASS.
        strrev($payment_token)
      )
    )
    payer_first_name

    Обов'язковий

    Number

    Сума оплати

    Tip

    Вірний варіант

    1000.00

    Warning

    Невалідні варіанти

    1000
    1000.0
    1,000.0
    1,000.00

    order_currency

    Status
    colour

    Yellow

    Green
    title

    не обязательно

    String

    Имя плательщика

    Max 32 символа без пробелов

    payer_last_name

    Обов'язковий

    UAH

    Валюта

    Info

    Оплата можлива лише в національній валюті гривні

    order_description

    Status
    colour

    Yellow

    Green
    title

    не обязательноpayer_middle_name

    Обов'язковий

    String

    Фамилия плательщика

    Max 32 символа без пробелов

    Опис

    Note

    Для кириличних символів необхідно використовувати формат UTF-8

    Max 255 символів

    payment_token

    Status
    colour

    Yellow

    Green
    title

    не обязательноMax 32 символа без пробелов

    Обов'язковий

    String

    Отчество плательщика

    Токен отриманий від Google

    Токен необхідно відформатувати відповідно до прикладу вказаного вище.

    payer_

    birth_date

    ip

    Status
    colour

    Yellow

    Green
    title

    не обязательно

    String

    Дата рождения плательщика

    В формате “YYYY-MM-DD”

    payer_address

    Обов'язковий

    Number

    IP-адреса платника

    В форматі "ХХХ.ХХХ.ХХХ.ХХХ"

    Note

    IPv6 на даний момент не підтримується та при передачі поверне помилку

    payer_email

    Status
    colour

    Yellow

    Green
    title

    не обязательно

    Обов'язковий

    String

    Адрес плательщика

    E-mail платника

    Info

    Обов'язково валідна пошта.

    Info

    Відсутність пробілів.

    Max 256

    символа
    Укажите NA, если нет данных

    символів

    payer_

    country

    phone

    Status
    colour

    Yellow

    Green
    title

    не обязательно

    String

    Страна плательщика

    Стандарт ISO 3166-1 alpha-2
    В формате "ХХ"
    2 символа
    Укажите NA, если нет данных

    payer_state

    Обов'язковий

    Number

    Номер телефона платника

    Info

    Обов'язковий формат телефону 380…

    term_url_3ds

    Status
    colour

    Yellow

    Green
    title

    не обязательноpayer_city

    Обов'язковий

    String

    Штат плательщика

    Note

    Обязательный параметр для стран US, CA, AU

    Стандарт ISO 3166-2
    В формате "ХХ"
    2 символа
    Укажите NA, если нет данных

    Посилання куди буде відправлено платника після спроби оплати

    Max 255 символів

    hash

    Status
    colour

    Yellow

    Green
    title

    не обязательноpayer_zip

    Обов'язковий

    String

    Город плательщика

    Max 32 символа
    Укажите NA, если нет данных

    Контрольний підпис

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev($payer_email).
        $CLIENT_PASS.
        strrev($payment_token)
      )
    )

    payer_first_name

    Status
    colourYellow
    titleне

    обязательно

    обов'язковий

    String

    Почтовый индекс плательщика

    Ім'я платника

    Max 32

    символа
    Укажите NA, если нет данныхpayer_email

    символи без пробілів

    payer_last_name

    Status
    colourYellow
    titleне

    обязательно

    обов'язковий

    String

    E-mail плательщика

    Прізвище платника

    Max

    256 символа

    32 символи без пробілів

    payer_

    phone

    middle_name

    Status
    colourYellow
    titleне

    обязательно

    обов'язковий

    Number

    String

    Номер телефона

    ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

    Status
    colourYellow
    titleне обязательно

    String

    10 дополнительных полей

    Max 1024 символа в каждом ext поле

    channel_id

    Отчество плательщика

    Note

    Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:

    1. обязательный формат телефона 380…

    2. номер телефона должен соответствовать финансовому номеру привязанному к карте

    Max 32 символи без пробілів

    payer_birth_date

    Status
    colourYellow
    titleне обов'язковий

    String

    Дата народження платника

    В форматі “YYYY-MM-DD”

    payer_address

    Status
    colourYellow
    titleне

    обязательно

    обов'язковий

    String

    Дополнительный платежный канал

    Позволяет отправить платежи на другой банковский терминал

    async

    Адреса платника

    Max 256 символів
    Вкажіть NA, якщо немає даних

    payer_country

    Status
    colourYellow
    titleне

    обязательно

    обов'язковий

    Y

    String

    N

    Включить асинхронный режим

    Note

    В асинхронном режиме обязательное использование коллбеков.

    По умолчанию значение N.

    auth

    Країна платника

    Стандарт ISO 3166-1 alpha-2
    В форматі "ХХ"
    2 символа
    Вкажіть NA, якщо немає даних

    payer_state

    Status
    colourYellow
    titleне

    обязательно

    обов'язковий

    Yreq_token
    Status

    String

    N

    Холдирование средств на карте плательщика

    По умолчанию N

    Штат платника

    Стандарт ISO 3166-2
    В форматі "ХХ"
    2 символа
    Вкажіть NA, якщо немає даних

    payer_city

    Status
    colourYellow
    titleне

    обязательно

    Y
    N

    Для получения card_token

    По умолчанию N

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

    обов'язковий

    String

    Місто платника

    Max 32 символи
    Вкажіть NA, якщо немає даних

    payer_zip

    Status
    colourYellow
    titleне обов'язковий

    String

    Поштовий індекс платника

    Max 32 символи
    Вкажіть NA, якщо немає даних

    ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

    Status
    colourYellow
    titleне обов'язковий

    String

    10 додаткових полів

    Max 1024 символи в кажному ext полі

    channel_id

    Status
    colourYellow
    titleне обов'язковий

    String

    Додатковий платіжний канал

    Дозволяє перенаправляти платежі на інший банківський термінал

    async

    Status
    colourYellow
    titleне обов'язковий

    Y
    N

    Включити асинхронний режим

    Note

    В асинхронному режимі обов'язкове використання коллбеків.

    Стандартне значення N.

    auth

    Status
    colourYellow
    titleне обов'язковий

    Y
    N

    HOLD коштів на картці платника

    Стандартне значення N.

    req_token

    Status
    colourYellow
    titleне обов'язковий

    Y
    N

    Для отримання card_token

    Стандартне значення N.


    Приклад запиту

    Expand
    titleПриклад запиту на PHP
    Info

    Content-Type: form-data или x-www-form-urlencoded

    Code Block
    languagephp
    <?php
      $client_pass='***';
      $data['action']='GOOGLEPAY';
      $data['client_key']='***';
      $data['order_id']='Test_006';
      $data['order_amount']='1.00';
      $data['order_currency']='UAH';
      $data['order_description']='test';
      $data['paymentpayer_tokenip']='{"signature":"MEUCIQD+9/PnFvB+Lo6d/eHpgqQrMvmRDZdW1AcjQKavHrcPmQIgeVjR1hXqH7hkCn+VZqx/kjdofMIYbyL15Xp52mR9+2s\u003d11.195.75.204';
      $data['payer_phone']='380962111111';
      $data['payment_token']= '{"signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\\\\"keyValue\\\\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBOHyOhwWk6SK5nqhFBBI1hSvWHAaOO0Ukbrl56zx7fPNttFFKs2U10f6EWbdhULrv4QT4qMNbyVAq8ig1jdsYA\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73Pk51MSGFgZ3Ul2K7rPNXNZDY886ybbDotCRXfNqaqyu3j4UAxu3rTPn6u9s2h+6eQfLWtQzZ+2IdA32zYUIw\\\\\\\\u003d\\u003d\\",\"keyExpiration\":\"1570945959000\"\u003d\\\\",\\\\"keyExpiration\\\\":\\\\"1683886728000\\\\"}","signatures":["MEYCIQCe6t42U5OemtGGdYC6npBNbVxe1HbTF8pUkSD7mO+CWAIhAI/0M/XQuW6i8reT0LCNHKoNfgWYwOWHBoj2wpZdgKHhMEYCIQChYMsPP6iE0EBWjN4yCaYutxJsXJwbQ241w21YZ1iI6AIhAI5u97+CSg04TTcZwGolxbcjs3I8J4srgIuXdbc7wKET"]},"protocolVersion":"ECv2","signedMessage":"{\\\\"encryptedMessage\\\\":\\\\"U9ChAIukmQ85TdZKAUP/26mJUwUt3cVpJmxeXUyfiFgOFkvyBecknRUBbZEHZfLp59RViFryhOjz6Fx9AJ4VpsdstPI9/JtFi350FHFYeLiWMXw8kCXeoiJ0UQiUYmd/KiRNiIEGi1CmkgVe+ohzikkKLo37Ty3YQjyjVHNTHmF3AyNVTIJCL7qYybt+aFNI1XFlpv3ArWU+fH8Bi190tl7lLyyeNjWx8L402spsLpuUe9OLLjazIq0Vfjw3wRZ2B2+ybUrnoz5Iydapn8B7c/QqR7w53n6svIK58q7eL159Ano0GyfLpUOLLQ949MhP1ze***UzapUGtMd0k0c/4Nnkfs2TnN6ETEtP8y9J29hYKGVOCo79rRSN2xLsYXGNawIiPc6082HWB82JyuW2bfWAL1R0W+2iql2dBWY\\u003dMklZt4LH6LySi3kLRxRp0Dbmh2OLpgfGBtbKzUOhlDAD4025OVfsG8Hwlrsvc3yCdFYiA3+w6rc12uAu9EBlAQv2nTJj6FHCIrOrwJ0FYjdk2hqXNKN/4CSBhxHoqITlYh8wX5EIqpHbnS73zp4aOvPgV8iPicnOxD1Cbr7OPZRqB2hUmWNeLv8ZSyQXLsVXLb5cQ5ZFLTcEdRWQrvwvZ43Fz5RHrBZGcVZmvCagLLh9euII4aVMVAfHepjmcWF1kOJdpvmygZnTfGx1MweSn8LEl8NM9mQh5eUy0yP/5R4/Egv8btC7uKxwmBuxuVoNd0DCeiShaUzx+AVVhdIHUytRIqllFFkbvf491ljpa6cWOQReuh3pYOCQ/cWSRNWXR2WiVtSOo0q47iH1AYGCsTyxpKq1Jcoq7ws1FJQEKy5ofZAcktdsmdDFtCnA6V/Pdzl7XWMIWbRrVXS2U\\\\",\\\\"ephemeralPublicKey\\\\":\\\\"BPYYpVT5INyXSwoNbP/HuGkjQnfnUwUPMH2bCp6Od3EoihnegFZObjP0IVvDA5YfNlLDJjHutBDj30GW5Fei8xwBLD5aoQeQ1M51wRDphfxHNBuDa1i0hcbO+9rIeX8kfWGfM7Bm0Uzu1V6/jRWGttY6lq6c8Gqi4a4DvU1oE7zbw8\\\\\\\\u003d\\\\",\\\\"tag\\\\":\"qt4FcCGO4rp969CBBTPJ0nhAeQeR+rOM0FmXk8DdGLQ\\\"pP9Fo/JfuRGJw0gR7NbrqcRNx7TDvmnKj7Gq42FJmDA\\\\\\\\u003d\\\\"}"}';
      $data['payer_email']='sale@gmail.com';
      $data['term_url_3ds']='http://google.com';
      $hash = md5(
                strtoupper(
                  strrev(
                  $data['payer_email']
                  ).
                  ($CLIENT_PASS).
                  strrev(
                    $data['payment_token']
                  )
                )
              );
    ?>
    
    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Payment</title>
      </head>
      <body onload="javascript:document.forms[0].submit()">
        <form action="https://secure.platononline.com/post/" method="post">
          <input type="hidden" name="action" value="<?=$data['action']?>" />
          <input type="hidden" name="client_key" value="<?=$data['CLIENT_KEY']?>" />
          <input type="hidden" name="order_id" value="<?=$data['order_id']?>" />
          <input type="hidden" name="order_amount" value="<?=$data['order_amount']?>" />
          <input type="hidden" name="order_currency" value="<?=$data['order_currency']?>" />
          <input type="hidden" name="order_description" value="<?=$data['order_description']?>" />
          <input type="hidden" name="payment_token" value="<?=$data['payment_token']?>" />
          <input type="hidden" name="payer_email" value="<?=$data['payer_email']?>" />
          <input type="hidden" name="term_url_3ds" value="<?=$data['term_url_3ds']?>" />
          <input type="hidden" name="hash" value="<?=$hash?>" />
        </form>
      </body>
    </html>

    Тестирование

    Переведите environment в режим 'TEST’.

    Используйте реальную карту подвязанную в Google Pay для оплаты.

    При успешном тесте вы получите ответ о неуспешной транзакции (особенности тестового режима) и 'decline_reason' => 'Declined by processing'

    Сообщите тех саппорту об успешном тесте и только после этого перейдите к активации бизнес-аккаунта Google.

    Warning

    Параметр environment в режим 'TEST’ оставить до указаний со стороны тех саппорта PSP Platon.

    Проверка платежей

    Expand
    titleПолный список методов получения результата транзакции
    Include PageПолучение результата транзакцииПолучение результата транзакции

    Callback и Response

    Expand
    titleОсобенности работы с Callback
    Include PageРабота с CallbackРабота с Callback Expand
    titleБезопасность
    Include PageБезопасностьБезопасность

    Синхронный режим:

    Данный режим работает по умолчанию. Передавать async = N не нужно.

    Промежуточный редирект плательщика на 3DS (синхронный режим):

    Expand
    titleПромежуточный Response при наличии 3DS проверки
    Code Block
    languagejson
    {
      "action": "SALE",
      "result": "REDIRECT",
      "status": "3DS",
      "trans_id": "03346-89225-87891",
      "order_id": "ORDER-12345",
      "trans_date": "2012-04-0316:02:02",
      "redirect_url": "https://server_3ds.com/3ds.php",
      "redirect_params": {
        "PaReq": "bc5865698ae46de4eba4c51f0359a714",
        "MD": "111111111111111111111",
        "TermUrl": "https://term_url.com/3ds/67c14e5?trans_id=03346-89225-87891&hash=8b98db60fb3c24c14a6d7075241da38b"
      },
      "redirect_method": "POST"
    }

    Параметры

    Описание

    action

    GOOGLEPAY

    result

    REDIRECT

    status

    3DS

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    redirect_url

    URL, на который должен быть перенаправлен плательщик

    redirect_params

    Массив определенных параметров 3DS

    redirect_method

    Метод передачи параметров (POST/GET)

    Expand
    titleПромежуточный Callback при наличии проверки 3DS
    Code Block
    languagephp
    array (
      'action' => 'SALE',
      'result' => 'REDIRECT',
      'status' => '3DS',
      'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
      'trans_id' => '28738-47774-55067',
      'trans_date' => '2020-04-20 12:12:57',
      'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
      'redirect_params' => 
        array (
          'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
          'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
        ),
      'redirect_method' => 'POST',
      'hash' => '********************************',
    )

    Параметры

    Описание

    action

    SALE

    result

    REDIRECT

    status

    3DS

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    redirect_url

    URL, на который должен быть перенаправлен плательщик

    redirect_params

    Строка параметров

    redirect_method

    Метод передачи параметров (POST/GET)

    hash

    Зашифрованная подпись для проверки достоверности коллбека

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev(email).
        CLIENT_PASS.
        strrev(payment_token)
      )
    )
    Info

    Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

    При успешной оплате (синхронный режим):

    Expand
    titleResponse при успешном списании
    Code Block
    languagejson
    {
      "action": "SALE",
      "result": "SUCCESS",
      "status": "SETTLED",
      "trans_id": "03346-89217-70541",
      "order_id": "ORDER-12345",
      "descriptor": "test",
      "trans_date": "2012-04-03 16:02:01"
    }

    Параметры

    Описание

    action

    GOOGLEPAY

    result

    SUCCESS

    status

    PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    descriptor

    Это строка, которую владелец кредитной карты увидит в выписка из банка.

    В большинстве случаев это веб-сайт поддержки клиентов.

    amount

    Сумма транзакции

    Info

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

    ext1 - ext10

    10 дополнительных полей

    Info

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

    currency

    Валюта операции

    Expand
    titleCallback при успешном списании
    Code Block
    languagephp
    array (
      'action' => 'SALE',
      'result' => 'SUCCESS',
      'status' => 'SETTLED',
      'order_id' => '1_691201',
      'trans_id' => '31176-65336-00444',
      'trans_date' => '2021-01-27 16:55:33',
      'descriptor' => NULL,
      'auth_code' => '990647',
      'hash' => '********************************',
    )

    Параметры

    Описание

    action

    SALE

    result

    SUCCESS

    status

    PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    descriptor

    Это строка, которую владелец кредитной карты увидит в выписка из банка.

    В большинстве случаев это веб-сайт поддержки клиентов.

    auth_code

    Код авторизации от банка

    amount

    Сумма транзакции

    Info

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

    ext1 - ext10

    10 дополнительных полей

    Info

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

    hash

    Зашифрованная подпись для проверки достоверности коллбека

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev($payer_email).
        $CLIENT_PASS.
        strrev($payment_token)
      )
    )
    Info

    Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

    При неуспешной оплате (синхронный режим):

    Expand
    titleResponse при неуспешном списании
    Code Block
    languagejson
    {
      "action": "SALE",
      "result": "DECLINED",
      "status": "DECLINED",
      "trans_id": "03346-89214-54141",
      "order_id": "ORDER-12345",
      "trans_date": "2012-04-0316:02:01",
      "decline_reason": "Declined by processing"
    }

    Параметры

    Описание

    action

    GOOGLEPAY

    result

    DECLINED

    status

    DECLINED

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    amount

    Сумма транзакции

    Info

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

    ext1 - ext10

    10 дополнительных полей

    Info

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

    trans_date

    Дата транзакции в платежной системе. Время UTC

    decline_reason

    Причина, по которой транзакция была отклонена

    Expand
    titleCallback при неуспешном списании
    Code Block
    languagephp
    array (
      'action' => 'SALE',
      'result' => 'DECLINED',
      'status' => 'DECLINED',
      'order_id' => '1_691201',
      'trans_id' => '31176-65336-00444',
      'trans_date' => '2021-01-27 16:55:33',
      'decline_reason' => 'Declined by processing',
      'hash' => '********************************',
    )

    Параметры

    Описание

    action

    SALE

    result

    DECLINED

    status

    DECLINED

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    amount

    Сумма транзакции

    Info

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

    ext1 - ext10

    10 дополнительных полей

    Info

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

    decline_reason

    Причина, по которой транзакция была отклонена

    hash

    Зашифрованная подпись для проверки достоверности коллбека

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev(email).
        CLIENT_PASS.
        strrev(payment_token)
      )
    )
    Info

    Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

    При ошибке в запросе (синхронный режим):

    Expand
    titleResponse в случая ошибки в запросе
    Code Block
    languagejson
    {
      "result": "ERROR",
      "error_message": "Error description"
    }

    Асинхронный режим:

    Данный режим активируется при передаче async = Y. В этом режиме обязательно необходимо принимать callback на ваш callback url.

    Промежуточный ответ (асинхронный режим):

    Expand
    titleResponse о принятии запроса в обработку
    Code Block
    languagejson
    {
      "action": "SALE",
      "result": "ACCEPTED",
      "trans_id": "03346-89211-86461",
      "order_id": "ORDER-12345",
      "trans_date": "2012-04-03 16:02:01"
    }

    Параметры

    Описание

    action

    GOOGLEPAY

    result

    ACCEPTED

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    Промежуточный редирект плательщика на 3DS (асинхронный режим):

    Expand
    titleПромежуточный Callback при наличии проверки 3DS
    Code Block
    languagephp
    array (
      'action' => 'SALE',
      'result' => 'REDIRECT',
      'status' => '3DS',
      'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
      'trans_id' => '28738-47774-55067',
      'trans_date' => '2020-04-20 12:12:57',
      'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
      'redirect_params' => 
        array (
          'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
          'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
        ),
      'redirect_method' => 'POST',
      'hash' => '********************************',
    )

    Параметры

    Описание

    action

    SALE

    result

    REDIRECT

    status

    3DS

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    redirect_url

    URL, на который должен быть перенаправлен плательщик

    redirect_params

    Строка параметров

    redirect_method

    Метод передачи параметров (POST/GET)

    hash

    Зашифрованная подпись для проверки достоверности коллбека

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev(email).
        CLIENT_PASS.
        strrev(payment_token)
      )
    )
    Info

    Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

    При успешной оплате (асинхронный режим):

    Expand
    titleCallback при успешном списании
    Code Block
    languagephp
    array (
      'action' => 'SALE',
      'result' => 'SUCCESS',
      'status' => 'SETTLED',
      'order_id' => '1_691201',
      'trans_id' => '31176-65336-00444',
      'trans_date' => '2021-01-27 16:55:33',
      'descriptor' => NULL,
      'auth_code' => '990647',
      'hash' => '********************************',
    )

    Параметры

    Описание

    action

    SALE

    result

    SUCCESS

    status

    PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    descriptor

    Это строка, которую владелец кредитной карты увидит в выписка из банка.

    В большинстве случаев это веб-сайт поддержки клиентов.

    auth_code

    Код авторизации от банка

    amount

    Сумма транзакции

    Info

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

    ext1 - ext10

    10 дополнительных полей

    Info

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

    hash

    Зашифрованная подпись для проверки достоверности коллбека

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev($payer_email).
        $CLIENT_PASS.
        strrev($payment_token)
      )
    )
    Info

    Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

    При неуспешной оплате (асинхронный режим):

    Expand
    titleCallback при неуспешном списании
    Code Block
    languagephp
    array (
      'action' => 'SALE',
      'result' => 'DECLINED',
      'status' => 'DECLINED',
      'order_id' => '1_691201',
      'trans_id' => '31176-65336-00444',
      'trans_date' => '2021-01-27 16:55:33',
      'decline_reason' => 'Declined by processing',
      'hash' => '********************************',
    )

    Параметры

    Описание

    action

    SALE

    result

    DECLINED

    status

    DECLINED

    order_id

    ID транзакции в системе мерчанта

    trans_id

    ID транзакции в платежной системе

    trans_date

    Дата транзакции в платежной системе. Время UTC

    amount

    Сумма транзакции

    Info

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

    ext1 - ext10

    10 дополнительных полей

    Info

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

    decline_reason

    Причина, по которой транзакция была отклонена

    hash

    Зашифрованная подпись для проверки достоверности коллбека

    Code Block
    languagephp
    md5(
      strtoupper(
        strrev(email).
        CLIENT_PASS.
        strrev(payment_token)
      )
    )
    Info

    Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

    При ошибке в запросе (асинхронный режим):

    Expand
    titleResponse в случая ошибки в запросе
    Code Block
    languagejson
    {
      "result": "ERROR",
      "error_message": "Error description"
    }

    Ошибки запросов

    Expand
    titleСписок ошибок, их причин и возможных решений.
    Include PageОшибки/решения при запросахОшибки/решения при запросах

    Боевой режим

    Пройдите контрольный список интеграции:

    После добавления кнопки на ваш сайт/мобильное приложение необходимо пройти контрольный список интеграции для проверки корректности работы Google Pay API:

    Для сайтов
    ';
      $data['payer_email']='sale@gmail.com';
      $data['term_url_3ds']='http://google.com';
      $data['hash'] = md5(
                strtoupper(
                strrev($data['payer_email']).
                $client_pass.
                strrev($data['payment_token'])
                )
              );
    
    $url = 'https://secure.platononline.com/post/';
    $crq = curl_init();
    curl_setopt($crq, CURLOPT_URL, $url);
    curl_setopt($crq, CURLOPT_HEADER, 0);
    curl_setopt($crq, CURLOPT_POST, 1);
    curl_setopt($crq, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($crq, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($crq, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($crq, CURLOPT_POSTFIELDS, http_build_query($data));
    $result = curl_exec($crq);
      if (curl_errno($crq)) {
        echo 'ERROR: '.curl_error($crq);
      }else{
        echo $result;
      }
    curl_close($crq);
    Info

    Postman Collection


    Тестовий режим

    Переведіть environment в режим 'TEST’.

    Використайте реальну картку підв'язану в Google Pay для оплати.

    При успішному тесті ви отримаєте відповідь про невдалу транзакцію (особливість тествого режиму) 'decline_reason' => 'Declined by processing'

    Повідомте тех підтримці про успішний тест і тільки після цього можете переходити до активаціх в Google бізнес акаунті.

    Warning

    Параметр environment в режимі 'TEST’ залишити до вказівок з боку тех підтримки PSP Platon.


    Боєвий режим

    Пройдіть контрольний список інтеграції:

    Після додавання кнопки на ваш сайт / мобільний додаток необхідно пройти контрольний список інтеграції для перевірки коректності роботи Google Pay API:

    Для сайтів: https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist

    Для мобильных приложениймобільних додатків: https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist

    Запросите доступ к рабочей версии

    Запросіть доступ до робочої версії Google Pay API:

    Для возможности начать принимать реальные платежи необходимо запросить доступ в рабочей версииможливості приймати реальні оплати необхідно запросити доступ до робочої версії:

    https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access

    Получите

    Отримайте доступ на Production в Google Pay:

    https://developers.google.com/pay/api/android/guides

    Для этого необходимо создать учетную запись цього необхідно створити акаунт в https://pay.google.com/business/console/  (используя гугл аккаунт, желательно корпоративный и общий)

    Заполните информацию о компании.

    використовуйте загальний корпоративний акаунт)

    Заповніть інформацію про компанію.

    В інтеграції вкажіть В интеграциях выбрать Сайт, заполнить домен (пока домен тестового сайта), указать тип PaymentGateway и вложить 5 скринов процесса заказа и оплаты.

    Сразу можете подавать заявку и для получения доступа с продовым доменом.

    Note

    Просьба обратить внимание, что в прод режиме Google Pay будет работать только на проаппрувленых гуглом доменах.

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

    Note

    Зверніть увагу, що в прод режимі буде працювали лише проапрувлений домен.

    https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access

    Отримання доступу займає 2-3 дні. Якщо у співробітників Google будуть зауваження - вони відправлять вам лист під яким ви реєструвались.

    Після цього вам треба переключитись на Production в інтеграції з Google Pay:

    Для цього: https://developers.google.com/pay/api/androidweb/guides/test-and-deploy/requestdeploy-prod-access

    Получение доступа занимает 2-3 дня. Если у сотрудников Google будут замечания - они отправят письмо на мейл, под которым вы зарегистируетесь.

    После этого с вашей стороны необходимо переключиться на Production в интеграции с GooglePay:

    Для этого: production-environment

    1. Встановіть environment: ‘PRODUCTION' замість 'TEST’

    2. Вкажіть значення merchantId з бізнес акаунта Google Pay (правий верхній куток)

    І повідомте по готовності про переключення налаштувань з вашого боку.


    Додатково для мобільного додатку на Android:

    Рекомендуємо подавати заявку в бізнес консоль з того ж акаунта під яким ви зареєстровані в Google Play і з якого викладали додаток.

    Якщо подавати заявку з іншого акаунта - додатково треба буде зв'язати акаунти. Інструкція як зв'язати акаунти https://support.google.com/googleplay/android-developer/answer/2528691

    Для інтеграції з мобільним додатком необхідно буде підписати додаток релізними ключами коли отримаєте доступ в прод і будете переключатися https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment

    1. Установить environment: ‘PRODUCTION' вместо 'TEST’

    2. Указать значение merchantId из бизнес аккаунта GooglePay (правый верхний угол)

    И сообщить нам по готовности для переключения настроек с нашей стороны. 

    Дополнительно для мобильного приложения Android:

    Рекомендуем подавать заявку в бизнес консоли с Google аккаунта, под которым вы зарегистрированы в Google Play и выкладываете приложения.

    Если будете подавать заявку с другого аккаунта - дополнительно нужно будет связать аккаунты. Инструкция как связать https://support.google.com/googleplay/android-developer/answer/2528691

    Для интеграции в моб приложении необходимо будет подписать приложение релизными ключами когда получите доступ на прод и будете преключаться https://developers.google.com/pay/api/android/guides/test-and-deploy/deploy-your-application /android/guides/test-and-deploy/deploy-your-application


    Перевірка оплат

    Expand
    titleСписок методів перевірки статусів оплат
    Include Page
    Отримання результату транзакції
    Отримання результату транзакції

    Callback & Response

    Expand
    titleОсобливості роботи з Callback
    Include Page
    Робота з Callback
    Робота з Callback
    Expand
    titleБезпека
    Include Page
    Безпека
    Безпека

    Синхроний режим:

    Стандартний режим роботи. Передавати async = N не потрібно.


    Асинхронний режим:

    Цей режим активується при передачі async = Y.


    Include Page
    Callback / Response - GOOGLEPAY з 3DS
    Callback / Response - GOOGLEPAY з 3DS

    Include Page
    Callback / Response - GOOGLEPAY без 3DS
    Callback / Response - GOOGLEPAY без 3DS

    Помилки запитів

    Expand
    titleСписок помилок та варіантів рішень
    Include Page
    Помилки та рішення при запитах
    Помилки та рішення при запитах