API 2.0 по интеграции с PrMoney.
1. Регистрируетесь на сайте.
2. Заходите в меню Кассы и создаете Кассу для своего домена, проходите модерацию.
3. После модерации для кассы генерируется client_id и client_secret
4. Для инициализации платежа необходимо отправить POST запрос на адрес:
https://new.prmoney.com/payments/createS2S
Запрос обязательно должен содержать переменные:
client_id (который получили на предыдущем шаге) и
amount - сумма для оплаты (для отделения десятых и сотых служит - точка, к примеру amount=8.44)
currency - код валюты в стандарте ISO 4217 (для Доллара США = 840, для российского Рубля = 643, для Евро = 978, для украинской Гривны = 980)
Также запрос может содержать следующие переменные:
order_id - целое число - идентификатор заказа в магазине
user_id - целое число - идентификатор пользователя в магазине
description - краткое описание назначения платежа (максимум 512 символов)
success_url - ссылка на страницу с успешной оплатой
fail_url - ссылка на страницу с безуспешной оплатой
5. После успешного запрос в ответ получите json строку с параметром redirect_url - в котором будет указан URL. На данный url куда нужно будет перенаправить клиента для обработки платежа.
6. После успешного или проваленного платежа на Redirect URI (который Вы указывали в личном кабинете в настройках кассы) будет отправлен POST запрос содержащий данные о платеже в виде json объекта в параметре payment. В объекте будут присутствовать следующие свойства
- order_id - идентификатор заказа в вашей системе
- status - статус платежа (success или fail)
- amount - запрошенная вами сума платежа
- amount_fee - к-во денег снятое системой за проведенный платеж
- actual_amount - к-во денег поступившее на ваш баланс в системе
- client_id - идентификатор вашего аккаунта
- description - описание, которое вносили в запросе
- card - маска номера карты первые и последние цифры номера карты клиента в формате 44444|2222
- comment - комментарий к платежу, если например платеж был с ошибкой, то может быть указана причина ошибки
- signature - токен, который генерируется путём обьеденения amount, client_id и client_secret
Пример генерации signature:
$signature = base64_encode(sha1($amount ."|". $client_id ."|". $client_secret));
Пример обработки параметра такого запроса:
$post = json_decode($_POST["payment"]);
$order_id = $post->order_id;