gpt4 book ai didi

上下文中的 PayPal Checkout Express 在我的 GWT 项目中不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:37 25 4
gpt4 key购买 nike

在我的项目 GWT-RPC 中,我在服务器端使用 SDK 商家 PayPal 在沙盒模式下使用 API 调用。在服务器端我有:

PayPalAPIInterfaceServiceService service=new       PayPalAPIInterfaceServiceService(configMap);

PaymentDetailsType paymentDetails = new PaymentDetailsType();
paymentDetails.setPaymentAction(PaymentActionCodeType.fromValue("Sale"));
PaymentDetailsItemType item = new PaymentDetailsItemType();
BasicAmountType amt = new BasicAmountType();
amt.setCurrencyID(CurrencyCodeType.EUR);
String itemAmount = "10.00";
amt.setValue(itemAmount);
int itemQuantity = 1;
item.setQuantity(itemQuantity);
item.setName("pagamento su Movieuniverse");
item.setAmount(amt);


List<PaymentDetailsItemType> lineItems = new ArrayList<PaymentDetailsItemType>();
lineItems.add(item);
paymentDetails.setPaymentDetailsItem(lineItems);
BasicAmountType orderTotal = new BasicAmountType();
orderTotal.setCurrencyID(CurrencyCodeType.EUR);
orderTotal.setValue(((Double)(Double.parseDouble(itemAmount) * itemQuantity)).toString());
paymentDetails.setOrderTotal(orderTotal);
List<PaymentDetailsType> paymentDetailsList = new ArrayList<PaymentDetailsType>();
paymentDetailsList.add(paymentDetails);

SetExpressCheckoutRequestDetailsType setExpressCheckoutRequestDetails = new SetExpressCheckoutRequestDetailsType();
setExpressCheckoutRequestDetails.setReturnURL("http://127.0.0.1:8888/MovieUniverse.html#order_confirmed");
setExpressCheckoutRequestDetails.setCancelURL("http://127.0.0.1:8888/MovieUniverse.html#order_cancelled");

setExpressCheckoutRequestDetails.setPaymentDetails(paymentDetailsList);

SetExpressCheckoutRequestType setExpressCheckoutRequest = new SetExpressCheckoutRequestType(setExpressCheckoutRequestDetails);
setExpressCheckoutRequest.setVersion("104.0");

SetExpressCheckoutReq setExpressCheckoutReq = new SetExpressCheckoutReq();
setExpressCheckoutReq.setSetExpressCheckoutRequest(setExpressCheckoutRequest);

SetExpressCheckoutResponseType res=service.setExpressCheckout(setExpressCheckoutReq);
String token=res.getToken();
return token;

通过这种方式,我获得了 token 并使用上下文模式,使用 2 个脚本如 PayPal Checkout Express 上下文文档中所写

    window.paypalCheckoutReady=function(){
paypal.checkout.setup("2GF99UMQQF66A",{
environment:'sandbox',
container: "paypal"
});
}
ScriptInjector.fromString(JsResources.INSTANCE.scriptOpenPopupPaypal().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject();


ScriptInjector.fromUrl("http://www.paypalobjects.com/api/checkout.js").setWindow(ScriptInjector.TOP_WINDOW).inject();

点击 payapal 结帐按钮,它会在弹出窗口中打开此链接(由两个脚本获取) https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=<TOKEN-OBTAINED>

我现在点击付款,但付款没有注册,弹出窗口关闭后,它仍然是我的页面,上面有 paypal 加载通知,在这个页面下面是返回页面,这里是屏幕:

a

b

c

我不知道实现中有什么问题,为什么仍然是 paypal 加载,也许 URL 应该不同。在 paypal 文档上写着我应该使用: <form id="myContainer" method="post" action="/checkout"></form> ,但是我怎样才能给它 API 调用的结果呢?所以我直接使用看到的 link=URL+token 并将其插入 html 片段中的 href(以便脚本使用):

<div class="container">
<a id='paypal'
href="">
</a>
</div>

因此链接将在弹出窗口中打开,但由于前面解释的原因它不起作用。多谢!

文档: PayPal Checkout Express in-context

最佳答案

2017 年 1 月 1 日起,此集成方法已弃用。 PayPal 继续支持使用此方法的现有商家,但请注意,新功能和增强功能不会应用于这些集成。

更多详情请访问documentation

带有关联流程的 PayPal Express Checkout 为您的客户提供了简化的结账体验,使他们在整个付款授权过程中都在您的网站本地,并使他们能够使用他们的 PayPal 余额、银行账户或信用卡进行支付而无需共享或在您的网站上输入任何敏感信息。

对于新的集成,请参阅 PayPal Checkout Integration Guide .

关于上下文中的 PayPal Checkout Express 在我的 GWT 项目中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31797847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com