Robokassa - налаштовуємо прийом платежів на своєму сайті або ще одна стаття про Робокасса - bogdan-dev

Привіт, читачі блогу і просто перехожі!

На цей раз я хочу розповісти Вам про те, як можна зручно, швидко і без зайвих проблем налаштувати на своєму сайті оплату через сервіс прийому платежів Robokassa.

Robokassa - налаштовуємо прийом платежів на своєму сайті або ще одна стаття про Робокасса - bogdan-dev

Отримані паролі необхідно записати, зберегти і зберігати їх. Так як вони нам стануть в нагоді. Далі ми переходимо безпосередньо до налаштування оплати на нашому сайті. У моєму випадку необхідно було формувати посилання по якій буде переходити користувач для оплати. Для того, щоб сформувати посилання для оплати (в принципі і для всіх інших випадків, не має) нам знадобиться ідентифікатор магазину, він же $ mrh_login, пароль №1 з особистого кабінету він же $ mrh_pass1, номер замовлення, він же, наприклад, ID замовлення з бази і він же $ inv_id, і звичайно ж сума замовлення, вона ж $ out_summ. Для тестування роботи сформуємо тестову посилання. Для цього паролі необхідно брати з полів «Параметри проведення тестових платежів». Контрольну суму (якщо ми не передаємо більше ніяких призначених для користувача параметрів) будемо обчислювати наступним способом:

Хочу відзначити тут наявність параметра isTest = 1 без якого система не зрозуміє, що проводяться тестові платежі. Так само зіткнувся з невеликою проблемкою, а саме параметр OutSum треба передавати з двома нулями після коми, тобто виду 12.00 а не 12. Для чого зробив так (наприклад):

При оплаті система передає дані про оплату на вказаний нами при налаштуванні магазину ResultURL дані:
OutSum - Сума, сплачена покупцем (та сама сума, яку Ви надіслали в ROBOKASSA на сторінку оплати).
InvId - Номер рахунку в магазині.
SignatureValue - Контрольна сума - хеш, число в 16-річної формі і будь-якому регістрі (0-9, A-F), розраховане методом зазначеним в Технічних налаштуваннях магазину.

Для того, щоб перевірити коректність платежу, нам необхідно зробити розрахунок контрольної суми за формулою: OutSum: InvId: Pwd # 2 - якщо ми не передавали власні налаштування і: OutSum: InvId: Pwd # 2: [Власні параметри], якщо останні мають місце бути.
Для того, щоб це все було наочніше, наведу приклад. Припустимо, при формуванні платежу були передані такі ось параметри:

OutSum = 2450.50
InvId = 146001
Shp_user = username
Shp_isdonate = 1

то база для розрахунку контрольної суми буде виглядати так: 2450.50: 146001: Pwd # 2: Shp_user = username: Shp_isdonate = 1
У моєму випадку дані про оплату поверталися методом POST і код виглядав наступним чином: