1. 支付接口.... 2瀏覽器
1.1. 支付請求參數... 2測試
1.2. 支付返回參數... 3編碼
2. 退款接口.... 4spa
1.3. 退款請求參數... 4orm
1.4. 退款返回參數... 4blog
3. 查詢接口.... 5接口
1.5. 查詢請求參數... 5ip
1.6. 查詢返回參數... 5ci
基本參數說明,以下:字符串
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
必填,由支付平臺提供,如:100000 |
TransactionID |
客戶端流水號 |
必填,40位長度,商戶提交的客戶端流水號必須惟一 |
OrderID |
商戶訂單號 |
必填,50位長度 |
Amount |
交易金額 |
必填,實際交易金額,正數(小數只能保留2位),如:1234.56 |
CurrencyCode |
幣種代碼 |
必填,CNY人民幣/USD美圓 |
ReturnUrl |
支付完成跳轉地址 |
選填,200位長度 瀏覽器重定向到的頁面 |
NotifyUrl |
後臺通知的地址 |
選填,200位長度 支付成功,後臺主動通知的地址 |
Description |
商品描述 |
選填,500位長度 |
PaymentCatalog |
支付類別 |
選填,500位長度,以「,」分隔,爲空則顯示全部支付類別,按照設置的順序顯示,如「1,2,3」 |
PaymentWay |
支付方式 |
選填,500位長度,以「,」分隔,爲空則顯示全部支付方式,按照設置的順序顯示,如「ICBC,CCB,PayPal」 |
MerchantData |
商戶私有信息 |
選填,500位長度,原樣返回 |
Language |
語言 |
必填,ZH簡體中文,HK繁體中文,EN英文 |
UserID |
用戶標識 |
必填,100位長度,用戶在商戶站點註冊的帳戶標識 |
UserName |
用戶名稱 |
必填,100位長度,用戶在商戶站點註冊的帳戶名稱 |
Sign |
簽名 |
必填,32位長度 |
生成簽名的步驟:
1) 使用&鏈接各參數名稱/值對,最終格式示例以下:
MerchantID=000001&TransactionID=1234567890&OrderID=1234567890
&Amount=1234.56&CurrencyCode=CNY
&ReturnUrl=http://xxx/MerchantDemo/PayReturn.aspx
&NotifyUrl=http://xxx/MerchantDemo/PayNotify.aspx
&Description=絢麗奪目的Retina 顯示屏&PaymentCatalog=1,2,3&PaymentWay=
&MerchantData=test&Language=ZH&UserID=testuser&UserName=測試用戶
2) 調用在線支付平臺公共方法(.NET)SecurityUtil.CreateSign生成簽名
商戶站點以POST方式將支付請求發送到在線支付平臺,FORM表單示例以下:
<form name="sendOrder" method="POST" action="http://xxx/Gateway/Pay.aspx">
<input type="hidden" name="MerchantID" value="000001"/>
<input type="hidden" name="TransactionID" value="1234567890"/>
<input type="hidden" name="OrderID" value="1234567890"/>
<input type="hidden" name="Amount" value="1234.56"/>
<input type="hidden" name="CurrencyCode" value="CNY"/>
<input type="hidden" name="ReturnUrl" value="http://xxx/MerchantDemo/PayReturn.aspx"/>
<input type="hidden" name="NotifyUrl" value="http://xxx/MerchantDemo/PayNotify.aspx"/>
<input type="hidden" name="Description" value="絢麗奪目的Retina 顯示屏"/>
<input type="hidden" name="PaymentCatalog" value="1,2,3"/>
<input type="hidden" name="PaymentWay" value=""/>
<input type="hidden" name="MerchantData" value="test"/>
<input type="hidden" name="Language" value="ZH"/>
<input type="hidden" name="UserID" value="testuser"/>
<input type="hidden" name="UserName" value="testuser"/>
<input type="hidden" name="Sign" value="FC8A5AA8D05A5DF5C7AB2C245212EB2C"/>
</form>
支付返回參數說明,以下:
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
原樣返回 |
TransactionID |
客戶端流水號 |
原樣返回 |
OrderID |
商戶訂單號 |
原樣返回 |
Amount |
訂單金額 |
原樣返回 |
CurrencyCode |
幣種代碼 |
原樣返回 |
PaymentRequestID |
支付平臺流水號 |
|
MerchantData |
商戶私有信息 |
原樣返回 |
PaymentCatalog |
支付類別 |
原樣返回 |
PaymentWay |
支付方式 |
原樣返回 |
Status |
支付狀態信息 |
Y(成功)/ N(失敗) |
Result |
結果描述 |
當失敗時,爲失敗的描述信息 |
UserID |
用戶標識 |
原樣返回 |
UserName |
用戶名稱 |
原樣返回 |
Sign |
簽名 |
必填,32位長度 |
支付結果信息會按照必定的規律發送到商戶站點指定的後臺通知的地址(經過 POST 方式發送),直到達到指定次數或者商戶站點返回成功信息「Y」給在線支付平臺。
使用&鏈接各返回參數名稱/值對,最終格式示例以下:
MerchantID=000001&TransactionID=1234567890&OrderID=1234567890&Amount=1234.56
&CurrencyCode=CNY&PaymentRequestID=000001101128093059000001
&MerchantData=test&PaymentCatalog=1,2,3&PaymentWay=&Status=Y
&Result=支付成功!&UserID=testuser&UserName=測試用戶
而後使用商戶密鑰進行簽名,並生成FORM表單。
在線支付平臺經過POST方式發送支付結果信息到商戶站點,FORM表單示例以下:
<form name="sendOrder" method="POST" action="http://xxx/MerchantDemo/PayNotify.aspx」/>
<input type="hidden" name="MerchantID" value="000001」/>
<input type="hidden" name="TransactionID" value="1234567890」/>
<input type="hidden" name="OrderID" value="1234567890」/>
<input type="hidden" name="Amount" value="1234.56」/>
<input type="hidden" name="CurrencyCode" value="CNY」/>
<input type="hidden" name="PaymentRequestID" value="000001101128093059000001」/>
<input type="hidden" name="MerchantData" value="test」/>
<input type="hidden" name="PaymentCatalog" value="1,2,3」/>
<input type="hidden" name="PaymentWay" value="」/>
<input type="hidden" name="Status" value="Y」/>
<input type="hidden" name="Result" value="支付成功!」/>
<input type="hidden" name="UserID" value="testuser」/>
<input type="hidden" name="UserName" value="testuser"/>
<input type="hidden" name="Sign" value="8CCC53AD8FC4F376E1055A049AE2C87F」/>
</form>
商戶站點調用在線支付平臺提供的方法(.NET)SecurityUtil.VerifySign驗證簽名,並檢查訂單號是否已處理,幣種、金額等是否與原始訂單一致等,而後進行後續處理。
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
|
TransactionID |
客戶端流水號 |
|
RefundAmount |
退款金額 |
|
CurrencyCode |
幣種代碼 |
|
RefundReason |
退款說明 |
|
Sign |
簽名 |
|
回覆正文一行一項,格式爲參數名稱/值對(key=value),其中value 是 URL 編碼的字符串。須要對此回覆數據進行適當解析,而後進行 URL解碼。
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
|
TransactionID |
客戶端流水號 |
|
RefundAmount |
退款金額 |
|
CurrencyCode |
幣種代碼 |
|
Status |
返回結果 |
0(失敗)/ 1(成功) |
Result |
結果描述 |
|
Sign |
簽名 |
|
有兩種方式進行查詢:按日期段查詢、按訂單號查詢。
按日期段查詢參數,將對查詢結果進行分頁, 每頁50條記錄:
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
|
BeginDate |
開始日期 |
|
EndDate |
結束日期 |
|
PageIndex |
當前頁 |
從0開始 |
Sign |
簽名 |
|
按訂單號查詢參數:
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
|
TransactionID |
客戶端流水號 |
|
Sign |
簽名 |
|
回覆正文一行一項,格式爲參數名稱/值對(key=value),其中value 是 URL 編碼的字符串。須要對此回覆數據進行適當解析,而後進行 URL解碼。
按日期段查詢返回參數:
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
|
ResultData |
結果數據 |
JSON格式 |
Sign |
簽名 |
|
按訂單號查詢返回參數:
參數 |
名稱 |
說明 |
MerchantID |
商戶編號 |
|
TransactionID |
客戶端流水號 |
|
OrderID |
商戶訂單號 |
|
Amount |
訂單金額 |
|
CurrencyCode |
幣種代碼 |
|
PaymentRequestID |
支付平臺流水號 |
|
Description |
商品描述 |
|
PaymentCatalog |
支付類別 |
|
PaymentWay |
支付方式 |
|
MerchantData |
商戶私有信息 |
|
Status |
狀態 |
0(未支付)/ 1(已支付) |
RefundAmount |
已退款金額 |
|
UserID |
用戶標識 |
|
UserName |
用戶名稱 |
|
Sign |
簽名 |