在我们的应用程序中,我们使用IOS MPL库进行并行支付。当我从IOS获得支付键后,当我尝试使用PHP应用程序验证它时,它会显示以下错误:
[error] => Array
(
[0] => ErrorData Object
(
[errorId] => 540031
[domain] => PLATFORM
[subdomain] => Application
[severity] => Error
[category] => Application
[message] => You do not have permission to get these payment details
[exceptionId] =>
[parameter] =>
)
)但是,如果我使用PHP自适应支付API创建了一个并行支付,我就能够验证支付键并获得正确的收据。
我还发现,当我尝试在PHP中创建并行支付时,它要求我提供App、API用户名、API密码和API签名。在沙箱模式下,我们总是使用相同的应用ID -- APP-80W284485P519543T,这对所有人来说都是一样的(通用的)。那么,应用程序如何知道是谁打的电话呢?
当我使用PHP应用程序在沙箱模式下创建支付,并尝试使用不同的"API凭据“验证事务时,我将得到”您没有权限获取这些支付详细信息“的相同错误,这是在我们尝试使用IOS支付键时收到的。
发布于 2014-08-29 11:41:37
以下是我从Paypal获得的回复:这是通过MPL库从发件人的iPhone应用程序中生成的app。api调用方是发送方。
并行支付中的接收者是不同的。
当接收方a/c进行paymentdetails api调用时,他就是该调用的api调用者。因此,api调用者可以在paymentdetails api中查看什么信息几乎没有限制。接收方a/c持有者将只能查看他的交易腿,因为他不是创建支付密钥的最初api调用者。
这就是为什么在paymentdetails API之后,您只能看到事务信息的分支。
我还问Paypal,在MPL库中是否有一种方法来定义商人的API凭证,它可以在进行自适应支付时使用,而不是发送者的API。他们说不,MPL库不是那样建的。
最后,我用IPN调用来解决这个问题。我没有通过验证从IOS设备获得的支付键来更新DB,而是告诉IOS开发人员在Adaptive中发送IPN url。然后通过IPN url更新我的数据库。
https://stackoverflow.com/questions/25368351
复制相似问题