我有一个使用 Paypal 结账的网络应用程序。几天前它运行良好。现在,我尝试结账,Paypal 重置了连接。我正在使用沙盒帐户,将请求发送到 https://api.sandbox.paypal.com/2.0/ 。我有来自 Paypal 的有效证书。我的 XML 请求是:
<?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>some@email.com</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>
一个月前,我将安全协议(protocol)类型从 Tls 更改为 Tls1.2。我进行更改时的测试没问题,但知道行不通。我跟踪了与 Wireshark 的连接,我从 sandbox Paypal (173.0.82.78) 获得了
443 → 60191 [RST, ACK] Seq=4163 Ack=2365 Win=0 Len=0
有什么想法吗?
谢谢。对不起我的英语。如果您因此有什么不明白,请随时问我。
最佳答案
paypal 提供的api 有很多,具体取决于您所在的位置。 请首先检查您所在国家/地区是否支持 rest api。 转到 http://developer.paypal.com这是使用 paypal api 的最大文档和指南,我认为快速付款最适合您,它将连接到 paypal 网站,结帐将在真正安全的地方完成。文档和 api 属性记录在 paypal 网站上,其中包含非常有用的示例。 您必须使用查询字符串将您的请求发送到此 url https://api.sandbox.paypal.com/2.0/ . 您必须发送的属性可以在 paypal 网站 express checkout api rest 上找到。 祝你好运
关于paypal - 使用 Paypal 结帐重置连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39004390/