1

PayPal エクスプレス チェックアウト SOAP API を使用しています。CallbackURL 要素を追加するまで機能する SetExpressCheckoutRequest があります。次に、次のエラーが表示されます。

Ack: 失敗 ShortMessage: 定額配送オプションがありません。LongMessage: 定額配送オプションがありません。コールバック URL を指定するときは、定額配送オプションを指定する必要があります。エラーコード: 11825

My request includes the following elements (child elements of <ebl:PaymentDetails>):

<ebl:FlatRateShippingOptions>
  <ebl:ShippingOptionIsDefault>true</ebl:ShippingOptionIsDefault>
  <ebl:ShippingOptionAmount currencyID=""USD"">4.00</ebl:ShippingOptionAmount>
  <ebl:ShippingOptionName>Ground</ebl:ShippingOptionName>
</ebl:FlatRateShippingOptions>

Soap のさまざまな SDK には、これらの要素が含まれていないようです。かなりの検索を行った後、このオプションを含む SetExpressCheckoutRequest の動作例を見つけることができませんでした。私は多くのバリエーションを試しましたが、何もうまくいかないようです。

このオプションで動作する SOAP API リクエストのサンプルを持っている人はいますか?

ありがとう、CJ

完全な XML 要求ファイルは次のとおりです。CallbackURL 行と FlatRateShippingOptions セクションがなくても機能します。ドキュメントが必要かどうかについて一貫性がないように見えるため、 ShippingOptions 要素の有無にかかわらず試してみました。

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="urn:ebay:api:PayPalAPI" xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:ed="urn:ebay:apis:EnhancedDataTypes">
<soapenv:Header>
  <ns:RequesterCredentials>
    <ebl:Credentials>
      <ebl:Username>sdk-three_api1.sdk.com</ebl:Username>
      <ebl:Password>QFZCWN5HZM8VBG7Q</ebl:Password>
      <ebl:Signature>A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU</ebl:Signature>
    </ebl:Credentials>
  </ns:RequesterCredentials>
</soapenv:Header>
<soapenv:Body>
  <ns:SetExpressCheckoutReq>
    <ns:SetExpressCheckoutRequest>
      <ebl:Version>106.0</ebl:Version>
      <ebl:SetExpressCheckoutRequestDetails>
        <ebl:MaxAmount currencyID="USD">20.00</ebl:MaxAmount>
        <ebl:ReturnURL>https://www.domain.com/final.asp</ebl:ReturnURL>
        <ebl:CancelURL>https://www.domain.com/reviewcart.asp</ebl:CancelURL>
        <ebl:NoShipping>2</ebl:NoShipping>
        <ebl:AddressOverride>1</ebl:AddressOverride>
        <ebl:LocaleCode>US</ebl:LocaleCode>
        <ebl:SolutionType>Sole</ebl:SolutionType>
        <ebl:BuyerEmail>platfo_1255077030_biz@gmail.com</ebl:BuyerEmail>
        <ebl:CallbackURL>https://www.domain.com/paypalcallback.asp</ebl:CallbackURL>
        <ebl:PaymentDetails>
          <ebl:FlatRateShippingOptions>
            <ebl:ShippingOptions>
              <ebl:ShippingOptionIsDefault>true</ebl:ShippingOptionIsDefault>
              <ebl:ShippingOptionAmount currencyID="USD">4.00</ebl:ShippingOptionAmount>
              <ebl:ShippingOptionName>Ground</ebl:ShippingOptionName>
            </ebl:ShippingOptions>
            <ebl:ShippingOptions>
              <ebl:ShippingOptionIsDefault>false</ebl:ShippingOptionIsDefault>
              <ebl:ShippingOptionAmount currencyID="USD">20.00</ebl:ShippingOptionAmount>
              <ebl:ShippingOptionName>NextDayAir</ebl:ShippingOptionName>
            </ebl:ShippingOptions>
          </ebl:FlatRateShippingOptions>
          <ebl:OrderTotal currencyID="USD">20.00</ebl:OrderTotal>
          <ebl:ItemTotal currencyID="USD">16.00</ebl:ItemTotal>
          <ebl:ShippingTotal currencyID="USD">4.00</ebl:ShippingTotal>
          <ebl:HandlingTotal currencyID="USD">0.00</ebl:HandlingTotal>
          <ebl:TaxTotal currencyID="USD">0.00</ebl:TaxTotal>
          <ebl:OrderDescription>Cart ID 123456</ebl:OrderDescription>
          <ebl:ShipToAddress>
            <ebl:Name>John Doe</ebl:Name>
            <ebl:Street1>123 Main St</ebl:Street1>
            <ebl:Street2>Apt 2</ebl:Street2>
            <ebl:CityName>Chicago</ebl:CityName>
            <ebl:StateOrProvince>IL</ebl:StateOrProvince>
            <ebl:Country>US</ebl:Country>
            <ebl:Phone>312-555-1234</ebl:Phone>
            <ebl:PostalCode>60610</ebl:PostalCode>
          </ebl:ShipToAddress>
          <ebl:PaymentDetailsItem>
            <ebl:Name>3001</ebl:Name>
            <ebl:Quantity>2</ebl:Quantity>
            <ebl:Tax currencyID="USD">0.00</ebl:Tax>
            <ebl:Amount currencyID="USD">6.00</ebl:Amount>
            <ebl:Description>test order</ebl:Description>
            <ebl:ItemCategory>Physical</ebl:ItemCategory>
          </ebl:PaymentDetailsItem>
          <ebl:PaymentDetailsItem>
            <ebl:Name>3002</ebl:Name>
            <ebl:Quantity>4</ebl:Quantity>
            <ebl:Tax currencyID="USD">0.00</ebl:Tax>
            <ebl:Amount currencyID="USD">1.00</ebl:Amount>
            <ebl:Description>test order</ebl:Description>
            <ebl:ItemCategory>Physical</ebl:ItemCategory>
          </ebl:PaymentDetailsItem>
          <ebl:PaymentAction>Sale</ebl:PaymentAction>
        </ebl:PaymentDetails>
        <ebl:ChannelType>Merchant</ebl:ChannelType>
        <ebl:CustomerServiceNumber>3125559876</ebl:CustomerServiceNumber>
        <ebl:BuyerEmailOptinEnable>1</ebl:BuyerEmailOptinEnable>
        <ebl:TotalType>EstimatedTotal</ebl:TotalType>
        <ebl:NoteToBuyer>Sample note to buyer.</ebl:NoteToBuyer>
        <ebl:PaymentReason>None</ebl:PaymentReason>
        <ebl:BuyerEmailOptinEnable xmlns="">1</ebl:BuyerEmailOptinEnable>
      </ebl:SetExpressCheckoutRequestDetails>
    </ns:SetExpressCheckoutRequest>
  </ns:SetExpressCheckoutReq>
</soapenv:Body>
</soapenv:Envelope>

私はついにそれを働かせました。FlatRateShippingOptions セクションを PaymentDetails セクションの下に移動する必要がありました。完全な作業 XML 要求は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="urn:ebay:api:PayPalAPI" xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:ed="urn:ebay:apis:EnhancedDataTypes">
<soapenv:Header>
  <ns:RequesterCredentials>
    <ebl:Credentials>
      <ebl:Username>sdk-three_api1.sdk.com</ebl:Username>
      <ebl:Password>QFZCWN5HZM8VBG7Q</ebl:Password>
      <ebl:Signature>A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU</ebl:Signature>
    </ebl:Credentials>
  </ns:RequesterCredentials>
</soapenv:Header>
<soapenv:Body>
  <ns:SetExpressCheckoutReq>
    <ns:SetExpressCheckoutRequest>
      <ebl:Version>106.0</ebl:Version>
      <ebl:SetExpressCheckoutRequestDetails>
        <ebl:MaxAmount currencyID="USD">20.00</ebl:MaxAmount>
        <ebl:ReturnURL>https://www.domain.com/final.asp</ebl:ReturnURL>
        <ebl:CancelURL>https://www.domain.com/reviewcart.asp</ebl:CancelURL>
        <ebl:NoShipping>2</ebl:NoShipping>
        <ebl:AddressOverride>1</ebl:AddressOverride>
        <ebl:LocaleCode>US</ebl:LocaleCode>
        <ebl:SolutionType>Sole</ebl:SolutionType>
        <ebl:BuyerEmail>platfo_1255077030_biz@gmail.com</ebl:BuyerEmail>
        <ebl:CallbackURL>https://www.domain.com/paypalcallback.asp</ebl:CallbackURL>
        <ebl:PaymentDetails>
          <ebl:OrderTotal currencyID="USD">20.00</ebl:OrderTotal>
          <ebl:ItemTotal currencyID="USD">16.00</ebl:ItemTotal>
          <ebl:ShippingTotal currencyID="USD">4.00</ebl:ShippingTotal>
          <ebl:HandlingTotal currencyID="USD">0.00</ebl:HandlingTotal>
          <ebl:TaxTotal currencyID="USD">0.00</ebl:TaxTotal>
          <ebl:OrderDescription>Cart ID 123456</ebl:OrderDescription>
          <ebl:ShipToAddress>
            <ebl:Name>John Doe</ebl:Name>
            <ebl:Street1>123 Main St</ebl:Street1>
            <ebl:Street2>Apt 2</ebl:Street2>
            <ebl:CityName>Chicago</ebl:CityName>
            <ebl:StateOrProvince>IL</ebl:StateOrProvince>
            <ebl:Country>US</ebl:Country>
            <ebl:Phone>312-555-1234</ebl:Phone>
            <ebl:PostalCode>60610</ebl:PostalCode>
          </ebl:ShipToAddress>
          <ebl:PaymentDetailsItem>
            <ebl:Name>3001</ebl:Name>
            <ebl:Quantity>2</ebl:Quantity>
            <ebl:Tax currencyID="USD">0.00</ebl:Tax>
            <ebl:Amount currencyID="USD">6.00</ebl:Amount>
            <ebl:Description>test order</ebl:Description>
            <ebl:ItemCategory>Physical</ebl:ItemCategory>
          </ebl:PaymentDetailsItem>
          <ebl:PaymentDetailsItem>
            <ebl:Name>3002</ebl:Name>
            <ebl:Quantity>4</ebl:Quantity>
            <ebl:Tax currencyID="USD">0.00</ebl:Tax>
            <ebl:Amount currencyID="USD">1.00</ebl:Amount>
            <ebl:Description>test order</ebl:Description>
            <ebl:ItemCategory>Physical</ebl:ItemCategory>
          </ebl:PaymentDetailsItem>
          <ebl:PaymentAction>Sale</ebl:PaymentAction>
        </ebl:PaymentDetails>
        <ebl:FlatRateShippingOptions>
          <ebl:ShippingOptionIsDefault>true</ebl:ShippingOptionIsDefault>
          <ebl:ShippingOptionAmount currencyID="USD">4.00</ebl:ShippingOptionAmount>
          <ebl:ShippingOptionName>Ground</ebl:ShippingOptionName>
        </ebl:FlatRateShippingOptions>
        <ebl:FlatRateShippingOptions>
          <ebl:ShippingOptionIsDefault>false</ebl:ShippingOptionIsDefault>
          <ebl:ShippingOptionAmount currencyID="USD">20.00</ebl:ShippingOptionAmount>
          <ebl:ShippingOptionName>NextDayAir</ebl:ShippingOptionName>
        </ebl:FlatRateShippingOptions>
        <ebl:CallbackTimeout>6</ebl:CallbackTimeout>
        <ebl:ChannelType>Merchant</ebl:ChannelType>
        <ebl:CustomerServiceNumber>3125559876</ebl:CustomerServiceNumber>
        <ebl:BuyerEmailOptinEnable>1</ebl:BuyerEmailOptinEnable>
        <ebl:TotalType>EstimatedTotal</ebl:TotalType>
        <ebl:NoteToBuyer>Sample note to buyer.</ebl:NoteToBuyer>
        <ebl:PaymentReason>None</ebl:PaymentReason>
        <ebl:BuyerEmailOptinEnable xmlns="">1</ebl:BuyerEmailOptinEnable>
      </ebl:SetExpressCheckoutRequestDetails>
    </ns:SetExpressCheckoutRequest>
 </ns:SetExpressCheckoutReq>
</soapenv:Body>
</soapenv:Envelope>

この問題の解決にご協力いただきありがとうございます。

4

1 に答える 1

1

コールバックが含まれている SetExpressCheckout の実際のサンプルを次に示しますが、SOAP の代わりに NVP を使用しています。

XML リクエスト全体のサンプルを投稿したい場合は、問題を再現して問題を解決できるかどうかを確認します。

あなたの問題は、FlatRateShippingOptions を PaymentDetails 内の子要素として持っていることだと思います。SEC の PayPal SOAP ドキュメントを見ると、FlatRateShippingOptions はそれより上にあり、CallbackURL と同じレベルにあるようです。

それを PaymentDetails の外に移動してみて、それが役立つかどうかを確認してください。

于 2013-09-17T03:08:45.617 に答える