銀聯支付參考http://www.cnblogs.com/clc2008/archive/2012/03/01/2375294.html
銀聯退款糾結了我兩個晚上。。。由於 拿到文檔不是完整開發文檔。。網上又沒有參考資料
這里主要是調用銀聯的signData(MerId,value)這個方法..value 拼接如下:
value = MerID+TransDate+TransType+OrderId+RefundAmount+Priv1
成功應答格式為(注意大小寫):
ResponseCode=value0&MerID=value1&ProcessDate=value2&SendTime=value9&TransType=value3&OrderId=value4&RefundAmout=value5&Status=value6&Priv1= value7&CheckValue=value8 |
失敗應答格式為(注意大小寫):
ResponseCode=value0&Message=message_string |
說明:
通過ResponseCode可以判斷是否進行后續的簽名驗證。當ResponseCode的值為0時后續的字段需要參與簽名驗證后才能表示交易處理成功,失敗時ResponseCode為其它錯誤碼(見附錄B的查詢,單筆退款錯誤代碼章節)。
成功應答各域段名稱含義:
ResponseCode : 應答碼,通常為0 (當為0時,后續會有域段數據反饋回來,需要驗證信息的簽名)
MerID:商戶代碼 (15位數字)
ProcessDate: CP的處理日期 (8位數字)
SendTime: CP發送該應答時間(該域段不參與數字簽名) (6位數字,格式hhmmss)
TransType:交易類型(4位數字)
OrderId:原始訂單號 (16位數字)
RefundAmout:退款金額 (12位數字)
Status:該筆退款狀態 (內容見下表)(1位數字字符)
1 |
退款提交成功 |
3 |
退款成功 |
8 |
退款失敗 |
Priv1: 商戶私有域 (最長40位字符)
Checkvalue:簽名驗證(256位字符)
失敗應答各域段名稱含義:
ResponseCode : 應答碼 (失敗應答為3位數字)
Message:應答碼的中文含義
最后附上比較完整的開發文檔:
http://files.cnblogs.com/xxtkong/netpayClient.rar