私はcheckoutにpaypalを使用するウェブアプリを持っています。数日前にうまくいきました。さて、私はチェックアウトをしようとし、Paypalは接続をリセットします。私はサンドボックスアカウントを使用しており、リクエストをhttps://api.sandbox.paypal.com/2.0/に送信しています。私はPaypalから有効な証明書を持っています。私のXMLリクエストは:Pay-Palでチェックアウトすると接続がリセットされます
<?xml version="1.0" encoding="utf-8"?>
<xsi:SetExpressCheckoutReq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetExpressCheckoutRequest xmlns="urn:ebay:api:PayPalAPI">
<ErrorLanguage xmlns="urn:ebay:apis:eBLBaseComponents">en_US</ErrorLanguage>
<Version xmlns="urn:ebay:apis:eBLBaseComponents">98.0</Version>
<SetExpressCheckoutRequestDetails xmlns="urn:ebay:apis:eBLBaseComponents">
<OrderTotal currencyID="USD" />
<ReturnURL>https://[my url site]?ppec=return</ReturnURL>
<CancelURL>https://[my url site]/checkout.aspx?ppec=cancel</CancelURL>
<Custom>100232</Custom>
<cpp-header-image>https://[my url site]/themes/default/images/layout/invoice_logo.gif</cpp-header-image>
<PaymentAction>Sale</PaymentAction>
<BuyerEmail>[email protected]</BuyerEmail>
<ChannelType>Merchant</ChannelType>
<PaymentDetails>
<OrderTotal currencyID="USD">280.51</OrderTotal>
<ItemTotal currencyID="USD">270.00</ItemTotal>
<ShippingTotal currencyID="USD">10.51</ShippingTotal>
<HandlingTotal currencyID="USD">0.00</HandlingTotal>
<TaxTotal currencyID="USD">0.00</TaxTotal>
<InvoiceID>100232</InvoiceID>
<ShipToAddress>
<Name>NAME SURNAME</Name>
<Street1>717 Some st</Street1>
<Street2 />
<CityName>City</CityName>
<StateOrProvince>ST</StateOrProvince>
<Country>US</Country>
<Phone>+15551234567</Phone>
<PostalCode>00000</PostalCode>
</ShipToAddress>
<PaymentDetailsItem>
<Name>Triángulo Isósceles</Name>
<Number>4444</Number>
<Quantity>1</Quantity>
<Amount currencyID="USD">300.00</Amount>
</PaymentDetailsItem>
<PaymentDetailsItem>
<Name>Discounts</Name>
<Quantity>1</Quantity>
<Amount currencyID="USD">-30.00</Amount>
</PaymentDetailsItem>
</PaymentDetails>
</SetExpressCheckoutRequestDetails>
</SetExpressCheckoutRequest>
</xsi:SetExpressCheckoutReq>
私はセキュリティプロトコルの種類をTlsからTls1.2に変更します。私が変更を行ったときのテストは大丈夫でしたが、動作していないことが分かりました。私は、Wiresharkのとの接続をトレースして、私はサンドボックスペイパル(173.0.82.78)
443 → 60191 [RST, ACK] Seq=4163 Ack=2365 Win=0 Len=0
から任意のアイデアを得ましたか。
ありがとうございました。申し訳ありません私の英語。あなたが何かを理解していないなら、それは私に何かを依頼するのをためらってください。
私の国と米国では、私がプロキシ経由でテストを行っています。私は再びAPIのドキュメントを読んで、XMLはうまく構成されています。私は正しいユーザー、パスワード、証明書を送信していますが、何らかの理由でpaypalが接続を閉じます。同じコードが昨年6月にうまくいきました。 –
簡単な方法は、クエリ文字列を使用してpaypalサンドボックスにすべてのプロパティを渡し、paypalからの応答を与えることです。api署名とapi id、および各リクエストに対して他のプロパティも含めて秘密を送る必要があります。 –