AutoPay

在線代付


代付-php

<h3>Redirect.php</h3> <pre><code class="language-php">&lt;?php $appId = '999FDGR34DFG34VZKI@SDSDA'; $appKey = 'DFG3423DF214YNRTYDFG34VER'; $notifyUrl = 'http://test.callback.com/callbackApi'; $requestUrl = '请求地址'; $inputData = array( 'appId' =&gt; $appId, 'orderType' =&gt; '1', 'merchOrderNo' =&gt; 'S1234567890123', //商户订单号 'orderDate' =&gt; '20201014124756', //订单提交时间 yyyyMMddHHmmss 'amount' =&gt; '100.00', //提现金额RMB 'accNo' =&gt; '1111222233334444', //银行卡号 'accName' =&gt; '张三', //开户名 'bankId' =&gt; '1', //银行代码 'notifyUrl' =&gt; $notifyUrl, //回调地址,为空则不接受回调 'clientIp' =&gt; '35.23.64.123', //请求者的ip ); $sign = getSign($inputData, $appKey); $inputData['bankBranch'] = '开户分行'; $inputData['province'] = '省'; $inputData['city'] = '市'; $inputData['version'] = 'V1.0'; $inputData['merchRemark'] = '请求备注,回调时后原样返回'; $inputData['signType'] = 'MD5'; $inputData['sign'] = $sign; echo '请求报文:'; print_r($inputData); $result = send_post($requestUrl, $inputData); echo '请求回传:'.$result; function getSign($data, $appKey){ if (!$appKey) { return false; } unset($data['sign']); ksort($data); $dataStr = ''; foreach ($data as $k =&gt; $v) { $dataStr .= $k . '=' . $v . "&amp;"; } $signStr = trim($dataStr, "&amp;") . "&amp;key=". $appKey; echo '待签字串:'.$signStr.'&lt;br&gt;'; $sign = strtoupper(md5($signStr)); echo '签名字串:'.$sign.'&lt;br&gt;'; return $sign; } function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options = array( 'http' =&gt; array( 'method' =&gt; 'POST', 'header' =&gt; 'Content-type:application/x-www-form-urlencoded', 'content' =&gt; $postdata, 'timeout' =&gt; 15 * 60 // 超時時間(單位:s) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; } ?&gt;</code></pre> <h3>Callback.php</h3> <pre><code class="language-php">&lt;?php $appId = '999FDGR34DFG34VZKI@SDSDA'; $appKey = 'DFG3423DF214YNRTYDFG34VER'; $signData = array( 'appId' =&gt; $_POST["appId"], 'orderNo' =&gt; $_POST["orderNo"], 'merchOrderNo' =&gt; $_POST["merchOrderNo"], 'status' =&gt; $_POST["status"], 'amount' =&gt; $_POST["amount"], 'orderDate' =&gt; $_POST["orderDate"] ); $respSign = $_POST['sign']; $merchRemark = $_POST['merchRemark']; $sign = getSign($signData, $appKey); if($sign == $respSign){ exit('AUTOPAY'); }else{ exit('SIGN_ERROR'); } function getSign($data, $appKey) { if (!$appKey) { return false; } unset($data['sign']); ksort($data); $dataStr = ''; foreach ($data as $k =&gt; $v) { $dataStr .= $k . '=' . $v . "&amp;"; } $signStr = trim($dataStr, "&amp;") . "&amp;key=". $appKey; $sign = strtoupper(md5($signStr)); return $sign; } ?&gt;</code></pre>

页面列表

ITEM_HTML