1

これについて 20 以上の質問があることは承知していますが、役に立たなかったものはなく、API ドキュメントも他のペイパル パートナー サイトも役に立ちませんでした..

生成された XML/SOAP は、次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="urn:ebay:apis:eBLBaseComponents" 
    xmlns:ns2="urn:ebay:api:PayPalAPI">
  <SOAP-ENV:Header>
    <ns2:RequesterCredentials>
      <ns1:Credentials>
        <ns1:Username>[FILTERED]</ns1:Username>
        <ns1:Password>[FILTERED]</ns1:Password>
        <ns1:Signature>[FILTERED]</ns1:Signature>
      </ns1:Credentials>
    </ns2:RequesterCredentials>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <ns2:SetExpressCheckoutReq>
      <ns2:SetExpressCheckoutRequest>
        <ns1:Version>121.0</ns1:Version>
        <ns2:SetExpressCheckoutRequestDetails>
          <ns1:ReturnUrl>http://localhost/foo</ns1:ReturnUrl>
          <ns1:CancelUrl>http://localhost/bar</ns1:CancelUrl>
          <ns1:PaymentDetails>
            <ns1:OrderTotal currencyID="EUR">100000</ns1:OrderTotal>
          </ns1:PaymentDetails>
        </ns2:SetExpressCheckoutRequestDetails>
      </ns2:SetExpressCheckoutRequest>
    </ns2:SetExpressCheckoutReq>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

しかし、「Order Total is missing」というメッセージが表示され、なぜ機能しないのか理解できません。ヒントはありますか?前もって感謝します!

4

3 に答える 3

1

あなたの XML は有効ではないと思います:

<ns1:OrderTotal currencyID="EUR">100000</ns2:OrderTotal>

両方のタグで ns1 である必要があります。

于 2015-03-12T16:50:32.720 に答える
0

私は同じ問題にぶつかりました。問題は、それがns2 ( ) ではなくSetExpressCheckoutRequestDetailsns1 ( ) にあることです。最終的にそれを理解する前に、頭をぶつけて約6時間を費やしました.eBLBaseComponentsPayPalAPI

于 2015-06-23T01:44:19.713 に答える
0

Andrew Wilcoxの回答の助けを借りて解決しました。

XML の問題の部分は であり、これはではなく で<ns2:SetExpressCheckoutRequest>名前空間を指定する必要があります。ns1ns2

于 2015-06-26T16:01:12.737 に答える