Подключение

Этот раздел полезен для участников Money.ua. Если вы еще не с нами — имеет смысл зарегистрироваться. Понятно

Money.ua: руководство для программистов

Инструкция по настройке платежного шлюза Money.ua

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

Подключение по протоколам Money.ua

  1. подключение по экспресс-методу — этот тип подключения предполагает минимальное вмешательство в структуру интернет-магазина и реализует все взаимодействие с клиентом на стороне нашего сервера.
  2. полнофункциональная реализация с системой приема платежей — представлена ниже.

Готовые скрипты для работы с Money.ua

Готовые скрипты для подключения нашего платежного решения написаны на языке PHP и обеспечивают интеграцию функций платежей в любой системе.

Содержание раздела

  1. Общее описание системы
  2. Основы протокола
  3. Параметры оплаты
  4. Выходные параметры

Общее описание системы

При подключении интернет-ресурса (ИР) к платежному движку вы получаете доступ в административную систему — личный кабинет.

Личный кабинет позволяет

  • проверять баланс от текущих продаж;
  • формировать отчет о продажах за период;
  • экспортировать отчеты в бухгалтерскую систему;

Процесс покупки

Покупатель интернет-магазина после выбора покупки желает оплатить товар. Магазин формирует сумму в гривне, которую данный покупатель должен оплатить и предлагает покупателю выбрать желаемый способ оплаты, после чего в платежный интерфейс отправляется сумма к оплате. В зависимости от настроек снятия комиссии покупателю выставляется счет на оплату в выбранной им платежной системе. После удачной покупки интернет-магазину отправляется уведомление об успешной оплате, а клиент возвращается на сайт магазина.

Кодировка полей

По умолчанию кодировка полей воспринимается как UTF-8.

URL для передачи информации

Запрос на оплату передается на url https://money.ua/salenew.php

К содержанию

Основы протокола

Обмен данными выполняется через http/s-POST-запрос, в котором передаются три переменные: command, agent и sign. Переменная agent является номером магазина в сервисе, который доступен в личном кабинете. Переменная command содержит xml-код, который после создания был base64-кодирован и получившаяся строка передается в переменной command, например:

$command = base64_encode(“pay56217”);

Подробнее о sign

Из чего он состоит:

$command.$password

Последний параметр $password — это строка-пароль, который известен только торговой точке и сервису платежей.

Для склеенных переменных $command и $password необходимо вычислить хэш по алгоритму SHA-256

Т.е. в параметрах php это выглядит так:

$sign = hash('sha256', $command.$password);

Пример такой строки:

A0MzBcdTA0M2RcBbdTA0MzBcIiIsImVudGl0eV90eXBlIjoyfQ==j8YUDiwjShsd7dh4n88ySUXHE874SD

К содержанию

Параметры оплаты

Xml-код, содержащий параметры оплаты, имеет следущий вид:



		<data>
		<oper></oper>
		<pay_type></pay_type>
		<pay_subtype></pay_subtype>
		<amount></amount>
		<order></order>
		<order_list></order_list>
		<info><![CDATA[ ]]></info>
		<pay_email></pay_email>
		<pay_restrict>1</pay_restrict>
		<pay_comission>1</pay_comission>
		<pay_result><![CDATA[ ]]></pay_result>
		<pay_return><![CDATA[ ]]></pay_return>
		<lang></lang>
		<time></time>
		</data>



				

Назначение параметров xml-кода указано ниже:

  • oper — тип операции: pay - реальная оплата, test - имитация оплаты
  • order — порядковый номер поручения в системе учета магазина (целое неповторяющееся число).
  • pay_type — тип оплаты: 39 – интернет-банкинги, 40 - оплата через шлюз третьей стороны.
  • pay_subtype — выбор дополнительного типа оплаты в рамках pay_type:
    для кода 39:
    • 1 — Приват24
    • 2 — МОНОБАНК
    • 3 — А-Банк
    • 4 — ПУМБ.online
    • 5 — Sportbank
    • 6 — IZIBank

    для кода 40:
    • 1 — Liqpay (https://liqpay.ua)
    • 2 — ПУМБ.online (https://payhub.com.ua)
    • 3 — Приват24 (https://privat24.ua)
  • amount — номинал оплаты в копейках
  • order_list — base64-кодированный код xml с расширенными данными о поручении (зарезервировано)
  • info — информация о заказе в системе магазина, для которого формируется оплата
  • pay_email — емейл покупателя
  • pay_restrict — указание сервису о возможности со стороны плательщика изменения суммы цифрового подарочного сертификата: 1 - принять к оплате только указанную сумму, 2 – разрешить принять к оплате свободную сумму.
  • pay_comission — тип возмещения расходов на прием платежа: 1 - за счет магазина, 2 - за счет Покупателя, обязательный параметр
  • pay_result — URL на сервере магазина, на который будет передан результат оплаты.
  • lang — тип языкового интерфейса (ru/ua), не обязательный параметр
  • time — время создания поручения в системе магазина в виде 20210130162514

К содержанию

Выходные параметры

Возврат информации о принятой оплате осуществляется на URL, указанный ранее в команде pay в строке <pay_result></pay_result> методом POST.

Возвращаемые параметры

Параметры возврата и порядок формирования соответстсвуют порядку формирования платежного запроса, за исключениемтого, что переменная command имеет название answer

Xml-код, содержащий параметры ответа, имеет следущий вид:

<answer>
<oper></oper>
<order></order> 
<pay_uniq></pay_uniq>
<pay_type></pay_type>
<pay_subtype></pay_subtype>
<paid_amount></paid_amount>
<pay_email></pay_email>
<paid_comission></paid_comission>
<paid_time></paid_time>
<gift_num></gift_num>
<gift_code></gift_code>
</answer>

Назначение параметров xml-кода указано ниже:

  • oper — тип операции: pay - реальная оплата, test - имитация оплаты, тестовый режим
  • order — порядковый номер поручения в системе учета магазина, переданный ранее
  • pay_uniq — уникальный номер транзакции на стороне сервера
  • pay_type — тип оплаты
  • pay_subtype — дополнительный тип оплаты в рамках pay_type:
  • paid_amount — номинал принятой оплаты в копейках
  • pay_email — емейл покупателя
  • paid_comission — сумма комиссии в копейках, удержанная с Доверителя за выполнение Поручения.
  • paid_time — время приема платежа в виде 20210130162514
  • gift_num — номер сформированного цифрового подарочного сертификата
  • gift_code — код сформированного цифрового подарочного сертификата

Когда ваш возвратный URL получит результат оплаты, ваш скрипт должен ответить шлюзу OK (две большие латинские буквы „O“ и „K“). После этого шлюз прекратит попытки отправить вам результат заново.

К содержанию