【问题标题】:Check out with Pay-Pal reset the connection使用 Paypal 结帐重置连接
【发布时间】:2016-12-24 13:39:57
【问题描述】:

我有一个使用贝宝结账的网络应用。几天前它运行良好。现在,我尝试进行结帐,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>

一个月前,我将安全协议类型从 Tls 更改为 Tls1.2。我进行更改时的测试没问题,但知道不起作用。我追踪了与 Wireshark 的连接,我从沙盒 Paypal (173.0.82.78) 获得了

443 → 60191 [RST, ACK] Seq=4163 Ack=2365 Win=0 Len=0

有什么想法吗?

谢谢。对不起我的英语。如果你有什么不明白的地方,不要犹豫,问我什么。

【问题讨论】:

    标签: paypal tcp-ip


    【解决方案1】:

    paypal 提供的许多 API 取决于您所在的位置。 请首先检查您所在国家/地区是否支持其余 api。 转至http://developer.paypal.com 这是最大的文档和使用 paypal api 的指南,我认为快速付款最适合您,它将连接到 paypal 站点,并且结帐将在非常安全的地方完成。文档和 api 属性记录在 paypal 网站上,并提供了非常有用的示例。 您必须使用查询字符串将您的请求发送到此网址 https://api.sandbox.paypal.com/2.0/ 。 您必须发送的属性可以在 paypal 网站 express checkout api rest 上找到。 祝你好运

    【讨论】:

    • 该 api 在我的国家和美国支持,我通过代理进行测试。我再次阅读了 api 文档,并且 xml 格式正确。我正在发送正确的用户、密码和证书,但由于任何原因,贝宝关闭了连接。去年六月,同样的代码运行良好。
    • 更简单的方法是使用查询字符串将您的所有属性传递给贝宝沙箱并从贝宝给出响应,您必须为每个请求发送 api 签名和 api id 以及其他属性的秘密。
    猜你喜欢
    • 1970-01-01
    • 2011-05-10
    • 2020-06-26
    • 2021-12-16
    • 2014-04-25
    • 2011-12-13
    • 2016-11-29
    • 2017-03-25
    • 1970-01-01
    相关资源
    最近更新 更多