Услуги API ПриватБанка


Дата публикации: 13 февраля 2014

Компания ПриватБанк старается идти в ногу со временем, и быть максимально удобной для всех своих клиентов.
Приложение API от Приват24 сделано так, что бы мерчанты смогли без проблем использовать интернет эквайринг для своих он-лайн магазинов.
Все платежи смогут приниматься, а также и совершаться автоматически. Клиентам будет удобнее оплачивать заказы, а владельцам интернет-мазаинов не нужно будет очень долго морочиться с оплатой.
Для того, что бы подключить такую услугу, нужно будет лишь установить код, предлагаемый ПриватБанком на свой сайт.

<form action=»https://api.privatbank.ua/p24api/ishop» method=»POST»>      <input type=»text» name=»amt» value=»сумма»/>      <input type=»text» name=»ccy» value=»валюта (UAH / USD / EUR)» />      <input type=»hidden» name=»merchant» value=»ID мерчанта» />      <input type=»hidden» name=»order» value=»уникальный код операции» />      <input type=»hidden» name=»details» value=»назначение платежа» />      <input type=»hidden» name=»ext_details» value=»дополнительные данные (код товара, и т.п.) /можно оставить пустым/» />      <input type=»hidden» name=»pay_way» value=»privat24″ />      <input type=»hidden» name=»return_url» value=»страница, принимающая клиента после оплаты» />      <input type=»hidden» name=»server_url» value=»страница, принимающая ответ API о результате платежа» />      <input type=»submit» value=»Оплатить» /> </form>

Обратите внимание на графу «return_url». Там есть пояснение. В этом поле будет работать скрпт, принимающий ответ с самого сервера и содержащий ответ от транзакции POST (payment переменная), а также в signature переменной цифровую подпись.
На сайте указанны и реквизиты переменной POST:

  • amt=1.0&
  • ccy=UAH|USD|EUR&
  • details=назначение&
  • ext_details=расширенное_назначение&
  • pay_way=privat24&
  • order=1&
  • merchant=1&
  • state=ок|fail|test&
  • date=010113232010 (фомат ddMMyyHHmmss)
  • &ref=референс
  • &sender_phone=+380971234567
  • &signature=сигнатура

В колонке с названием state обязательно будут такие три варианта: успешный (ok), неудачный (fail), пробный (test).
Цифровая подпись будет сгенерирована по алгоритму: $signature = sha1(md5($payment.$pass)); автоматически.
$pass – это сам пароль у мерчанта, а $payment – соответственно это содержимое POST (payment переменная).
Для того что бы получить правдоподобные данные, нужно обязательно сверить рассчитанную сигнатуру с полученным ответом. Если они совпадают – данные действительны.
Клиент, в случае успешной операции, увидит страницу результата.
Если же клиент не может вернуться со страницы с платежом, используется server_url.
Туда должен прийти запрос подобный тому, что приходит на return_url. Запрос продолжается по 10 раз через каждые 5 секунд до того времени, пока сайт продавца не ответит.
Если же, продавец не использует server_url, поле должно быть с пустым значением.
Не забудьте, что в тестовом режиме платежи не принимаются в действительности.
Определить название банка по МФО
Поиск названия банка по МФО – бесспорно нужный сервис для пользователей API. Ведь благодаря данной функции можно будет по одному МФО определить страну и название банка (функция доступна по России и Украине). К тому же можно и по названию банка узнать его МФО.
Что бы узнать МФО ПриватБанка или банк по МФО, нужно лишь ввести в строку поиска следующий запрос:
https://privat24.privatbank.ua/p24/accountorder?oper=prp&bank=приватбанк&mfo=&PUREXML=
Разбираем запрос по частям:

  • — bank – это название самого банка – не должно быть более чем сорок символов. Прописывать его нужно обязательно. Хотя значение может и упускаться. Кирилицу нужно будет обязательно кодировать.
  • — mfo – соответственно МФО самого банка. Состоять должно не больше чем из двенадцати символов. Значение можно опускать, но параметр обязателен.

Так же на KharkovInform: