所以我一直试图找到一个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();
});
答案 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而发布它。请关注博客,我可能会在接下来的几周内发布它。