Інтерфейс проведення оплати через GooglePay

Google Pay™ – це простий і швидкий спосіб оплати покупок в магазинах і мільйонах онлайн-сервісів.

Підключення Google Pay через платіжну сторінку PaySoft

Для підключення необхідно:

При такому способі підключення немає необхідності проводити якусь додаткову інтеграцію. Кнопка Google Pay буде відображатися на сторінці оплати PaySoft.

Підключення за допомогою Google Pay Api

Цей спосіб дозволяє приймати платежі прямо у себе на сайті або в додатку без переходу на платіжну сторінку.

Ви ініціюєте запит зі свого сайту або програми на отримання зашифрованих даних платежу згідно [документації GooglePay] (https://developers.google.com/pay/api/). Google Pay повертає зашифровані платіжні дані після аутентифікації покупця, які потрібно відправити в запиті в систему Paysoft.

Налаштування:

allowPaymentMethods : CARD
tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}
allowedCardNetworks = ['MASTERCARD', 'VISA'];
allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];
gateway = paysoft
gatewayMerchantId - Ідентифікатор магазину. Ідентифікатор Продавець може отримати в Кабінеті  (https://merchant.paysoft.solutions).

Action - https://card.paysoft.solutions/api/xml/googlepay

Method - POST

Формат XML-запиту:

<Command>
    <LMI_MERCHANT_ID></LMI_MERCHANT_ID>
    <LMI_HASH></LMI_HASH>
    <LMI_PAYMENT_NO></LMI_PAYMENT_NO>
    <LMI_PAYMENT_AMOUNT></LMI_PAYMENT_AMOUNT>
    <LMI_PAYMENT_DESC></LMI_PAYMENT_DESC>
    <LMI_PAYMENT_TOKEN></LMI_PAYMENT_TOKEN>
    <LMI_PAYER_IP></LMI_PAYER_IP>
    <LMI_MERCHANT_URL></LMI_MERCHANT_URL> 
</Command>
Назва XML параметр Обов'язковий? Опис
Ідентифікатор Продавця LMI \ _MERCHANT \ _ID Так Ідентифікатор торгової точки, на який буде прийнятий платіж. Ідентифікатор Продавець може отримати в Кабінеті.
Сума платежу LMI \ _PAYMENT \ _AMOUNT Так Сума платежу, яку Продавець бажає отримати від Клієнта. Сума повинна бути більше нуля, дрібна частина відокремлюється крапкою.
Внутрішній номер замовлення в системі обліку Продавця LMI \ _PAYMENT \ _NO ні У цьому полі Продавець визначає номер замовлення у відповідності зі своєю системою обліку. Незважаючи на те, що параметр не є обов'язковим, рекомендується завжди задавати його, оскільки він потрібен для коректної роботи інших інтерфейсів. Бажано використовувати унікальний номер для кожного платежу. Номер може містити букви англійського алфавіту, цифри і знак дефіса «-». Максимальна довжина - 64 символів.
Призначення платежу LMI \ _PAYMENT \ _DESC Так Опис товару / роботи / послуги, які оплачуються. Максимальна довжина - 255 символів. Кодування - UTF8.
Контрольна підпис LMI \ _HASH Так Контрольна підпис запиту формується шляхом шифрування вихідного тексту XML-запиту з порожнім значенням LMI \ _HASH і секретного ключа SecretKey за допомогою алгоритму, вказаного в Кабінеті продавця. Отримана підпис передається в тезі LMI \ _HASH. Рекомендованим алгоритмом шифрування є SHA256.
Електронна адреса Клієнта LMI_PAYER_EMAIL Ні ** Електронний адреси Клієнта
Ідентифікатор клієнта на стороні Продавця LMI_PAYER_ID ні Може містити букви англійського алфавіту, цифри і знак дефіса «-». Максимальна довжина 25 символів.
Зашифровані платіжні дані, отримані від Google LMI_PAYMENT_TOKEN Ні Значення з paymentData.paymentMethodData.tokenizationData.token отримане від Google
Розщеплення платежу LMI_SPLIT ні Платіж з розщепленням суми на декількох одержувачів. У цьому параметрі вказується JSON масив з правилами розщеплення платежу. При використанні параметра LMI_SPLIT відбувається одне списання з клієнта і кілька зарахувань одержувачам. Приклад JSON рядки:
`[{" CompanyId ": 1," Amount ": 20," CompanyName ":" "," Description ":" "," EDRPOU ":" "," IBAN ": ""}, { "CompanyId": 2, "Amount": 12, "CompanyName": "", "Description": "", "EDRPOU": "", "IBAN": ""}] `
IP платника LMI \ _PAYER \ _IP ні IP адреса платника
URL сайту LMI \ _MERCHANT \ _URL ні URL сайту, на якому проводився платіж

Формат XML-відповіді:

<Response>
    <Retval></Retval>
    <Retdesc></Retdesc>
    <Retdata>
        <LMI_SYS_PAYMENT_ID></LMI_SYS_PAYMENT_ID>
        <Is3ds></Is3ds>
        <action></action>
        <PaReq></PaReq>
        <MD></MD>
        <ErrorMessage></ErrorMessage>
    </Retdata>

</Response>
Назва Поле в XML Опис
Код виконання запиту Retval 0 - успішне виконання команди; 1 - Некоректна підпис (LMI_HASH); 2 - некоректні параметри; 3 - Карта даного типу не підтримується; 4,5,6,7 - внутрішня помилка; 8 - в процесі виконання
Опис коду віполненія Retdesc
Внутрішній номер платежу в системі PaySoft Retdata / LMI \ _SYS \ _PAYMENT \ _ID Номер прийнятого платежу в системі PaySoft.
Is3ds прапор залученості карти в 3DSecure (0 - карта не вимагає перевірки 3DSecure; 1 - карта потребує перевірки 3DSecure ).
action URL для перенаправлення клієнта. Відображається лише при Retval = 0 і Retdata / Is3ds = 1
PaReq параметри запиту під час 3D-Secure. Відображається лише при Retval = 0 і Retdata / Is3ds = 1
MD параметри запиту під час 3D-Secure. Відображається лише при Retval = 0 і Retdata / Is3ds = 1
ErrorMessage додаткова інформація про помилки

Якщо у відповідь було отримано значення поля Retdata / Is3ds = 1, це означає, що карта вимагає перевірки за технологією 3D-Secure. Для проведення такої перевірки необхідно сформувати і відправити html-форму методом POST за вказаною в поле Retdata / action адресою.

Увага! Ви не можете проігнорувати той факт, що карта залучена в 3D-Secure. Якщо у відповіді на paymentCreate був отриманий Is3ds = 1, то ви не можете пропустити цей крок (авторизацію карти по 3D-Secure ) і відразу перейти до команди paymentConfirm.

Приклад HTML форми, що містить всі необхідні поля:

<Form method="POST" action="%action%">
<Input type="hidden" name="PaReq" value="%PaReq%">
<Input type="hidden" name="MD" value="%MD%">
<Input type="hidden" name="TermUrl" value="%TERMURL%">
</ Form>

Параметри html-форми:

  • %action% - значення поля Retdata/action з відповіді на запит
  • %PaReq% - значення поля Retdata/PaReq з відповіді на запит
  • %MD% - значення поля Retdata/MD з відповіді на запит
  • %TERMURL% - URL адресу Вашої сторінки, на яку повернеться клієнт після проведення перевірки 3D-Secure. Може містити GET-параметри.

Після проведення перевірки 3DSecure клієнт буде перенаправлений на вказаний в TermUrl адресу за допомогою POST-запиту. Серед параметрів цього запиту будуть присутні PaRes і MD.

results matching ""

    No results matching ""