Как построить систему пожертвований PayPal, которая дает очки - PullRequest
5 голосов
/ 22 ноября 2011

Пытаюсь создать способ настроить следующее:

  1. Пользователь отправляет пожертвование на PayPal с информацией с сайта пожертвования (имя, адрес электронной почты)
  2. Paypal получает пожертвование и, используя 2 полученные переменные (имя, адрес электронной почты), отправляет их обратно на сайт пожертвования
  3. Сайт пожертвований получает переменные и сумму пожертвований и изменяет некоторые переменные на сайте, чтобы показать, что пользователь пожертвовал некоторую сумму.

На сайте отображается список пожертвованных пользователей и сумма пожертвований, которая отображается в виде баллов. Как я могу сделать это с PayPal и PHP и MySQL.

Ответы [ 4 ]

6 голосов
/ 22 ноября 2011

Я бы посоветовал использовать уведомления о мгновенных платежах PayPal (IPN).PayPal IPN позволяет вам (асинхронно) обрабатывать информацию о заказе, при этом вам не нужно зависеть от покупателя, чтобы вернуться на ваш сайт для завершения заказа (что было бы в случае с PDT).

Вы можете использовать IPN, настроив скрипт, который получает эти (POST) данные от PayPal.Кроме того, вы должны включить следующий код в свою кнопку и / или вызовы API:

Для платежей через веб-сайт Standard (где «xxxxxxxx» - полный URL-адрес вашего сценария IPN):
<input type="hidden" name="notify_url" value="xxxxxxxx">

Для экспресс-оплаты:
Включите NOTIFYURL=xxxxxxxx в ваш вызов API SetExpressCheckout и DoExpressCheckoutPayment

Для платежей через веб-сайт Pro
Включите NOTIFYURL=xxxxxxxx в свой вызов API DoDirectPayment

После настройки вы будете получать данные POST от PayPal с каждой транзакцией.
Возьмите эти данные и отправьте их обратно в https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate (в режиме реального времени) или https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notify-validate (в песочнице)проверить данные.Если PayPal отвечает VERIFIED (в теле страницы), вы уверены, что данные являются подлинными данными IPN, поступающими из PayPal.

Образец кода, документацию и дополнительную информацию о PayPal IPN можно найти по адресу * 1024.*https://www.paypal.com/ipn

См. Также некоторые рекомендации по безопасности IPN на https://www.x.com/developers/community/blogs/ppmtsrobertg/securing-your-instant-payment-notification-ipn-script

3 голосов
/ 26 апреля 2013

Я нашел этот урок, похоже, что вы ищете.

http://tutorialzine.com/2010/05/donation-center-php-mysql-paypal-api/

0 голосов
/ 22 ноября 2011

Настройка передачи платежных данных с PayPal,

PayPal PDT How To

Затем на странице, которая получает платежные реквизиты от PayPal, рассчитайте количество баллов, которые получает человек, исходя из суммы пожертвованных им средств (используя любой множитель или схему начисления баллов, которую вы выбрали), затем записывайте данные в баллах. поле в строке пользователя вашей пользовательской таблицы в mysql.

0 голосов
/ 22 ноября 2011

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

Пожалуйста, поймите, что ваш вопрос очень сложный и вряд ли приведет к полномасштабному примеру.

Лучшее предложение, которое я могу дать, - прочитать документацию по API PayPal и посмотреть, соответствует ли PHP API вашим потребностям ...

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_overview

На этом вам конец PHP / MySQL. Вы должны хранить информацию о пользователе, которую будете использовать для отправки и проверки успешных транзакций на основе результатов API PayPal.

Хотя этот ответ может не совсем соответствовать вашей ситуации, это, по крайней мере, маленькая точка в правильном направлении. Я бы посоветовал позаботиться о возмещении и отмене платежей. Если есть что-то, что вы можете получить, накапливая эти «очки», о которых вы упомянули, тогда вам нужно хорошо обеспечить безопасность. В противном случае вы окажетесь в игре и можете потерять что-то, если это не будет сделано правильно.

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

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