Paypal, чтобы вернуть истину или ложь - PullRequest
0 голосов
/ 15 февраля 2010

Поэтому мне любопытно, как настроить повторяющийся платеж, как у меня здесь, но мне нужно PayPal, чтобы вернуться ко мне, если платеж был успешным, и как только он перейдет на страницу X.PHP, где я обновляю таблицу пользователей MySQL заявив, что он установил платеж. Если бы кто-нибудь мог дать мне какое-то руководство, это было бы здорово.

   echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">';
    echo '<input type="hidden" name="cmd" value="_xclick-subscriptions" />';
    echo '<input type="hidden" name="business" value="payme@paypal.com" />';
    echo '<input type="hidden" name="item_name" value="Subscription" />';
    echo '<input type="hidden" name="currency_code" value="CAD" />';
    echo '<input type="hidden" name="a3" value="0.01" />';
    echo '<input type="hidden" name="p3" value="1" />';
    echo '<input type="hidden" name="t3" value="M" />';
    echo '<input type="hidden" name="return" value="success.php" />';
    echo '<input type="hidden" name="cancel_return" value="fail.php" />';
    echo '<input type="hidden" name="src" value="1" />';
    echo '<input type="hidden" name="sra" value="1" />';
    echo '<input type="hidden" name="receiver_email" value="payme@paypal.com" />';
    echo '<input type="hidden" name="mrb" value="R-3WH47588B4505740X" />';
    echo '<input type="hidden" name="pal" value="ANNSXSLJLYR2A" />';
    echo '<input type="hidden" name="no_shipping" value="1" />';
    echo '<input type="hidden" name="no_note" value="1" />';
    echo '<input name="submit" type="submit" value="Use PayPal" />';
    echo '</form>';

Ответы [ 3 ]

1 голос
/ 16 февраля 2010

Я использую Класс IPP Майка Каррика Paypal для отправки платежных данных в PayPal. Этот код аналогичен примерам из Paypal, но Мика обернул его в класс, чтобы его было проще использовать.

Чтобы обновить собственную базу данных, сделайте это на странице проверки ipn, чтобы покупателю не пришлось нажимать кнопку возврата на ваш сайт после осуществления платежа.

О регулярных платежах, Paypal имеет отличную документацию об этом.

0 голосов
/ 16 февраля 2010
0 голосов
/ 15 февраля 2010

Если я правильно помню, PayPal просит вас использовать сообщения CURL в их системе, и тогда у вас есть возможность разбора сериализованного массива PHP, который содержит коды успеха и ошибок. Вам нужно будет проверить их документы для вашей конкретной настройки шлюза, но вы не просто получите истину / ложь, вы собираетесь получить много данных и должны будете знать, как читать их коды, чтобы получить что-нибудь полезное назад. Я проверю свой старый код и опубликую обновление через несколько минут.

РЕДАКТИРОВАТЬ С ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИЕЙ: Я просмотрел интеграцию шлюза, которую я имею с PayPal, и похоже, что самое близкое, что вы собираетесь получить к ИСТИНА / ЛОЖЬ, - это взять результат вашего вызова на их сервер и проверить массив на ключ «ACK» и посмотреть если оно равно «УСПЕХ» или «УСПЕХ С ПРЕДУПРЕЖДЕНИЯМИ»:

if( strtoupper( $result['ACK'] ) == 'SUCCESS' || strtoupper( $result['ACK']) == 'SUCCESSWITHWARNING' )
    {
        //DO SOMETHING
    }

Еще раз я скажу, что для правильной работы вашего приложения во всех случаях вам нужно будет выполнить эту проверку вместе с несколькими другими, чтобы быть уверенным, что все коды предупреждений или задержек обработаны и что запрошенные попытки повторных попыток выполнены. , Это немного усложняется, но если вы будете следовать их инструкциям, вы получите его на работу. Просто сделайте МНОГО тестирования в песочнице, прежде чем отправлять его в живую!

...