Pull to refresh

Comments 22

А подтверждения по IPN разве не надо чтобы транзакцию закончить/подтвердить???
ничего не надо. код рабочий
да, код рабочий. Но если пользователь посмотрит в код страницы и откроет в браузере «http:// ваш скрипт, который зарегистрирует покупку ?client=XXX», то получит покупку бесплатно. Если вы думаете что пользователь не имеет доступа к коду страницы, то он легко сможет воспользоваться любым дебаг прокси и достичь такого же результата. Для того что бы достичь хоть как-то надежного результата, нужно проверять правда ли произошла покупка.
Для _крохотных_ проетов покупки можно и руками аппрувить/рассылать
А что, правда там все так просто? Мне кажется логичным было бы передавать в notify_url некий хеш, который посчитан от переданных параметров + соль (ну например). Которая известна скрипту проверки, отображается в каком-нибудь личном кабинете в пейпале, но неизвестна покупателю.
Кстати, а можно HTTPS указать в notify_url? Вроде как это не указано:
notify_url
The URL to which PayPal posts information about the transaction.

Если да, то надо как–то проверить подлинность PayPal сертификата при запросе скрипта (может кто знает как это всё делается?), и если всё ок, то сразу обрабатывать платёж как достоверный.
вопрос отменяется – решение от PayPal указали в ветке выше.
Думаю, не будет лишним заметить, что в скрипте notify_url надо обязательно проверить, что платеж ушел по адресу, указанному в business и именно за тот самый продукт по правильной цене.
Возможно это все-таки разметка, а не код.
Возможно у вас будет шок, но это КОД РАЗМЕТКИ
Это всего лишь форма приема платежа. Биллингом в данном случае можно было бы назвать скрипт в notify_url (IPN), именно в нем должна быть логика продления действия подписки, включение какой-то фичи и т.д.
Если мне не изменяет память, то этот код генерируется средствами пейпал когда мы хотим создать кнопку для оплаты (типа «Buy via PayPal»). Там идёт форма в несколько шагов, а в самом конце — код кнопки, которую нужно вставить на страницу сайта.
He cовсем. Там сгенерится что-то типа вот такого:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="96NRURPEFY73E">
<input type="image" src="https://www.paypalobjects.com/en_US/NL/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>


вся логика будет в
<input type="hidden" name="hosted_button_id" value="96NRURPEFY73E">


Фиг изменишь run-time

в моем же примере — всё открыто. Поля можно динамически менять (хоть на сервере, хоть на клиенте javasctipt'ом). В этом прелесть и красота :) Малой кровью довольно гибкое решение

Где тут биллинг? Это просто форма отсылки на стороннюю платёжку, аналогичная которой используется примерно в 100500 остальных похожих системах.
Было бы здорово еще такой же короткий код для notify_url. В нем проверять откуда пришел запрос и отсеивать максимальное кол-во способов обхода.
Конечно, в целом понятно как это сделать, но хорошо бы дополнить красивое решение до рабочего варианта, а не останавливаться «по середине»…

В любом случае спасибо)
<input type="hidden" name="business" value="ваш PayPAL email">

Слово business намекает, что простой персональный аккаунт тут использовать нельзя?
нет. работает сразу. даже с ограниченным акком
Что технически работает — я не сомневаюсь. Но интересно как с т.з. правил?
биллинг все же не просто прием платежей… то что в вашем «notify_url» можно было бы назвать биллингом, а то, что в статье — увы, но никак.
;)
Cпасибо за коммент. Таких я получил уже несколько. И все они мне напомнили старый анекдот:
«Американский форум- задал вопрос, тебе на него обстоятельно и вежливо ответят.
Еврейский форум- задал вопрос, тебе зададут встречный вопрос.
Русский форум-задал вопрос, тебе ещё 2 часа будут объяснять какой ты мудак!»

Я потратил 10 мин и описал свой опыт, который наверняка пригодится хотя бы нескольким людям (какому-то проценту от тех кто занес в избранное). Статья написана для новичков в этой области. Для тех кто погуглил немного и нашёл решение или сложные или дорогие. А тут и просто и дешево. И есть потенциал для развития.

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

Если статью дополнить примерами, что делать после того как пришло уведомление о платеже, то это уже хотя бы как-то было похоже на биллинг.
Sign up to leave a comment.

Articles