java - PAYPAL CORS 错误

标签 java paypal paypal-sandbox

我正在使用 adaptivepayments api。获取 Paypal key 的代码是,

    PayRequest payRequest = new PayRequest(requestEnvelope, "PAY_PRIMARY",
                getProperties().getProperty("paypal_failed_url").trim() + bookingId, "SGD", receiverList,
                getProperties().getProperty("paypal_success_url").trim() + bookingId);
        payRequest.setFeesPayer("PRIMARYRECEIVER");
        payRequest.setTrackingId(transactionKey);
        payRequest.setReceiverList(receiverList);
        AdaptivePaymentsService service = null;
        Map<String, String> sdkConfig = new HashMap<String, String>();
        sdkConfig.put("mode", "sandbox");
        sdkConfig.put("acct1.UserName", "SG_Owner_api1.owner.com");
        sdkConfig.put("acct1.Password", "WY8HAW6WGUNM3R72");
        sdkConfig.put("acct1.Signature", "AFcWxV21C7fd0v3bYYYRCpSSRl31ATxmPR-EfTtPngimumXW80wNhGsQ");
        sdkConfig.put("acct1.AppId", "APP-80W284485P519543T");

        service = new AdaptivePaymentsService(sdkConfig);

        PayResponse payResponse = null;

        // ## Making API call
        // Invoke the appropriate method corresponding to API in service
        // wrapper object
        payResponse = service.pay(payRequest);
        logger.debug("-->" + payResponse.getPayKey());
        logger.debug("-->" + payResponse.getResponseEnvelope().getAck());

paykey 成功返回,付款后应显示 paypal 页面以供用户授权,沙箱链接为, ( https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ap-payment&paykey=paykey )

我在做这件事,

     httpResponse.addHeader("Access-Control-Allow-Origin", "*");
        httpResponse.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
        httpResponse.addHeader("Access-Control-Allow-Headers",
                "access-control-allow-origin,content-type, accept");

        httpResponse.sendRedirect(url + payKey);
        return Response.status(successResponse.getCode()).entity(successResponse).build();

paypal palpage 未显示,我可以在浏览器控制台中看到错误,"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ap-payment&paykey=paykey "
geeting 错误,请求的资源上不存在“Access-Control-Allow-Origin” header 。因此不允许访问源 'localhost:8080'。

请告诉我需要做什么才能重定向到 paypal 页面。

谢谢, 盖伊特里

最佳答案

好吧,我认为您是通过对按钮的 onClick 操作进行 AJAX 调用来完成此操作的。您可以使用另一个选项而不是使用 ajax hit 将按钮放在表单标记内,并在表单操作中添加您的链接和设置方法作为 get(或允许的方法)

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ap-payment&paykey=paykey" method="get">
<button type="submit" value="Proceed to Payment"/>
</form>

如果您可以为人们提供一些代码来提供帮助,那就太好了,因为这只是空中射击,因为我们不知道您实际上想做什么。

关于java - PAYPAL CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39283885/

相关文章:

forms - opa : paypal and IPN

ruby-on-rails - PayPal-Ruby-SDK 网络体验配置文件创建

paypal - 如何传递额外参数以返回 PayPal Connect 的 url

android - BraintreeBrowserSwitchActivity 丢失错误

php - Paypal 错误 : incorrectly formatted item amount

Paypal 沙箱不再工作

java - 我不断收到“java.lang.IllegalArgumentException : Given String is empty or null"and it has something to do with auth = FirebaseAuth. getInstance();”

java - HTTP 状态 500 - Servlet 执行引发异常 (java.lang.ClassNotFoundException)

java - 如何获取txt到数组的特定长度

java - 实现同一类对象之间的双向关系