我正在使用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 回答
AFAIK这可能Chrome不支持localhost通过Access-Control-Allow-Origin
要在标头中发送Access-Control-Allow-Origin,只需在主机文件(Windows上为
C:\Windows\System32\drivers\etc\hosts
,大多数Unix上为/etc/hosts
)中尝试使用localhost到其他域,例如:然后,如果您使用mydomain.com而不是localhost访问您的脚本,则调用应该成功 .
好吧,我认为你正在使用按钮的onClick动作调用AJAX . 还有另一个选项,您可以使用而不是使用ajax命中将表单标记内的按钮放在表单操作中,并在表单操作中添加您的链接和设置方法作为get(或允许的那个)
如果你可以提供一些代码供人们帮助那将是很好的,因为它只是空中拍摄,因为我们不知道你真正想要做什么 .