与paypal checkout express的Codenameone浏览器问题

时间:2017-04-26 21:06:54

标签: paypal webview codenameone

所以我一直试图找到一个API将PayPal Payment集成到我的Codename One App中,除了我没有找到足够的文档来使用Purchase内置功能。所以我尝试使用托管在我服务器上的页面的WebView,并使用paypal“checkout.js”Api实现。

当我将页面加载到Chrome时,它完美运行并且交易完成。但是当我使用代号为一个BrowserComponent加载它时,它会卡住(见截图)。这个问题的根源是什么?这是浏览器不支持popus的事实吗?有没有办法解决它?

 Button payButton = new Button("Checkout");
    payButton.addActionListener((ActionEvent evt) -> {
        Form payForm = new Form("Payment", new BorderLayout());
        WebBrowser webBrowser = new WebBrowser("http://localhost/paymentserver/web/app_dev.php/payerParticipation/5");
        payForm.add(BorderLayout.CENTER, webBrowser);
        payForm.show();
    });

Screenshot

3 个答案:

答案 0 :(得分:1)

尝试将firebug嵌入到您的页面中,看看它是否报告任何错误:

<script>
 if (!document.getElementById('FirebugLite')){E = document['createElement' + 'NS'] && document.documentElement.namespaceURI;E = E ? document'createElement' + 'NS' : document'createElement';E'setAttribute';E'setAttribute';E'setAttribute';(document'getElementsByTagName'[0] || document'getElementsByTagName'[0]).appendChild(E);E = new Image;E'setAttribute';}
</script>

答案 1 :(得分:1)

感谢大家的帮助,

我终于找到了转机,并使用PayPal PHP SDK在PHP服务器上实现了此功能。我使用浏览器导航回调来检查付款何时成功/失败。

------WebKitFormBoundary4AkLoHMTlZVo90nY
Content-Disposition: form-data; name="files[0].file"; filename="Refund.png"
Content-Type: image/png
PNG

���
IHDR��4��2���Ä_����sRGB�®Îé���gAMA��±üa���  pHYs��Ä��Ä+��yÖIDATx^íÝ}+ë}Ø÷ßí?
`Ô2 Y#ßÆæú`Û+Vɬ
4ƶ$9ô 8
7îµY£

------WebKitFormBoundary4AkLoHMTlZVo90nY
Content-Disposition: form-data; name="files[1].file"; filename="Order_Refund.png"
Content-Type: image/png


 èRÂê^Ýj»iQä@"ûWY¶±.sâTê^ì q�¹ËT¥n½=&ë»,rÚ@p¯dYìó<óÌðg^ÈåîYóý\Ì=$gæg^óÌÏËÎB�[ãõ7Þ7O
>mßU}ñòðáCû�����`{}þóɾ������;&������­A@������ÀÖ    ������`k0(°e��ÜÏ}îsöÕí{íµ×ì+��bzP
 À!     ��nh¾öß~`ñsÿ½Ú.M��P£������Ø*4������l
�������¶M����K;Ïa��XM����7kÞýÙÙïËÜ~��°.����ßÿÙÑHwÚÿ¬Ìõ¼µ¦¨IÓÿúæ��ÔG@���_ø?ËbñG2

24
------WebKitFormBoundary4AkLoHMTlZVo90nY
Content-Disposition: form-data; name="account_number"

答案 2 :(得分:0)

我没有答案,但我确实实施了Braintree对Codename One的支持,这是官方的PayPal移动API。我有一个cn1lib实现它但我没有因为bootcamp而发布它。请关注博客,我可能会在接下来的几周内发布它。