2013-06-24 5 views
5

Возможно ли запустить платный поток полностью в линию (a la Express Checkout)? Как?Адаптивные платежи без модального окна или всплывающих окон?

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

Одним словом, можно ли использовать адаптивные платежи без смешных всплывающих окон 1990-х годов ???

+1

Если есть способ избежать модальное окно или всплывающие окна на IOS устройств, я не нашел его. Мне пришлось интегрировать мини-поток для устройств iOS, который работает, хотя и с всплывающими окнами. – Alex

ответ

2

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

Первый включает Javascript для потока Mini:

<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 Embedded Flow not using returnUrl or cancelUrl

+2

На самом деле мы смогли решить проблему возврата на наш сайт после всплывающего/модального, это был просто сбой в работе Safari/webapp iOS, который мы повесили. Это оказалось так плохо, и поддержка PayPal так бесполезна (мы провели часы по телефону), что мы в конечном итоге отказались от Adaptive Payments и коренным образом изменили нашу бизнес-модель. Вот наше старое решение для закрытия окна PayPal, я надеюсь, что это вам подойдет: http://pastebin.com/Dt0kDjGs –

+0

@ Джеймс, вы в конечном итоге получили это на работу? Я использую Adaptive/Chained payment в iOS и Android, используя веб-просмотр, но используя стандартные веб-страницы, которые не являются мобильными. Прежде чем тратить время на конвертацию в Embedded Flow Flow, было бы здорово узнать, работает ли это на самом деле или нет? – Heinrich

+1

Я не помню, чтобы это хорошо работало в мобильных браузерах. Я закончил эту функциональность, когда я преобразовал прототип HTML5 в родное приложение. – James