9

我一直在使用 PayPals IPN 来接收和处理付款,并将 transactionId 存储为参考。

是时候通过我正在开发的系统退还付款了,这就是斗争。

GetPaymentDetails.php在更新的 PHP SDK 中使用将 transactionId 输入示例的 payKey 字段时,使用正确的身份验证详细信息和应用程序 ID,我得到:

Error ID: 580022
Domain: PLATFORM
Severity: Error
Category: Application
Message: Invalid request parameter: payKey with value [REMOVED (transactionId)]
Parameter: Array

这是可以理解的,因为它需要一个 payKey。现在,我可以根据规范将其更改为$pdRequest->payKey = $payKey;$pdRequest->transactionId = $payKey;这现在应该将 transactionId 作为 transactionId 发送并工作,但我得到了这个回应:

Error ID: 520002
Domain: PLATFORM
Severity: Error
Category: Application
Message: Internal Error

好的,所以有些东西坏了。我怀疑他们现在不允许将 transactionId 用作参考,并且没有更新他们的文档(典型)。我怀疑这是因为我使用的原始 SDK 包含一个 transactionId 字段,以及 trackingId 和另一个标识符。但是现在更新的 SDK 只要求 payKey。

现在我被困住了。我收集了数千个实时 transactionId。你知道我如何为每笔交易获得一个 payKey,或者解决原来的问题吗?

谢谢

更多信息:

以下是发送的 HTTP 标头:

X-PAYPAL-SECURITY-SIGNATURE: [removed]
X-PAYPAL-SECURITY-USERID: [removed]
X-PAYPAL-SECURITY-PASSWORD: [removed]
X-PAYPAL-APPLICATION-ID: [removed]
X-PAYPAL-REQUEST-SOURCE: PHP_SOAP_SDK_V1.4
X-PAYPAL-DEVICE-IPADDRESS: 127.0.0.1
X-PAYPAL-MESSAGE-PROTOCOL: SOAP11
X-PAYPAL-REQUEST-SOURCE: PHP_SOAP_SDK_V1.4

这是内容

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body><PaymentDetailsRequest>
    <requestEnvelope>
        <errorLanguage>en_US</errorLanguage>
    </requestEnvelope>
    <transactionId>[removed]</transactionId>
</PaymentDetailsRequest></soap:Body>
</soap:Envelope>

https://svcs.paypal.com/AdaptivePayments/PaymentDetails
4

3 回答 3

2

我有一个建议:

我想您已将所有事务 ID 保存在数据库中,

循环所有记录,获取交易ID,通过交易ID获取paykey并更新相关订单,

那么您可以将交易和支付密钥值放在一条记录中。

于 2013-04-09T12:23:33.643 回答
1

在使用PaymentDetails API Operation时使用现有的跟踪 ID 。payKey 和其他有关付款的信息作为响应返回。

于 2013-04-11T08:10:25.870 回答
1

paypal官方网站上已经有资源了。这是文档的链接 https://cms.paypal.com/mx/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_APPaymentDetails

它声明您可以传递 payKey 或 transactionID。两者都作为响应返回,因此您可以获得 payKey 和 transactionID。

如果您在使用 api 时遇到任何问题,可以在此处找到 paypal API 入门教程http://coding.smashingmagazine.com/2011/09/05/getting-started-with-the-paypal-api/

于 2013-04-09T11:54:40.073 回答