公司網站上訂單的支付,用的是支付寶的即時到賬交易接口。
有支付就有退款,支付寶提供了一個即時到賬有密退款接口。
這個接口主要的數據就是 退款批次號,退款訂單數目,退款訂單詳情。
我們所要做的就是拼數據,請求到支付寶,很簡單很簡單。
主要有一個坑是
退款訂單詳情,支付寶讓我們用#來拼接。
單筆數據集參數說明
- 單筆數據集格式為:第一筆交易退款數據集#第二筆交易退款數據集#第三筆交易退款數據集…#第N筆交易退款數據集;
所以我們最后的鏈接就會是
https://mapi.alipay.com/gateway.do?aa=bb&cc=dd&ee=ff#gg#hh
我們要使用js的encodeURI對這個鏈接進行一個編碼,
但是編碼之后,"#"還是存在的,請求支付寶就會報錯。
支付寶提供的樣例中是post表單提交的,看到請求中的#號會被編碼成%23,
其他的跟我用encodeURI編碼后的都一樣。
所以需要把鏈接中的#號都先替換成%23,再去請求支付寶,就能跳轉到支付寶的退款頁面了。