Підключення Робокасса до сайту

Скрипт узятий з сайту Робокасса, але я змінив його трохи, що б Ви зрозуміли як саме потрібно підключати свої поля до Робокасса.

Зараз не перевіряв, але раніше при відправці даних кирилицею назад поверталися каракулі і взагалі не правильно перевірялися дані в результаті чого неправильно працював скрипт Робокасса. Я вирішив цю проблему, розберемо її далі в скрипті.

Завдання у нас буде така

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

Після оплати дані про покупця будуть записуватися в файл. Чому в файл, тому що це найпростіше, я не став писати багато коду, що б Вас не запитати. А взагалі краще в базу заносити дані.

Я представлю Вам 5 файлів скрипта: обробник, сторінка успішної оплати, сторінка не успішної оплати, сторінка фонової обробки даних і файл, який зберігає номер наступного замовлення.

Налаштування магазину Робокасса

Підключення Робокасса до сайту

Картку магазину і валюти ви налаштовуєте самі, нічого складного там немає.

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

1. Ідентифікатор магазину - вбиваємо будь-яке слово, зазвичай я пишу доменне ім'я свого сайту без зони (обов'язково латинськими).

2-3. Пароль # 1 і пароль # 2 на ваш розсуд, головне що б не збігалися і запам'ятайте їх або запишіть кудись, потім використовуємо їх в скриптах.

5-6. Інші файли також вказуємо як на картинці.

Метод відсилання даних скрізь повинен стояти POST.

Налаштування скриптів Робокасса

Сторінку з формою показувати не буду, думаю там Тож усе зрозуміло, звичайна проста форма та й все.

Action.php

У цьому файлі ми приймаємо параметри відправлені з форми і відразу ж перекидаємо користувача на сторінку з оплатою.

Можна звичайно було зробити попередній запис інформації в базу даних, але я не став писати багато коду, що б вас не запитати.

Як ви помітили, я приймаю дані і відразу їх кодую в base64_encode і urlencode, через те що Робокасса не може нормально приймати українські символи. Не знаю чому розробники через 5 років вже ніяк не можуть допив це нормально.

Result.php

Цей файл відповідає за прийом даних, які відправляє Робокасса в фоновому режимі. Тобто людина на цю сторінку не потрапляє. Після оплати скрипт Робокасса відсилає дані на цю сторінку, а вона в свою чергу вже обробляє отримані дані і перевіряє чи була оплата чи ні. Як Ви вже помітили ми конвертуємо отримані дані в зворотний нормальний режим використовуючи функції urldecode (base64_decode ());

Після конвертації ми заносимо дані в файл last_order.txt

Також ми Перезаписуємо файл count.txt з новим номером замовлення.

Success.php

На цю сторінку буде направлений користувач після успішної оплати. У ній так само можна перевірити чи пройшла оплата чи ні і потім щось робити. Наприклад в цьому скрипті я перевіряю, якщо оплата пройшла успішно, то перенаправляю користувача на головну сторінку сайту з GET запитом /? Order = ok а на головній сторінці вже можна написати jquery скрипт, який буде перевіряти чи був get запит такої.

Я зробив у себе ось так:

Тобто ми показуємо модальне вікно, "Оплата пройшла успішно".

Схожі статті