paypal

  • Автор темы doppelganger
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.

doppelganger

Guest
paypal

Использовал ли кто-нибудь из присутствующих paypal в своих разработках? Есть очень срочный вопрос.
 

Konstantin

Guest
Да.
На их сейте есть несколько PDF c описанием как и что нужно делать. Какие данные приходят в том или ином случае. И даже примеры (но они действительно элементарны)
А если в двух словах когда что-то происходит тебе на некотрый урл приходит ПОСТ с нужными данными и ты их обработыващь как хочешь
 

doppelganger

Guest
То есть, реально отслеживать факт оплаты на своей стороны, а не на сайте paypal?
 

Konstantin

Guest
Что ты имеещь ввиду, под отслеживание на своей стороне?
PayPal тебе говорит, что произошло: регистрация, оплата, провал оплаты, конец срока и т.д. А ты САМ интерпретируешь и решаешь что после этого делать.
 

doppelganger

Guest
Вот именно это. Отлично, спасибо. Позволишь тебе написать, если дополнительные вопросы возникнут?
 

Konstantin

Guest
Пиши. Но серьезно посмотри то что есть у них на сайте. Там очень все разжованно
 

AlexKab

Guest
to doppelganger
Если не секрет - зачем тебе PayPal?
К сожалению, ты с ним намучаешься.
Если можешь сказать что-то конкретное, то помогу дельным советом :)
 

doppelganger

Guest
Никакого секрета. Клиент хочет сделать небольшой магазин с оплатой в PP. А какаие могут быть проблемы?
 

AlexKab

Guest
Ну, смотри - основная трудность, что людей из России РР не берут.
А также то, что РР кидала и вывести деньги из нее это большая проблемма :(
Почему ты не хочешь использовать другие системы? РР - это не лучший вариант.
 

doppelganger

Guest
Про Россию мне известно, но клиент на российских клиентов и не рассчитывает. Вот насчет проблем с выводом денег - это грустно слышать... А какие есть надежные альтернативы?
 

AlexKab

Guest
Одна из хороших альтернатив - e-gold.com
Прием денег тоже можно автоматизировать как на РР, а вывести и получить их не составит труда.
 

lassar2000

Новичок
Автор оригинала: AlexKab
Одна из хороших альтернатив - e-gold.com
Прием денег тоже можно автоматизировать как на РР, а вывести и получить их не составит труда.
Не мог бы ты подсказать какой-небудь класс или библиотеку для роботы з E-gold. (так же интересуюсь Netpay и Goldmoney). (Маны на сайте читал)

Заранее благодарен
 

AlexKab

Guest
to lassar2000

Какой класс? :)
Там все делается достаточно просто.
Если хочешь - давай свяжемся по мылу и поговорим. Прямо на сайте помогу все настроить. На примере.
 

stinol

Guest
Добрый день!

Еще раз к вопросу о paypal.
Объясните пожалуйста что такое IPN(Instant Payment Notification).

Спасибо.
 

doppelganger

Guest
Я сейчас как раз с ней разбираюсь. Если я правильно понял, это мгновенное оповещение от PP после успешной оплаты заказа. Процедура в общих чертах такая: сумма и прочие необходимые параметры заказа отправляются на PP, там происходит оплата, PP сигнализирует нашему скрипту, скрипт сигнализирует PP, сделка признается состоявшейся.
 

stinol

Guest
Да я тоже так думаю. На русском языке это где нибудь описывается кроме форумов? А то этот английский достал. Через некоторое время чтения английских текстов, такое ощущение что написано на русском только ничего не понятно :)
 

doppelganger

Guest
Я даже и форумов не видел. Здесь paypal практически ни разу не обсуждали.
 

stinol

Guest
Может ты мне поможешь разобраться с paypal
Перед тем как его использовать необходимо на сайте создать т.н. Subscription. Я правильно понимаю?

P.S. Может у тебя аська есть или мыло что бы здесь не трепаться?
 

lassar2000

Новичок
А то этот английский достал. Через некоторое время чтения английских текстов, такое ощущение что написано на русском только ничего не понятно
Некоторое время назад сам страдал - и сделал вольный перевод кусочка доки:
Использование IPN
Установка IPN
Чтобы установить IPN:
1. Зарегиструйтесь на системы PayPal.
2. Идите к закладке «Profile»
3. Щелкните на «Instant Payment Notification Preferences” в столбце «Selling Preferences»
4. Нажмите «Edit».
5. Проверьте блок и введите URL, на который вы хотели бы получить ваши Извещения IPN
6. Нажмите «Save».

Проверка правильности Извещения (IPN)
Чтобы гарантировать, что оплата была проведена на ваш счет PayPal, вы должны проверить, что адрес email, используемый в качестве вашего "receiver_email", был зарегистрирован и подтвержден в вашем счете PayPal. Как только ваш сервер получил Настоятельное Извещение Оплаты (IPN), вам будет нужно подтвердить это с помощью создания HTTP POST-запроса к PayPal. Ваша POST-запрос должен быть послана на https://www.paypal.com/cgi-bin/webscr.
Вы должны отослать весь переменные формы, которые вы получили точно как вы их получили. Вам также будет нужно присоединить переменную "cmd" со значением "_notify-validate" (например cmd=_notify-validate) к строке POST-запроса.
PayPal отреагирует на запрос ОДНИМ словом, "VERIFIED" или "INVALID", в теле ответа.
Когда вы получаете VERIFIED ответ:
1. Проверьте, что "payment_status" " completed "
2. Если "payment_status" " completed ", проверьте "txn_id" против предыдущей обработки запроса PayPal, которую вы выполнили, чтобы гарантировать, что это не дубликат.
3. После того, как вы проверили "payment_status" и "txn_id", убедитесь, что "receiver_email" есть адрес email в вашем счете PayPal
4. Как только вы завершили вышеупомянутые проверки, вы можете изменить вашу базу данных, основанную на обеспечиваемой информации.
Если вы получили «INVALID» ответ, с этим должны обращаться, как подозрительный и расследованы.
 

lassar2000

Новичок
//Для начала создадим переменную $req.
$req = 'cmd=_notify-validate';

// Читаем пришедшие ПОСТом данные (мы должны отправить их ВСЕ и ТАК КАК получили назад)
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}


// Посылем всех на….Paypal.
// формируем заголовок запроса.
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= 'Content-Length: ' . strlen($req) . "\r\n\r\n";

// открываем сокет на Paypal
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

// тут они (ИМХО) фигнёй страдают – переприсваивают все переменные в локальные из ПОСТа
$item_name = $_POST['item_name'];
$receiver_email = $_POST['receiver_email'];
$item_number = $_POST['item_number'];
$invoice = $_POST['invoice'];
$payment_status = $_POST['payment_status'];
$payment_gross = $_POST['payment_gross'];
$txn_id = $_POST['txn_id'];
$payer_email = $_POST['payer_email'].

// и малыми дозами нагоняют на сервак Paypal’а.
if (!$fp) {
// ERROR
echo "$errstr ($errno)";
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// проверяем статус - «Completed»?
// проверям «txn_id» на повторение
// проверяем, или получатель – мы ($receiver_email)
// чё-то куда-то пишем по поводу пришедшей оплаты
}
else if (strcmp ($res, "INVALID") == 0) {
// а если INVALID – тогда надо чё-то решать другое
}
}
fclose ($fp);
}

Просто как двери.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху