PayPal Callback Callback - PullRequest
       4

PayPal Callback Callback

7 голосов
/ 27 октября 2010

Я искал более 4 часов, чтобы узнать, как сделать обратный звонок с PayPal после оплаты.

Дело в том, что у меня есть сайт, где продаются билеты на вечеринку в локальной сети, иЕдинственный способ оплаты - это PayPal.
Вот мой код кнопки покупки PayPal:

<form target="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="add" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="_MY_PAYPAL_EMAIL_">
<input type="hidden" name="item_number" value="<?php echo mktime(); ?>">
<input type="hidden" name="cn" value="<?php echo $_SESSION['userid']; ?>">
<input type="hidden" name="return" value="http://80.202.213.240/apps/tickets/buy/success/" />
<input type="hidden" name="cancel_return" value="http://80.202.213.240/apps/tickets/buy/cancelled/" />
<input type="hidden" name="notify_url" value="http://80.202.213.240/apps/tickets/buy/ipn/" />
<input type="hidden" name="lc" value="NO">
<input type="hidden" name="item_name" value="BitHack - Standard Ticket">
<input type="hidden" name="amount" value="100.00">
<input type="hidden" name="currency_code" value="NOK">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="button_subtype" value="Tickets">
<input type="hidden" name="add" value="1">
<input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHostedGuest">
<input type="submit" value="Add to Cart" class="ticketShowButton submit" title="Payment via PayPal">

Затем информация должна быть вставлена ​​в базу данных, ту часть, которую я закончил.Просто нужна система обратного вызова для работы.Кто-нибудь знает какие-нибудь хорошие примеры сценариев обратного вызова?

Кстати, возможно ли использовать пользовательские вводы?

Ответы [ 2 ]

10 голосов
/ 18 мая 2011

Функция обратного вызова, указанная в переменных url return и notify, входит в обязанности программиста. Зачем? Потому что у каждого сайта своя структура таблиц для заказов. Попробуйте это в качестве руководства:

В вашем профиле Paypal установите предпочтения для автоматического перенаправления после заказа. Вам также нужно будет установить URL возврата по умолчанию. это будет использоваться, если вы забыли указать URL-адрес возврата в форме заказа или строке запроса, отправленной в Paypal.

Затем установите для поля / переменной rm значение «2» (это сообщит Paypal API об автоматической переадресации на ваш URL-адрес возврата после заказа и передаче информации о заказе в формате POST)

Вы можете просмотреть ответ от Paypal, выполнив var_dump ($ _ POST) или print_r ($ _ POST).

Одной из важных переменных в ответе является $ _POST ['payment_status'], который сообщит вам результат заказа. Успешная транзакция завершена. Транзакция, требующая подтверждения со стороны Paypal или со стороны продавца, называется «В ожидании».

Наконец, не забудьте указать «счет-фактуру» в поле / запросе Paypal, чтобы вы могли обновить статус своего заказа. Что-то вроде:

$status = $_POST['payment_status'];
$invoice = $_POST['invoice'];
mysql_query("UPDATE Orders SET status='$status' WHERE order_id='$invoice'");

Я знаю, что это плохое кодирование, но, по крайней мере, вы получите общее представление в его простейшей форме.

Опять же, не полагайтесь на чужие коды. Коды в сети существуют для справочных целей, а не как ручная работа Бога. Только у вас есть возможность создать свой собственный шедевр: D

Надеюсь, это поможет. Голосуйте, если вам это нравится. Игнорировать, если нет.

0 голосов
/ 27 октября 2010

Коммерческим, но недорогим решением является скрипт LinkLokIPN по адресу:

http://www.vibralogix.com/linklokipn/

Нет соединения, кроме как в качестве довольного клиента версии PHP.Иногда Гораздо проще купить (и, возможно, адаптировать) рабочее решение, чем изобретать велосипед.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...