2010-02-15 8 views
0

Так что мне любопытно, как настроить повторяющийся платеж, как у меня здесь, но мне нужно paypal, чтобы вернуться ко мне, если платеж был успешным, и ОДИН РАЗ, перейдите на страницу X.PHP, где Я обновляю таблицу пользователей MySQL, указав, что он установил платеж. Если бы кто-нибудь мог дать мне какое-то руководство, это было бы здорово.Paypal для возврата true или false

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="[email protected]" />'; 
    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="[email protected]" />'; 
    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>'; 
+0

Пожалуйста, уточните свой вопрос. В PayPal есть много документации по их API интеграции, вы должны сначала прочитать их. Если у вас возникли проблемы, отправьте эти данные. – nortron

ответ

0

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

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

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

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

1

Я использую Micah Carrick's Paypal IPN class отправить данные платежа в PayPal. Этот код аналогичен примерам из Paypal, но Мика завершает его в класс, поэтому его проще использовать.

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

О возвратной платежной системе Paypal имеет отличный documentation об этом.