Адаптивные платежи без модальных окон и всплывающих окон?

Можно ли запустить платежный процесс полностью в режиме онлайн (как экспресс-касса)? Как?

Мы используем связанные платежи, и все работает на мобильных устройствах, отличных от iOS (и в Chrome для iOS), но мы делаем веб-приложение, поэтому нам нужно, чтобы оно работало на телефонах. При тестировании на iPhone у нас есть это проблема с кодом PayPal, о которой я уже спрашивал, а также тот факт, что когда я обхожу эту ошибку, выполняя location.replace с URL-адресом PayPal (или загружая его в лайтбокс собственной разработки), iOS и мобильный Safari отключают всплывающее окно «Войти» (не давая пользователю возможности просмотреть его, если он того пожелает).

Короче говоря, есть ли способ использовать Adaptive Payments без нелепых всплывающих окон эпохи 1990-х???


person Ben Y    schedule 24.06.2013    source источник
comment
Если есть способ избежать модального окна или всплывающих окон на устройствах iOS, я его не нашел. Мне пришлось интегрировать мини-поток для устройств iOS, который работает, хотя и с всплывающими окнами.   -  person Alex    schedule 30.07.2014


Ответы (1)


Вот что я делаю, чтобы использовать мобильный веб-поток PayPal. Я тестирую на Android, и он работает хорошо. Единственным зависанием является то, что callbackFunction не срабатывает в мобильных браузерах и отлично работает в настольных браузерах. (Я все еще работаю над этой частью. Дайте мне знать, если вы ее решите.) Вот пример того, как это сделать с помощью expType=mini для запуска мини-браузера PayPal.

Сначала включите Javascript для мини-потока:

<script src="http://www.paypalobjects.com/js/external/apdg.js"></script>

Затем ссылка для запуска редиректа:

<a id="payPalRedirect" href="https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey={paykey}&expType=mini" target="_blank">Complete PayPal Payment</a>
<br /><br />
<div id="resultDiv"></div>

И немного Javascript для запуска процесса Mini Flow и callbackFunction:

        var returnFromPayPal = function () {
           alert("Returned from PayPal");
           var div = document.getElementById('resultDiv');
           div.innerHTML = "Returned from PayPal!";
           // Here you would need to pass on the payKey to your server side handle to call the PaymentDetails API to make sure Payment has been successful or not
           // based on the payment status- redirect to your success or cancel/failed urls
       }
       var dgFlowMini = new PAYPAL.apps.DGFlowMini({ trigger: 'payPalRedirect', expType: 'mini', callbackFunction: 'returnFromPayPal' });

Дополнительные идеи и варианты решения этой проблемы можно найти здесь:

Встроенный поток Paypal не использует returnUrl или cancelUrl

person James    schedule 18.07.2013
comment
На самом деле мы смогли решить проблему возврата на наш сайт после всплывающего/модального окна, это был просто сбой iOS Safari/веб-приложения, на котором мы зацикливались. Все закончилось настолько плохо, а поддержка PayPal оказалась настолько бесполезной (мы часами разговаривали по телефону), что в конце концов мы отказались от адаптивных платежей и коренным образом изменили нашу бизнес-модель. Вот наше старое решение для закрытия окна PayPal, надеюсь, оно вам пригодится: pastebin.com/Dt0kDjGs - person Ben Y; 19.07.2013
comment
@ Джеймс, ты в итоге заставил это работать? Я использую адаптивный/цепной платеж в iOS и Android, используя веб-просмотр, но используя стандартные веб-страницы, которые не подходят для мобильных устройств. Прежде чем тратить время на переход на Embedded Payment Flow, было бы неплохо узнать, работает ли он на самом деле или нет? - person Heinrich; 11.10.2015
comment
Я не помню, чтобы это хорошо работало в мобильных браузерах. В итоге я завершил эту функциональность, когда преобразовал прототип HTML5 в собственное приложение. - person James; 12.10.2015
comment
@James Я использую собственные приложения для iOS и Android для адаптивных/цепных платежей PayPal. Использовали ли вы Chained Payments в своем родном приложении? Если да, то как вы его реализовали, и был ли он удобным для мобильных устройств? Единственный вариант, который я могу найти, это не оптимизированный для мобильных устройств HTML-код PayPal, где вам нужно увеличить масштаб, чтобы увидеть экраны платежей. - person Heinrich; 13.10.2015
comment
@Heinrich У PayPal есть собственный SDK для приложений, который вы можете интегрировать со своим приложением. Вот пара ссылок, которые могут указать вам правильное направление. developer.paypal.com/webapps/developer /docs/classic/use-cases/ и разработчик .paypal.com/docs/integration/mobile/ - person James; 14.10.2015
comment
@James Мы посмотрели на собственные SDK, они не поддерживают адаптивные цепные платежи. Что касается Braintree, у него есть решение, но оно не предлагает защиту покупок по кредитным картам, которую делает PayPal, и для нашего приложения это то, чего мы хотели. Надеемся, что собственные SDK или REST API в конечном итоге будут поддерживать платежи с адаптивной цепочкой. - person Heinrich; 14.10.2015