這幾天從官網下了電腦支付的案例來嘗試,但是老是驗證簽名失敗!
demo的結構是
根據官方提示的,配置好沙盒環境,我認為主要出錯的是配置RSA2的公匙,這個根據支付寶官網下載的工具生成2048的公匙和私匙。
應用公匙就是左邊的 “查看應用公匙”,配置好會自動生成支付寶公匙!
然后就在demo配置javaConfig。
這里需要注意配置支付寶公匙,不要配成應用公匙!!!!!
notify_url這個頁面是支付寶主動訪問的,所有需要natapp來內網穿透,這是官網上截取的。
最后注意的點是:沙盒環境下的網關與正式環境下不一樣。
但是這樣我雖然異步通知收到了但是老是sdk驗證失敗!
后來把valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");注釋才驗證成功的!
return_url是支付成功的返回頁,notify_url是異步通知,哪為什么官方的demo的異步通知讓我們驗證成功后做業務處理,不能放在返回頁嗎?
查了網上的資料,人可以使之在沒有跳轉回來之前就關掉了該頁面,此時如果是在return_url處理,就沒有業務處理了,這樣直接導致了掉單。