簡體   English   中英

從IOS收到Paypal自適應付款Pay密鑰驗證

[英]Paypal Adaptive payment Pay key validation received from IOS

在我們的應用程序中,我們使用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 Adaptive Payment API創建並行付款,則可以驗證Paykey並獲得正確的收據。


當我嘗試在PHP中創建並行支付時,我還發現它要求我提供App ID,API用戶名,API密碼和API簽名。 但是,當我們使用IOS MPL庫時,它只要求輸入App ID。 在沙盒模式下,我們始終使用相同的APP ID-APP-80W284485P519543T,這對於所有(通用)都是相同的。 然后,應用程序如何知道識別誰打了電話?

當我使用PHP應用程序在沙盒模式下創建付款,並嘗試使用其他“ API憑據”驗證交易時,會收到相同的錯誤“您無權獲取這些付款詳細信息”,當我們嘗試使用IOS Pay密鑰。

這是我從貝寶(Paypal)獲得的答復:這是通過發件人的iPhone應用程序通過MPL sdk庫制成的AP txn。 api調用者是發送者。

並行支付中的接收者是不同的。

當接收方A / C之一進行PaymentDetails api調用時,他是此調用的api調用者。 因此,對於api調用者可以在paymentdetails api中查看的信息幾乎沒有限制。 由於接收者的A / c持有者不是創建支付密鑰的原始api調用者,因此只能查看其交易記錄。

這就是為什么在使用Paymentdetails API之后,您只能看到交易信息的一部分。


我還問Paypal,MPL庫中是否有一種方法可以定義商人的API憑證,可以在執行自適應支付時代替發送者的API來使用。 他們說不,MPL庫不是那樣構建的。


所以最后,我使用IPN呼叫解決了該問題。 我沒有通過驗證從IOS設備獲得的Pay密鑰來更新數據庫,而是這樣做的:我已告訴IOS開發人員在自適應支付呼叫中發送IPN url。 然后通過IPN url更新數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM