2013-09-19 4 views
2

Я интегрирую веб-платеж с помощью angularjs.Можно ли настроить прослушиватель IPN, используя скрипты на стороне клиента?

Моя главная цель являются

  1. , чтобы позволить пользователю иметь возможность TOPUP или оплатить через PayPal
  2. после успешного перенаправляет его на мой сайт
  3. Если транзакция прошла успешно я обновит наши db записей.

Рад сказать, что после 2-х дней я закончил с помощью первых двух шагов. Затем я прочитал об использовании PDT (Transfer Data Transfer), и я использовал это, чтобы получить детали транзакции плательщика, но я прочитал много сообщений, говорящих, что использование PDT недостаточно надежное, что я также должен использовать IPN (Instant Payment Notification) , Поэтому я об этом расскажу в Google, и почти все образцы/учебники по IPN сделаны из сценариев на стороне сервера. Так возможно ли прослушивать IPN, используя только javascript?

+0

В моих опытах PDT был в порядке. Со временем, за некоторыми исключениями, нам пришлось иметь дело с «вручную», потому что что-то пошло не так. Какой розничный продавец не должен иметь дело с чем-то в течение нескольких месяцев ведения бизнеса? Какой у вас источник для утверждений, что он недостаточно надежный? –

+0

(при этом мы также используем IPN для чего-то совершенно отдельного, а 90% наших транзакций - это кредитные карты через API, а не вперед на paypal) –

+0

привет Крис, я прочитал эту ссылку о ipn vs pdt: http: /stackoverflow.com/questions/2836779/ipn-vs-pdt-in-paypal. Что касается кредитных карт, я думаю, что мы планируем использовать это как другие способы оплаты. Можете ли вы дать мне несколько заметок или ссылку на использование? –

ответ

2

Нет, не на стороне клиента. Для этого вы можете использовать Javascript на стороне сервера (nodejs). Цель IPN - сообщить серверу, что платеж завершен. Запрос IPN поступает непосредственно из PayPal за сценой в URL, который вы ему указываете. У клиента нет никакого способа получить этот сигнал, и если бы это было возможно, тогда был бы большой недостаток безопасности, потому что любой мог его подделать.

Однако вы можете обновить свой сервер с помощью IPN, затем использовать что-то вроде socket.io (websockets) или long-polling (простой старый ajax), чтобы ваш клиент знал, что платеж был успешным. При длительном опросе вы в основном будете спрашивать свой бэк-конец каждые секунды или два независимо от того, была ли оплата успешной. С разъемами у вас есть более прямая связь. Мне нравится socket.io, потому что он возвращается к длительному опросу (или вспышке), если реальные сетевые сокеты недоступны.

+0

Привет jonathan, спасибо за ответ. Спасибо, что разобрались. Теперь я могу продолжить, на самом деле я не использую nodejs или socket io. не знаю, как они работают, Y__Y. Прошел только месяц с тех пор, как я использовал Angularjs, :) и интегрировал paypal. Но это жизнь разработчика. ха-ха. Я начну изучать nodejs и socket io. –

+0

Многие серверные языки имеют свой собственный способ создания веб-сайтов, а также традиционный ajax. –

Смежные вопросы