# 交易文檔
## 請求地址:
### [https://api.yijiezhifu.com/Pay.html](https://api.yijiezhifu.com/Pay.html)
## 請求類型:
POST
## 請求參數:
變量名稱參數名稱是否必填是否參與簽名參數說明version版本號是是固定值:1.0.0memberid商戶號是是系統分配的商戶編號,例如:10001orderid商戶訂單號是是商戶訂單號,長度32個字符以內,只許包含大小寫英文字母、數字和下劃線(\_)amount訂單金額是是交易訂單金額,單位:分orderdatetime訂單提交時間是是格式:YYYY-mm-dd HH:ii:ss 例如:2020-02-02 20:20:20paytype通道編碼是是詳細請見 :[通道/銀行編碼表]notifyurl異步回調地址是是支付成功后系統異步回調商戶的地址callbackurl同步跳轉地址否否支付成功后系統同步跳轉商戶的地址extend擴展字段否否異步回調/同步跳轉時會原值返回signmethod簽名類型是是固定值: md5signmd5簽名是否請看[簽名算法]- - - - - -
**交易請求Demo(php代碼示例,其它編程語言僅供參考)**
- - - - - -
```
<pre class="calibre19">```php
<?php
$ArrayField = [
'version' => '1.0.0',
'memberid' => '10001',
'orderid' => "1000120200202202020",
'amount' => '100',
'orderdatetime' => "",
'notifyurl' => 'http://xxx.xxx.com/notifyurl.php',
'paytype' => 'WXGZH',
'signmethod' => 'md5',
];
ksort($ArrayField); //按照參數名ASCII碼從小到大排序
$md5key = '2JXQBG13TAUNKRYVME'; //md5密鑰
$stringA = "";
foreach($ArrayField as $key => $value){
$stringA .= $key."=".$value."&";
}
$stringA = substr($stringA,0,-1); //去掉最后一個 & 字符
$ArrayField["sign"] = strtoupper(md5($stringA.$md5key)); //拼接密鑰后,md5加密后轉為大寫
$tjurl = 'http://main.lanmaopay.cn/Pay.html';
$str = '<form id="Form1" name="Form1" method="post" action="' . $tjurl . '">';
foreach ($ArrayField as $key => $val) {
$str = $str . $key . ':' . $val . '<br /><input type="hidden" name="' . $key . '" value="' . $val . '">';
}
$str = $str . '<input type="submit" value="submit">';
$str = $str . '</form>';
$str = $str . '<script>';
$str = $str . 'document.Form1.submit();';
$str = $str . '</script>';
echo($str);
?>
```
```
## 回調參數
異步回調和同步跳轉都是POST,參數都是一樣的。
如果接收到系統異步回調時,在頁面輸出“OK”(沒有雙引號,OK 兩個字母大寫),否則會不定時重復發起回調請求。
變量名稱參數名稱是否參與簽名參數說明version版本號是固定值:1.0.0memberid商戶號是系統分配的商戶編號,例如:10001amount訂單金額是訂單提交的金額,單位:分true\_amount實際支付金額是實際支付金額,單位:分。注:有時系統可能會對提交的整數金額隨機加上一個幾分錢的零頭,所以可能會出現訂單金額與實際支付金額不一樣的情況,絕大部分情況下這兩個金額是一致的amount\_trade交易手續費是當前訂單扣除的手續費,單位:分orderid商戶訂單號是商戶提交給系統的訂單號sysorderid系統訂單號是系統生成的內部訂單號submitime提交時間是訂單提交建立的時間。格式:YYYY-mm-dd HH:ii:ss 例如:2020-02-02 20:20:20successtime交易成功時間是訂單交易成功的時間。格式:YYYY-mm-dd HH:ii:ss 例如:2020-02-02 20:20:20tongdao交易通道編碼是詳細請見 :[通道/銀行編碼表]status訂單關狀態是success 成功,error 失敗signmethod簽名類型是固定值:md5extend擴展字段如果存在此參數就參與簽名原值返回提交時的extend 字段的值signmd5簽名否請看[簽名算法]- - - - - -
**回調Demo(php代碼示例,其它編程語言僅供參考)**
- - - - - -
> 建議在收到回調,驗簽通過且狀態為成功時,再調取[查詢接口]查詢一下訂單的狀態是否真的為成功后,再來處理自己的業務邏輯
```
<pre class="calibre20">```php
<?php
$ArrayField = $_POST;
$sign = $ArrayField["sign"];
unset($ArrayField["sign"]);
$md5key = '2JXQBG13TAUNKRYVME'; //密鑰
ksort($ArrayField); //按照參數名ASCII碼從小到大排序
$stringA = "";
foreach($ArrayField as $key => $value){
$stringA .= $key."=".$value."&";
}
$stringA = substr($stringA,0,-1); //去掉最后一個 & 字符
$signValue = strtoupper(md5($stringA.$md5key)); //拼接密鑰后,md5加密后轉為大寫
if($signValue == $sign and $ArrayField["status"] == "success"){
//建議在收到回調,驗簽通過且狀態為成功時,再調查詢接口查詢一下訂單的狀態是否正的為成功后,再來處理自己的業務邏輯
// 交易成功后的業務邏輯處理
exit('OK');
}
?>
```
```