php - Paypal Adaptive payment 从 IOS 收到的 Pay key validation

标签 php ios paypal paypal-adaptive-payments

在我们的应用程序中,我们使用 IOS MPL library进行平行支付。当我从 IOS 获得支付 key 后,当我尝试使用 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 Adaptive payment API 创建并行支付,我能够验证 paykey 并获得正确的收据。


我还发现,当我尝试在 PHP 中创建并行支付时,它会要求我提供 App ID、API 用户名、API 密码和 API 签名。但是当我们使用 IOS MPL 库时,它只需要 App ID。在沙盒模式下,我们总是使用相同的 APP ID - APP-80W284485P519543T,这对所有人(通用)都是相同的。那么应用程序如何知道谁打了电话?

当我使用 PHP 应用程序在沙盒模式下创建付款,并尝试使用不同的“API 凭据”验证交易时,我收到相同的错误“您无权获取这些付款详细信息”,我当我们尝试使用 IOS Pay key 时收到。

最佳答案

这是我从 Paypal 收到的回复: 这是通过 MPL sdk 库从发件人的 iPhone 应用程序生成的 AP txn。 api 调用者是发送者。

平行支付的接收方不同。

当其中一位收款人调用paymentdetails api时,他就是此次调用的api调用者。因此,对于 api 调用者可以在 paymentdetails api 中查看哪些信息几乎没有限制。 收款人 a/c 持有人将只能查看他的交易部分,因为他不是创建支付 key 的原始 API 调用者。

这就是为什么在 paymentdetails API 之后,您只能看到交易信息的一部分。


我还询问了 Paypal,MPL 库中是否有一种方法可以定义商家的 API 凭据,可以在进行自适应支付时使用,而不是发送方的 API。他们说不,MPL 库不是那样构建的。


所以最后,我使用IPN调用解决了这个问题。我没有通过验证从 IOS 设备获得的支付 key 来更新数据库,而是:我告诉 IOS 开发人员在自适应支付调用中发送 IPN url。然后通过 IPN url 更新我的数据库。

关于php - Paypal Adaptive payment 从 IOS 收到的 Pay key validation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25368351/

相关文章:

php - Paypal SDK错误 "Credential not found for default user"

amazon - 如何使用 API(例如 PayPal、Amazon、Google Checkout)延迟像 Groupon 这样的信用卡付款?

php - 从管理页面找出用于页面的 Wordpress 模板

php - 调用非对象的成员函数 InnerJoin()

ios - 如何向按钮或 UIView 添加多次点击?

ios - 关于将光标位置放置在空文本字段中的查询

ios - "try?"和 AVAudioPlayer 问题

angular - PayPal Rest API、firebase 函数和 Angular 6 的 CORS 错误

php限制函数调用某些类

php - 在 kohana 3.3 中将默认组设置为 Cache