# 交易文档
## 请求地址:
### [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');
}
?>
```
```