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

Google Pay™ – это простой и быстрый способ оплаты покупок в магазинах и миллионах онлайн-сервисов.

Подключение Google Pay через платежную страницу Paysoft

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

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

Прямое подключение через Google Pay Api

Этот способ позволяет принимать платежи прямо у с себя на сайте или в приложении без перехода на платежную страницу.

Вы инициируете запрос со своего сайта или приложения на получение зашифрованных платежных данных согласно документации GooglePay. 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_CARDNUMBER></LMI_CARDNUMBER>
    <LMI_EXPIRE_YEAR></LMI_EXPIRE_YEAR>
    <LMI_EXPIRE_MONTH></LMI_EXPIRE_MONTH>
    <LMI_CAVV></LMI_CAVV>
    <LMI_PAYER_IP></LMI_PAYER_IP>
    <LMI_MERCHANT_URL></LMI_MERCHANT_URL> 
</Command>

Если передаются зашифрованные платежные данные в параметре LMI_PAYMENT_TOKEN, параметры LMI_CARDNUMBER,LMI_EXPIRE_YEAR,LMI_EXPIRE_MONTH,LMI_CAVV не должны передаваться. Если платежные данные передаются в расшифрованном виде необходимо передать LMI_CARDNUMBER,LMI_EXPIRE_YEAR,LMI_EXPIRE_MONTH,LMI_CAVV, параметр LMI_PAYMENT_TOKEN в этом случае передавать не нужно.

Название 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
PAN LMI_CARDNUMBER Да paymentMethodDetails.pan
Срок действия карты, год LMI_EXPIRE_YEAR Да Год из параметра paymentMethodDetails.expirationYear, 2 цифры (YY из YYMMDD)
Срок действия карты, месяц LMI_EXPIRE_MONTH Да Месяц из параметр Год из параметра paymentMethodDetails.expirationMonth, 2 цифры (MM из YYMMDD)
cryptogram LMI_CAVV Нет Параметр paymentMethodDetails.cryptogram
Расщепление платежа 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 сайта, на котором производился платеж
Идентификатор клиента на стороне Продавца LMI_PAYER_ID Нет Может содержать буквы английского алфавита, цифры и знак дефиса «-». Максимальная длина 50 символов.
Фамилия Клиента LMI_PAYER_SURNAME Нет*** Фамилия Клиента
Имя Клиента LMI_PAYER_FIRSTNAME Нет*** Имя Клиента
Отчество Клиента LMI_PAYER_PATRONYMIC Нет*** Отчество Клиента
Дата рождения Клиента LMI_PAYER_BIRTHDAY Нет*** Дата рождения Клиента в формате ГГГГ-ММ-ДД
ИНН Клиента LMI_PAYER_TAX_ID Нет*** ИНН
Номер телефона Клиента LMI_PAYER_PHONE_NUMBER Нет** Номер телефона Клиента в формате 380xxxxxxxxx.
Страна Клиента LMI_PAYER_COUNTRY Нет** ISO 3166-1 alpha-2
Штат (только для США и Канады) LMI_PAYER_STATE Нет** аббревиатура штата
Город LMI_PAYER_CITY Нет** Город
Адрес LMI_PAYER_ADDRESS Нет** Адрес

Формат 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 - Некорректная подпись (HASH); 2 – некорректные параметры; 3 – Карта данного типа не может быть спроцессирована; 4,5,6,7 – внутренняя ошибка; 8 - в процессе віполнения
Описание кода виполнения Retdesc
Внутренний номер платежа в системе PaySoft Retdata/LMI_SYS_PAYMENT_ID Номер принятого платежа в системе PaySoft.
Is3ds флаг вовлеченности карты в 3D-Secure (0 – карта не требует проверки 3DSecure; 1 – карта нуждается в проверке 3D-Secure).
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 ""