Как я узнаю, была ли транзакция PayPal клиента успешной или нет на моей странице успеха

На моей странице заказа я использую эту форму:

<input type="hidden" name="item_number" value="<?php echo $refNumber; ?>">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $paypal_email; ?>" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="return" value="<?=$_SESSION["web_site_url"]?>/payment_success.php?OrderID=<?=$refNumber;?>" />
input type="hidden" name="amount" id="amount" value="<?=$product_vals["discount_prize"]?>" />
<input type="hidden" name="item_name" id="item_name" value="<?=$product_vals["name"]?>" />

Теперь мне нужен пример кода для моей страницы payment_success, из которого я узнал, аутентифицирует ли PayPal клиентский платеж или клиентский платеж успешен, а не …, чтобы я мог перейти к следующему этапу сбора информации от клиента.

Я прочитал документы Paypal, но не смог извлечь из них полезного. помогите мне решить эту проблему. Более того, я также хочу получить PayPal по электронной почте клиента и переменную id транзакции / payment_success (которая имеет значение true / false), так что я помогу мне определить, успешен платеж или нет ..

Заранее спасибо.

0

Решение

Вы можете использовать класс PayPal от Мики Каррик. Это довольно понятный класс, который поддерживает уведомлять URL, возвращать URL и URL успеха. Вам не нужно использовать какую-либо форму или что-то еще, но просто используйте этот класс и позвольте этому классу выполнять свою работу.
Пример кода:

$p = new paypal_class;
$p->add_field('business', $paypal_email);
$p->add_field('return', $add_fund_url.'/success.php');
$p->add_field('cancel_return', $add_fund_url.'/cancel.php');
$p->add_field('notify_url', $notify_url );
$p->add_field('item_name', $item_name);
$p->add_field('item_number', $item_number);
$p->add_field('custom',$custom_field);
$p->add_field('amount', $amount);
$p->add_field('no_shipping', '1');
$p->submit_paypal_post(); // submit the fields to paypal
1

Другие решения

Если вы собираете больше данных после их оплаты, вам следует использовать API Express Checkout вместо PayPal Standard, как вы используете сейчас. Даже если в вашем профиле PayPal включен автовозврат, пользователь все равно не сможет вернуться на ваш сайт (например, он может просто закрыть свой браузер до того, как произойдет перенаправление).

С помощью Express Checkout пользователь всегда возвращается на ваш сайт даже до последнего звонка, чтобы завершить платеж, так что вы можете получить дополнительную информацию от пользователя даже до завершения платежа, если хотите.

Проверьте это руководство на Реализация простейшей интеграции экспресс-проверки. Это познакомит вас с тем, как должна быть настроена экспресс-проверка (т. Е. Вызовы API, которые вы будете делать).

Затем возьмите это PayPal PHP SDK и использовать его для выполнения вызовов API. Он имеет все настройки для вас, так что вам будет очень легко и быстро интегрироваться в ваш заказ.

1

По вопросам рекламы [email protected]