Подключение

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

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

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

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

Подключение по протоколам GetPayAPI

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

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

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

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

  1. Общее описание системы
  2. Основы протокола
  3. Параметры оплаты
  4. Выходные параметры
  5. Безопасный обмен данными
  6. Команды управления

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

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

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

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

Процесс оплаты

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

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

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

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

Запрос на оплату передается на url https://api.getpayapi.com/saleapi.php

К содержанию

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

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


json: $command = base64_encode(“{"oper":"pay","order":56217}”);
 xml: $command = base64_encode(“<data><oper>pay</oper><order>56217</order></data>”);

Подробнее о sign

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

$command.$password

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

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

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

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

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

A0MzBcdTA0M2RcBbdTA0MzBcIiIsImVudGl0eV90eXBlIjoyfQ==j8YUDiwjShsd7dh4n88ySUXHE874SD

Результат вычисления хэша для вышеприведенной строки по алгоритму SHA-256:

ef56ab29240439b57ed0562ad7800a9ccd320569852db79277a3f8c1e1254159

К содержанию

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

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


				{"oper":"","pay_type":"","amount":"","order":"","pay_show":"","info":"","pay_email":"", "pay_result":"","pay_return":"","lang":"","time":""}
				
				
		<data>
		<oper></oper>
		<pay_type></pay_type>
		<amount></amount>
		<order></order>
		<pay_show></pay_show>
		<info><![CDATA[ ]]></info>
		<pay_email></pay_email>
		<pay_result><![CDATA[ ]]></pay_result>
		<pay_return><![CDATA[ ]]></pay_return>
		<lang></lang>
		<time></time>
		</data>

				

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

  • oper — тип операции: pay - реальная оплата, test - имитация оплаты
  • pay_type — тип оплаты: 41 – USDT TRC20.
  • amount — номинал оплаты в копейках
  • order — порядковый номер поручения в системе учета магазина (целое неповторяющееся число).
  • pay_show — (необязятельно) признак необходимости вывода платежной страницы сервиса на экран плательщикка, 1 - вернуть платежную страницу, 0 - вернуть данные для платежной страницы.
  • info — (необязятельно) информация о заказе в системе магазина, для которого формируется оплата
  • pay_email — (необязятельно) емейл покупателя
  • pay_result — (необязятельно) URL на сервере магазина, на который будет передан результат оплаты.
  • pay_return — (необязятельно) URL для возврата клиента на сайт интерент-сервиса.
  • lang — (необязятельно) тип языкового интерфейса (en/ua/ru), не обязательный параметр
  • time — время создания поручения в системе магазина в виде 20210130162514

При указании параметра pay_show в 1 система выведет на экран плательщику платежную инструкцию для оплаты, в этом случае поля info, pay_email, pay_return должны быть заполнены.

При указании параметра pay_show в 0 система в ответ вернет параметры оплаты, которые необходимы для приема платежа:


				{"err":"", "errtxt":"", "pay_type": "", "order": "", "pay_uniq": "", "typeanswer": "", "dataanswer":""}
				
Назначение параметров указано ниже:
  • err — наличие ошибки, no - отсутствие ошибки, yes - наличие ошибки
  • errtxt — расшифровка ошибки, если err равно yes
  • pay_type — тип проводимой оплаты
  • order — порядковый номер полученный от магазина.
  • pay_uniq — уникальный номер транзакции на стороне сервера
  • typeanswer — тип ответа, 1 - тестовый параметр (адрес, номер счета), 2 - закодированная платежная форма
  • dataanswer — содержимое ответа

К содержанию

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

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

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

Параметры возврата и порядок формирования соответстсвуют порядку формирования платежного запроса, за исключением того, что переменная command имеет название answer, формат ответа (json/xml) указывается в настройках в личном кабинете.

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


				{"oper":"", "order":"", "pay_uniq":"", "pay_type":"", "paid_amount":"", "paid_time":"", "paid_timeUNIX":""}
				
				<answer>
<oper></oper>
<order></order> 
<pay_uniq></pay_uniq>
<pay_type></pay_type>
<paid_amount></paid_amount>
<paid_time></paid_time>
<paid_timeUNIX></paid_timeUNIX>
</answer>

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

  • oper — тип операции: pay - реальная оплата, test - имитация оплаты, тестовый режим
  • order — порядковый номер поручения в системе учета магазина, переданный ранее
  • pay_uniq — уникальный номер транзакции на стороне сервера
  • pay_type — тип оплаты
  • paid_amount — номинал принятой оплаты в копейках
  • paid_time — время приема платежа в виде 20210130162514
  • paid_timeUNIX — время приема UNIX time stamp

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

К содержанию

Безопасный обмен данными

Для повышения безопасности при обмене данными, а так же в случае отсутствия возможности принимать на вашем сервере входящие уведомления о проведенных платежах у вас есть возможность инициировать запрос на получение выписки по принятым платежам. В этом случае вы получаете список приянтых платежей и проводите те платежи, которых не было в предыдущем запросе выписки. Описание команд указано в разделе "Команды управления".

К содержанию

Команды управления

URL для передачи запросов

Комманда передается на url https://api.getpayapi.com/saleapi_control.php

Для получения информации о платежах и управления вашим счетом без входа в личном кабинет созданы команды getbalance, statement и outpay

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

{"cmd":"getbalance", "time":"20220715211415"}
				{"cmd":"statement", "pay_type":"", "start":"", "end":"", "time":"20220715211415"}
				{"cmd":"outpay", "pay_type":"", "outsumma":"", "outdata":"", "time":"20220715211415"}
				
				

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

  • cmd — тип операции: getbalance, statement или outpay
  • pay_type — тип валюты: 41 – USDT TRC20.
  • start — дата начала отчета в формате YYYYmmddHHiiss (20220715211415)
  • end — дата окончания отчета в формате YYYYmmddHHiiss (20220715211415)
  • outsumma — сумма выплаты в выбранной валюте.
  • outdata — адрес/номер счета для выплаты.
  • time — время создания запроса в формате YYYYmmddHHiiss (20220715211415)

Готовые библиотеки для работы с отчетами: https://www.getpayapi.com/get_api_control.zip

К содержанию


© Money.ua 2006–2024

© GetPayAPI 2022–2024

© ТОВ Підпиши Онлайн 2017–2024
О компании


totalinfo[at]getpayapi.com
Общие вопросы: +38 (056) 3705242
Техподдержка: +38 (056) 3705242