Прием оплаты через PayPal на англоязычном сайте

Moris

Новичок
Прием оплаты через PayPal на англоязычном сайте

Скажите, кто-нибудь писал прием оплаты через PayPal на сайте? (прием оплаты с кредиток)

Пытаюсь сделать проверку оплаты через IPN, но не выходит:(

Если кто-нибуть делал это раньше, опишите как тестировать прием через sandbox, у меня почему-то payment_status=pending, а не completed всегда. Вот думаю может что-то не то делаю.
 

Ринат

Новичок
делал,
pending, статус у тебя подтверджедный? проверь валюту, в которой принимаешь и в которой посылаешь, и посомтри, что сам paypal обратно отдает
по поводу sandbox , есть вобще форум разработчиков там
https://developer.paypal.com/
https://www.paypal.com/us/cgi-bin/webscr?cmd=_wp-standard-integration-outside
скачай доку
 

Moris

Новичок
Sandbox account статус - Unverified. В этом дело?

Документацию читал и на форуме ничего подходящего не нашел.

Спасибо за ответ. Сейчас попробую разобраться со статусом аккаунта
 

Ринат

Новичок
да в этом
нужно деньги положить на реальный аккаунт или подтвердить в sandbox
PS в документации, кстати, стоит почему статус платежа pending возвращать может
integration_guide стр. 151
но это так к слову
 

Moris

Новичок
А о каком integration_guide вы говорите?

У меня есть:
PP_OrderManagement_IntegrationGuide.pdf
PP_WebsitePaymentsStandard_IntegrationGuide.pdf

В одном 76 страниц, в другом 150 :)
 

Ринат

Новичок
опять наверное с документацией переделали, подробнее наверняка стало
делал 3 месяца назад второй раз, был все еще тот, о котором упомянул
ну наверняка есть про все это
 

Moris

Новичок
Еще один вопрос к вам, Ринат:

в форме пейпала:
<input type=hidden name=return value=''> Тут надо указывать url скрипта с проверкой платежа по IPN или просто адрес страницы с благодарностью к клиенту?
 

Ринат

Новичок
скрипт проверки платежа
cancel_return соответственно скрипт, если клиент нажал cancel уже на самой странице PayPal
 

mar

Новичок
>>нужно деньги положить на реальный аккаунт или подтвердить в sandbox
то есть, при тестировании в песочнице весь цикл прозрачно не провести?

тогда можно еще глупый вопрос: я отправляю из формы данные в sandbox, меня перебрасывает туда и предлагают войти в систему (причем именно в to PayPal Developer Central - на экаунт разработчика, а не виртуального продавца-покупателя). После того, как войдешь, остальные платежи идут уже без этого.
Это свойство sandbox, или дело можно поправить тестовым сертификатом?
 
mar
1.
Sandbox account статус - Unverified. В этом дело?
А нажать на этот статус не пробовали? Попробуйте - обязательно поможет.
я отправляю из формы данные в sandbox, меня перебрасывает туда и предлагают войти в систему (причем именно в to PayPal Developer Central - на экаунт разработчика, а не виртуального продавца-покупателя). После того, как войдешь, остальные платежи идут уже без этого.
Да, для того, что бы пользоваться sandbox необходимо быть залогиненным в сессии paypal developer central.
 

mar

Новичок
Автор оригинала: Дмитрий Попов
mar
1.
А нажать на этот статус не пробовали? Попробуйте - обязательно поможет.
[email protected] Personal Swedish 0.00 EUR No Unverified
Ну, о статусе спрашивала не я, но статус там - некликательное место. Или имеется в виду редактирование экаунта вообще?
Автор оригинала: Дмитрий Попов
Да, для того, что бы пользоваться sandbox необходимо быть залогиненным в сессии paypal developer central.
Дмитрий Попов
О! Спасибо большое! а то это вроде как само-собой разумеется (или я пропустила что-то в документации), а я бы долго думала, что надо изменить :[ То есть можно спокойно писать дальше, не обращая на это внимание, - вне песочницы этой проблемы не будет?
Тогда можно еще один глупый вопрос :) - для чего же служат сертификаты? (В том числе и тестовые из sandbox)? (Я думала, что это как раз связанная с предыдущим вещь, - получается, что совсем нет?)
 
1. PayPal Developer Central > SandBox
Список аккаунтов.
Launch sandbox для нужного.
Логинимся.
ЗАлогинилсь.
Видем:
Name: dsdd (Dmitriy Popov)
Email: [email protected] (Add email)
Status: Unverified (New)

Нажимаем на Unverified. И видим "Just Two Steps and You're Verified"


2.
То есть можно спокойно писать дальше, не обращая на это внимание, - вне песочницы этой проблемы не будет?
Да.
Тогда можно еще один глупый вопрос - для чего же служат сертификаты?
Не буду врать - мне они ни разу не пригодились, хотя PayPal я интегрировал далеко не раз. Соответственно для чего нужны - не помню, а может и не знаю.
 

mar

Новичок
Дмитрий Попов
Огромное спасибо!
Автор оригинала: Дмитрий Попов
PayPal я интегрировал далеко не раз.
Тогда вопрос к спецу :) : как лучше (и возможно ли вообще) -
заказчик хочет, чтобы номера кредиток и все данные люди вводили на его сайте, то есть перебрасывание в pypal вообще не ощущали.
С другой стороны, может быть (с точки зрения той же безопасности), лучше бы им переброситься в paypal, ввести там все данные, потом спокойно вернуться обратно. (Ну и, естественно, плюс незаметная для них работа с ipn для подтверждения на стороне продавца)

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

chulim

Новичок
мы как-то пробовали реализовать первый вариант, но время поджимало и пришлось свернуть подобное.
вобщем если временем для экспериментов располагаешь, поищи в нете класс snoopy. Основываясь на некоторых его методах, и отловое данных от пэйпэла, наполовину продвинулись :). Но это уже хака :) Плюс нет гарантии, что они не введут еще какую хитрую куку с js, и тебе придется переделывать свой скрипт.
А вобщем заказчик не должен этого хотеть. Меньше голова у него самого болеть будет :)
 
Без переадрессации, насколько мне известно - очень гемморойно. PayPal все-таки изначально не для этого предназначен.
Если заказчек не хочет промежуточного звена, пусть использует другую систему. Вернее там уже не полноценная платежная система нужна, а простой шлюз.

Хотя, говорят, можно и PayPal так интегрировать - но мне такого, слава богу, делать не приходилось. )

Мы обычно используем Authorize.net, в таких случаях.
 

mar

Новичок
Дмитрий Попов
геморойно - не то слово. Несколько сот страниц документации, SDK весом около 700 метров, не желающая жить без pear, унылые вопли "help" на сайте разработчиков... и так далее. К сожалению, решение заказчика от меня не зависит. Ладно, бум пилить. Зато если допилю, научусь :) (жаль применять это умение вряд ли часто получится - я бы на месте заказчика пеклась не о единстве дизайна, а о том, чтобы не отвечать за чужие кредитки. Ну да ладно... :()

-~{}~ 26.12.05 17:18:

Дмитрий Попов
Автор оригинала: Дмитрий Попов
Без переадрессации, насколько мне известно - очень гемморойно. PayPal все-таки изначально не для этого предназначен.
....
Мы обычно используем Authorize.net, в таких случаях.
Вот. Теперь по прошествии энного длительного времени оказалось, что и нам надо-таки Authorize.net
Можно по этому поводу помучить вопросами :) 1) Если честно, я не четко уяснила разницу между sim и aim. Можно просветить - и что лучше для прозрачного (без переаддресации) платежа
2) Попробовала провести тестовую транзакцию, получила ответ
1,1,1,(TESTMODE) This transaction has been approved.,000000,P,0,,,100.00,CC,auth_capture,,Maryanna,Nesina,,Here 1), 2),Glasgo,UK,1234567,,,,[email protected],,,,,,,,,,,,,,9DE5A9712D59402C5EE9ECBEEB3807AC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
То есть это безобразие, похоже, надо парсить по запятой. А как Вы при этом обходитесь с запятыми в адресе?
3) Ответ сервера (см выше) - положительный. Если отправить неверный пароль - ответ будет отрицательный - тут все в порядке. Но из руководства я поняла, что мне надо отправлять хеш из пароля и ключа тразакции
Однако, ответ "This transaction has been approved" приходит даже без отправки ключа транзакции вообще. Как бы это все проверять - отлаживать?
( я посылаю запрос на https://test.authorize.net/gateway/transact.dll )

-~{}~ 26.12.05 18:11:

по поводу пункта 1 - прошу прощения - уже разобралась. Для тех, кто наступит на те же грабли - поля x_delim_data и x_delim_char (так они в мануале) теперь надо называть x_Delim_Data и x_Delim_Char, после чего можно вставить любой свой любимый разделитель :)
Вот еще бы найти где описано, что названия полей теперь не такие, как в документации :)
(я это нашла только в примере на zend - http://www.zend.com/codex.php?id=1320&single=1)
 
Сверху