2016-08-17 19 views
1

私は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 

から任意のアイデアを得ましたか。

ありがとうございました。申し訳ありません私の英語。あなたが何かを理解していないなら、それは私に何かを依頼するのをためらってください。

答えて

1

あなたの場所によってpaypalによって提供される多くのapisがあります。 まず、あなたの国で残りのAPIがサポートされているかどうかを確認してください。 http://developer.paypal.comにアクセスしてください。paypal apisを使用するための最大のドキュメントとガイドです。私はエクスプレス支払いがあなたのために最適であると思っています。Paypalサイトに接続し、チェックアウトは本当に安全な場所で行われます。ドキュメントとAPIのプロパティは、実際の例を使ってpaypalのWebサイトに記載されています。 このURLにクエリ文字列を使用してリクエストを送信する必要がありますhttps://api.sandbox.paypal.com/2.0/。 送信しなければならないプロパティは、PaypalウェブサイトエクスプレスチェックアウトAPIの休憩で見つけることができます。 Good Luck

+0

私の国と米国では、私がプロキシ経由でテストを行っています。私は再びAPIのドキュメントを読んで、XMLはうまく構成されています。私は正しいユーザー、パスワード、証明書を送信していますが、何らかの理由でpaypalが接続を閉じます。同じコードが昨年6月にうまくいきました。 –

+0

簡単な方法は、クエリ文字列を使用してpaypalサンドボックスにすべてのプロパティを渡し、paypalからの応答を与えることです。api署名とapi id、および各リクエストに対して他のプロパティも含めて秘密を送る必要があります。 –

関連する問題