如何从transactionId获取payKey?

9

我一直在使用PayPal的IPN接收和处理付款,将transactionId作为参考存储。

现在需要能够通过我正在开发的系统退款,这就是困难所在。

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

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作为交易ID发送并且起作用,但是我收到了以下响应:

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

And here is the content

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

To

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

你能分享一下你的NVP字符串吗?请确保清除掉凭证。我使用API从我开发的系统中发出退款(不使用他们的SDK),我也使用transactionID。 - Chris Baker
我认为我已将您要求的内容添加到了主帖中。 - Matt Votsikas McLean
我们来了,内容 :) - Chris Baker
哈,是的,它正在进行中。 - Matt Votsikas McLean
3个回答

2
我有一个建议:
我假设你已经在数据库中保存了所有的交易ID,
遍历所有记录,获取交易ID,通过交易ID获取支付密钥,并更新相关订单,
那么你就可以获得单个记录的交易和支付密钥值。

是的,我正在努力弄清楚如何从交易ID中获取payKey。谢谢。 - Matt Votsikas McLean
请查阅此文档:https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/ipnguide.pdf - Muhammad

1

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接