Подключение оплаты на сайт WordPress

141
20 апреля 2018, 14:33

Мне нужно подключить paypal-платеж к моему сайту wordpress. Для этого я использую https://ru.wordpress.org/plugins/wp-paypal/. После оплаты должна сработать хранимая процедура в Functions.php

function wp_paypal_order_processed_action( $post_id ) {
    global $wpdb;
    $wpdb->query("CALL ExtendLicense('1@gmail.com', 30, 300, '2018-06-12')");
    $wpdb->query('COMMIT');
}

Как сделать чтобы в нее параметры передавались из полей, расположенных на странице оплаты: email, сумма и тд.??

Answer 1

Никак, потому что wp_paypal_order_processed_action() срабатывает, когда PayPal отправляет POST-запрос на ваш сайт после успешной оплаты.

WordPress инициализируется снова, никакой "вашей страницы" для сервера уже не существует. Вам надо сохранять эти поля при создании заказа, а потом уже использовать их после оплаты.

UPDATE

Все еще хуже. Этот плагин создаёт заказ в процессе обработки ответа от PayPal. Вот в WooCommerce, например, сделано правильно - сначала создаётся заказ, записывается в базу, а потом уже идёт обращение к платёжным системам, например, PayPal. Там можно внести какие-то свои данные в заказ, а после получения ответа с ними работать.

Чтобы работать с этим примитивным плагином, вам придётся вести свой учёт заказов, где-то в базе сохранять данные заказа отдельно от данных плагина.

Работали бы сразу с WooCommerce, таких проблем бы не возникло.

READ ALSO
Сохранение XML-файла

Сохранение XML-файла

Имеется XML-файл, лежащий в папке files

164
Как преобразовать дамп массива в его структуру?

Как преобразовать дамп массива в его структуру?

Можно ли преобразовать дамп массива обратно в массив? Например, с помощью print_r() я получаю дамп:

153
IP переадресация WPML

IP переадресация WPML

После того как я захожу сайт с помощью VPN переадресация не работает ( переадресовывает на 'hy', на мой натуральный IP ), хотя при var_dump($ip и $dataArray)...

131