PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
rasl89
Отправлено: 26 Мая, 2020 - 22:14:06
Post Id



Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Март 2020  
Откуда: Россия, Уфа


Помог: 1 раз(а)




Всем привет.
Подключаю API платежной системы к сайту. Движок WP.
Подключена классная тема, есть внутренний кошелек, ЛК.
Подключил платежку, отправляю данные с сайта в платежку, все прекрасно платеж проходит.
Теперь нужно научить принимать от платежки success и внедрить это в скрипт для дальнейшей обработки заказа.
Чтобы не переписывать большую часть скрипта решил параллельно с внутренним кошельком добавить оплату с внешнего.
Итак, мы имеем:
Обработчик платежа для платежки, который передает в платежку success или error,
в мерчанте платежки есть обязательная настройка:

1. Урл успешной оплаты

2. Урл ошибки

3. Обработчик

Когда обработчик получает SUCCESS система показывает нам страницу успешной оплаты.

Теперь вопрос, как сделать так чтобы SUCCESS пришел в систему и продолжилось оформление заказа? В движке идет плотная работа с сессиями, как сделать все правильно чтобы их не растерять?

Проблема в том что сессии теряются когда в дело вступает страница успешной оплаты из мерчанта.
Необходимо получить success далее передать это в обработчик на сайте.
Вложил обработчик платежа (p_result), обработчик заказа на сайте (page-process-payment) и саму функцию обработки платежа (MJE_Checkout).

Идея такова:

когда платежка получила оплату, сгенерировать переход на страницу по типу page-process-payment.php

скормить ему проверку оплаты по этому коду

PHP:
скопировать код в буфер обмена
  1.     if($order_id && !get_post_meta($order_id, 'et_order_is_process_payment')) {
  2.  
  3.         if( isset($session['process_type']) && $session['process_type'] == 'buy' ){
  4.  
  5.             $payment_return = MJE_Checkout::process_payment( $payment_type, $session );
  6.  
  7.         } else {
  8.  
  9.             $payment_return = ae_process_payment($payment_type, $session);
  10.  
  11.         }
  12.  
  13.         update_post_meta($order_id, 'et_order_is_process_payment', true);
  14.  
  15.         et_destroy_session();
  16.  
  17.     }


Как это все провернуть? Возможно ли это?
Скачать файл: Desktop.7z
Скачан раз: 6

(Отредактировано автором: 26 Мая, 2020 - 22:14:26)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB