PayPal IPN и обновление базы данных - PullRequest
6 голосов
/ 20 февраля 2011

Я понимаю, как работает IPN, и основная идея отправки информации, проверки и т. Д. Но ради жизни я не могу заставить ее работать !!

Это то, что я пытаюсьdo ...

Пользователь выбирает определенную часть продукта для покупки, после того как он щелкает по нему, он связывается с кнопкой PayPal, к которой я добавил 2 текстовых поля.Первый - это идентификатор пользователя, а второй - имя выбранной части. Оба значения добавляются автоматически.Это все работает нормально.

Затем они нажимают «Купить сейчас» и заполняют данные своей карты, и она покупается и перенаправляется на страницу успеха.

Однако я хочу, чтобы она обновляла их профиль вмоя база данных, чтобы показать, что они приобрели этот продукт.

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

Я пробовал скрипты с самого сайта PayPal и вообще не получил ответа.Может ли кто-нибудь дать мне действительно, ДЕЙСТВИТЕЛЬНО простой метод достижения того, чего я добиваюсь?Потому что каждое учебное пособие слишком сложное или не работает, и примеры не помогают мне ни в малейшей степени, и они говорят с вами, как будто вы должны знать, как это уже сделано.

Я дажеПрочитайте весь PDF, и все же я не знаю, как заставить это работать.Любая помощь?

1 Ответ

4 голосов
/ 02 сентября 2011

Это действительно зависит от того, как ваши пользователи хранятся в базе данных.

  1. Как они идентифицированы, у них есть имя пользователя?
  2. Сохраняете ли вы транзакции в базе данных, прежде чем отправлять информацию в PayPal?

Как правило, вы захотите взглянуть на Переменные IPN и посмотреть, что вы можете использовать, чтобы связать данные с вашими базами данных при получении сообщения IPN вашим скриптом.

Допустим, у вас есть следующие базы данных:

Users: ID, email, etc.. etc..

Transactions: ID, emailofUser, invoiceID, Success/Fail(bool)

Вы хотите сохранить информацию в базе данных перед отправкой данных в PayPal - «Эй, этот парень был отправлен в PayPal для покупки этого».

Затем IPN входит, когда вы хотите убедиться, что товар действительно был приобретен. Вы не хотите предлагать кому-либо преимущества покупки товара только для отправки в PayPal, вы хотите убедиться, что он действительно завершил платеж. Помимо переменных IPN, вы можете легко использовать переменную invoice (при условии, что вы определите ее соответствующим образом при отправке данных в PayPal).

Допустим, вы отправили покупателя в PayPal, он завершил оформление заказа, и ваш скрипт получил сообщение IPN. Вы хотите сделать что-то вроде следующего:

  1. Проверьте IPN
  2. Проверьте, что это за счет

    mysql_query ("ВЫБЕРИТЕ * ИЗ транзакций, ГДЕ invoiceID = $ _ POST ['invoice']");

  3. Проверьте, была ли транзакция успешной или нет.

    if ($_POST['payment_status'] == 'completed')
    { 
    //update whatever information you need to
    }
    else
    {
    //something else happened with this transaction, put a flag on it for review by
    //an admin
    }
    

Вы должны проверить ссылки ниже, которые описывают немного больше об управлении вашими заказами

Автоматизация управления заказами Руководство по управлению заказами

...