0

ペイパル サンド ボックスから認証に失敗しました。名前と値のペアとしてリクエストをペイパルに送信しています。

コードは次のとおりです。

final String PayPalConstants.ENCODE_TYPE="UTF-8";
final StringBuffer encodedStringBuffer = new StringBuffer();
encodedStringBuffer.append("X-PAYPAL-SECURITY-USERID=" + URLEncoder.encode(getAdaptivePaymentUserName(), PayPalConstants.ENCODE_TYPE) + "&");
    encodedStringBuffer.append("X-PAYPAL-SECURITY-PASSWORD=" + URLEncoder.encode(getAdaptivePaymentPassword(), PayPalConstants.ENCODE_TYPE) + "&");
    if (!isUseCert()) {
        encodedStringBuffer.append("X-PAYPAL-SECURITY-SIGNATURE=" + URLEncoder.encode(getAdaptivePaymentSignature(), PayPalConstants.ENCODE_TYPE) + "&");
    }
    // encodedStringBuffer.append("BUTTONSOURCE=" +
    // URLEncoder.encode(PayPalConstants.BUTTONSOURCE,
    // PayPalConstants.ENCODE_TYPE) + "&");
    encodedStringBuffer.append("X-PAYPAL-REQUEST-DATA-FORMAT=" + URLEncoder.encode("NV", PayPalConstants.ENCODE_TYPE) + "&");
    encodedStringBuffer.append("X-PAYPAL-RESPONSE-DATA-FORMAT=" + URLEncoder.encode("NV", PayPalConstants.ENCODE_TYPE) + "&");
    encodedStringBuffer.append("X-PAYPAL-APPLICATION-ID=" + URLEncoder.encode(getAdaptivePaymentAppId(), PayPalConstants.ENCODE_TYPE) + "&");

                final PostMethod httpPost = new PostMethod(this.adaptivePaymentRestURL.getPath());

    httpPost.setRequestEntity(new StringRequestEntity(encodedStringBuffer.toString(), "text/html", PayPalConstants.ENCODE_TYPE));
final int result = this.adaptivePaymentHttpClient.executeMethod(httpPost);
                    if (result == 200) {
            response = httpPost.getResponseBodyAsString();
}

そして、応答値は次のようになります。

<?xml version='1.0' encoding='UTF-8'?>
<ns3:FaultMessage xmlns:ns3="http://svcs.paypal.com/types/common" xmlns:ns2="http://svcs.paypal.com/types/ap">
<responseEnvelope>
<timestamp>2013-08-21T00:20:51.291-07:00</timestamp>
<ack>Failure</ack>
<correlationId>e3325********</correlationId>
<build>694****</build>
</responseEnvelope>
<error>
**<errorId>520003</errorId>**
<domain>PLATFORM</domain>
<subdomain>Application</subdomain>
<severity>Error</severity>
<category>Application</category>
<message>Authentication failed. API credentials are incorrect.</message>
</error>
</ns3:FaultMessage>

誰が私が間違ったことを教えてもらえますか?入力文字列バッファは、この Web サービスのデータ型が間違っていますか。私を助けてください..私はこれについて完全に混乱しています。

前もって感謝します。

4

1 に答える 1

0

API 資格情報は、HTTP ヘッダー ( https://developer.paypal.com/webapps/developer/docs/classic/api/gs_PayPalAPIs/#headers ) またはhttps://developer.paypal.com/webapps/developer/docsのいずれかになります。 /classic/api/gs_PayPalAPIs/#payload . 2 つを混同しているようです - X-PAYPAl-* は HTTP ヘッダー名です。

于 2013-08-29T10:09:07.470 に答える