PHP 做支付寶支付介面 總結

2021-06-06 13:38:07 字數 950 閱讀 3496

以前曾寫過一篇關於 paypal 支付介面的文章:,   這兩天做了關於支付寶介面的測試, 看似不太一樣,但支付介面都是一樣的,

其業務邏輯都是:   訂單詳情 -> 提交介面 -> 返回資訊 -> 更新本站訂單資訊  的流程 !

現在寫支付寶介面時也有一些個問題:

1. 攻擊者是否可以通過偽造乙個資料 post 或 get 上來導致訂單狀態被修改呢? 這是第乙個擔心 !

其一  這個問題在支付寶介面裡完美解決的,在 notify_url.php 或 return_url.php 接收資料時,同時也認證了是否從支付寶官方傳來的資訊,這資訊包含了支付寶保密的加密演算法, 這基本上避免了另外的網域名稱或偽造資料攻擊。

其二  如果攻擊都應付 10 元 , 而其在提交過程中將資料進行修改為 1 元, 並支付成功,此時訂單是不能支付成功的,所以為了避免此種攻擊,在 notify 裡最好還是做乙個總**的核對。

2. notify_url.php 模組兒為什麼接收不到資料?

這個問題可能有很多種原因,但可以通過寫日誌的方法來判斷和除錯這個檔案,因為這個檔案是用來接收支付寶傳來的資訊的,所以首先要確認這個頁面在公網可以 訪問,另外裡面不要有任何的 session 和 cookie  的存在, 我遇到的問題卻是,這個頁面只有登入的會員才可訪問,結果讓人除錯了好半天才找到原因所在,因為我自己是登入後操作的,所以這個問題很隱蔽 !

3.  支付寶官方並沒有提供給使用者收貨的介面,那怎麼辦呢?

經過我測試,完全可以通過, 支付介面引導使用者到支付寶上確認收貨,支付寶會通過訂單狀態來引導你做進一步操作的

4.  我的操作已經在本站和支付寶方產生訂單,但沒有付款,現在再本站直接支付會新建乙個新的訂單嗎?

經過我的測試,不會有新訂單產生,只要你站上的訂單號等訂單資訊沒有改變,你傳到支付寶這些資料時,支付寶也會做乙個判斷的,看你的訂單是否已存在,如果存在就是直接轉入支付,否則就是先建立訂單再轉入支付流程 !

php支付寶支付介面引數詳解

service isset get service get service create direct pay by user services array 交易型別 create direct pay by user 即時到賬 create partner trade by buyer 擔保交易 ...

支付寶支付介面開發

1.簡單點說就是呼叫支付寶那邊的介面方法,然後傳遞資料過去,之後會返回乙個是否成功的值,然後你拿到之後判斷就好了 流程說明 以android平台為例 第4步 呼叫支付介面 此訊息就是本介面所描述的開發包提供的支付物件paytask,將商戶簽名後的訂單資訊傳進pay方法喚起支付寶收銀台,訂單格式具體參...

支付寶介面

支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commona...