В моем проекте GWT-RPC я хочу использовать Paypal Express Checkout в песочнице. Я запускаю свой проект на eclipse в режиме GWT Super Dev Mode, чтобы протестировать его.
С помощью мастера интеграции с PayPal я добавил paypalfunctions.java на стороне моего сервера, которые позволяют вызывать PayPal API. На моей стороне сервера у меня есть этот AsyncCall, часть журнала предназначена для отладки:
/**
* PayPal Operations
*/
@SuppressWarnings("rawtypes")
public HashMap setCheckoutExpress(DatiPaypalCheckoutExpress paypal){
paypalfunctions api=new paypalfunctions();
HashMap response=api.CallMarkExpressCheckout(((Double) paypal.getTOT()).toString(),
"http://127.0.0.1:8888/MovieUniverse.html#order_confirmed",
"http://127.0.0.1:8888/MovieUniverse.html#order_cancelled",
"", "", "", "", "",
"", "", "");
// response=api.CallShortcutExpressCheckout("10.00",
// "http://127.0.0.1:8888/MovieUniverse.html#order_confirmed",
// "http://127.0.0.1:8888/MovieUniverse.html#order_cancelled");
if(response!=null){
GWT.log("Server: setCheckoutExpress() HashMap: "+response.toString());
}else
GWT.log("Server: setCheckoutExpress() HashMap: null");
return response;
}
прокомментированная часть, CallShortcutExpressCheckout работает. Но когда я использую CallMarkExpressCheckout, я получаю в ответ
{L_LONGMESSAGE0=Security header is not valid, VERSION=93, BUILD=17329237, L_ERRORCODE0=10002, ACK=Failure, CORRELATIONID=9ce80c51dc8a5, TIMESTAMP=2015-07-09T16:25:14Z, L_SEVERITYCODE0=Error, L_SHORTMESSAGE0=Security error}
В учетных данных API нет пробелов, и метод примера работает, поэтому конечные точки PayPal написаны правильно. Я не знаю, как это решить. Большое спасибо!