Paypal Express Checkout используется в песочнице, заголовок безопасности недействителен, в учетных данных API нет ошибок

В моем проекте 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 написаны правильно. Я не знаю, как это решить. Большое спасибо!


person anto150192    schedule 09.07.2015    source источник


Ответы (3)


Иногда люди путают API USERNAME и API PASSWORD с обычным именем пользователя PayPal и паролем той же учетной записи PayPal, что также вызывает ошибку 10002.

Например, вы могли предоставить API USERNAME, но по ошибке указали обычный пароль в вызове API SetExpressCheckout.

В режиме песочницы ПАРОЛЬ API предоставляется на вкладке «Учетные данные API» после нажатия ссылки «профиль» под записью учетной записи «paypal-buyer@****.***».

person BIOHAZARD    schedule 18.08.2015

Эта ошибка не возникает, если учетные данные каким-либо образом неверны. Это могут быть сами значения, или вы отправляете учетные данные песочницы на рабочий сервер или наоборот.

Если вы абсолютно уверены, что сами значения верны, убедитесь, что вы используете правильные значения с правильными конечными точками.

person Drew Angell    schedule 10.07.2015
comment
Я знаю, но я использую учетные данные песочницы в среде песочницы, но это не работает. -3t.sandbox.paypal.com/nvp, URL PayPal sandbox.paypal.com/webscr?cmd=_express-checkout&token=. мои учетные данные API верны, и они следующие: gv_APIUserName = movieuniverse_api1.gmail.com; gv_APIPassword = E4T76Z68V4C38FS6; gv_APISignature =AFcWxV21C7fd0v3bYYYRCpSSRl31AWKgxYWxptrQw.jokhnsrfl4nC6m; Так что я не понимаю проблемы - person anto150192; 10.07.2015
comment
Перейдите сюда, и вы увидите, что я использую ваш учетные данные с помощью GetBalance API. Он отлично работает в песочнице, поэтому ваши значения действительно верны. Должно быть что-то в вашем коде, заставляющее значения каким-то образом корректироваться. - person Drew Angell; 10.07.2015
comment
Спасибо! Да я вижу. Проблема с paypalfunctions.java, вероятно. Спасибо за вашу помощь! - person anto150192; 11.07.2015

В конце концов я не решил таким образом. Я использовал продавец paypal sdk и, чтобы понять, как его использовать, я использовал отличный API Explorer Paypal, что очень полезно для понимания того, какие и как установлены объекты sdk. На как это сделать я видел какой объект sdk мне нужно установить. Я предлагаю этот способ использовать API Paypal

person anto150192    schedule 11.07.2015