首页 文章

PAYPAL CORS错误

提问于
浏览
0

我正在使用adaptivepayments api . 获得paypal密钥的代码是,

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());

付款密钥成功返回,之后付款,应显示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'标头 . 因此,不允许原点'localhost:8080'访问 .

请让我知道需要做什么才能重定向到paypal页面 .

谢谢,Gayithri

2 回答

  • 0

    AFAIK这可能Chrome不支持localhost通过Access-Control-Allow-Origin

    要在标头中发送Access-Control-Allow-Origin,只需在主机文件(Windows上为 C:\Windows\System32\drivers\etc\hosts ,大多数Unix上为 /etc/hosts )中尝试使用localhost到其他域,例如:

    127.0.0.1   localhost mydomain.com
    

    然后,如果您使用mydomain.com而不是localhost访问您的脚本,则调用应该成功 .

  • 0

    好吧,我认为你正在使用按钮的onClick动作调用AJAX . 还有另一个选项,您可以使用而不是使用ajax命中将表单标记内的按钮放在表单操作中,并在表单操作中添加您的链接和设置方法作为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>
    

    如果你可以提供一些代码供人们帮助那将是很好的,因为它只是空中拍摄,因为我们不知道你真正想要做什么 .

相关问题