Intereting Posts
pre_get_posts запрос между двумя датами (дата, хранящаяся в пользовательских сообщениях мета) Analog category_and (WP) в sql-запросе Отправка электронной почты с помощью функции на странице или правильное действие на другой странице сайт wordpress – использование пользовательской базы данных и PHP Как использовать всю длину верхней части содержимого, а ниже – содержимое с боковой панелью? Как вычислить значение настраиваемого поля (среднее) Как обновить статус сообщения с использованием метаданных в пользовательском сообщении TYpe Проверить родительскую категорию с идентификаторами от childs – get_term_children У меня есть обычная таксономия, назначенная двум типам сообщений. Как создать URL-адреса для разных архивов терминов для каждого типа сообщений? Как показать все значения meta_key после filtr ими в панели редактирования (admin) Как удалить устаревшие изображения с неправильным размером в _wp_attachment_metadata? Условные меню на основе заголовка страницы Подтвердить удаление не найдено Что такое подстраница в WordPress? Как сделать 2 подобных функции более эффективными

Разумное место для сценария обратного вызова IPN

Я работаю над плагином, который будет включать в себя получение мгновенных оповещений PayPal. IPN – это веб-крючок, который вызывается при обработке платежа. В настоящее время у меня есть сценарий для обработки IPN внутри плагина, например

http://mywordpressinstall.com/wp-content/plugins/paypalplugin/IPNHandler.php

Затем я вставляю этот URL в область настроек разработчика PayPal.

Я хотел бы использовать более настраиваемое местоположение для обработчика IPN (с более дружественным URL).

Я думал, что, возможно, короткий код можно использовать для предоставления функциональности «обработчика» для любой страницы, в которую она вставлена. Это разумная идея? Есть ли у кого-нибудь предложения о том, как я могу сделать URL-адрес обработчика короче?

Благодаря!

Solutions Collecting From Web of "Разумное место для сценария обратного вызова IPN"

Вы можете подключиться к действию init, а затем проверить переменную запроса, вы можете использовать предоставленный PayPal запрос var или вы можете использовать свой собственный пользовательский запрос var.

Я приведу вам пример вашего собственного запроса var, т.е. MYIPN_LISTENER

Код:

function wpse58656_paypal_ipn_listener() { // check for your custom query var // If you are paranoid you can also check the value of the var if ( ! isset( $_GET['MYIPN_LISTENER'] ) ) { // if query var is not present just return return; } // do the processsing here // don't forget to exit when you are done exit; } add_action( 'init', 'wpse58656_paypal_ipn_listener' ); 

Теперь вы можете использовать любой URL, но он должен иметь MYIPN_LISTENER как запрос var, например: http://mywordpressinstall.com/?MYIPN_LISTENER=1