完整的支付接入演示,体验金额 ¥1.00
// ===== 收款侠支付接入示例 ===== // 1. 配置参数 $appId = '202640816'; $apiKey = 'your_apikey'; // 从后台获取 $apiUrl = 'https://shoukuanxia.com/api/pay.php'; // 2. 构建订单参数 $params = [ 'app_id' => $appId, 'order_no' => 'ORD' . date('YmdHis') . mt_rand(10000, 99999), 'pay_type' => 1, // 1=支付宝 2=微信 'amount' => '1.00', // 无需设置回调地址,创建订单后轮询查询状态即可 ]; // 3. 生成签名 function generateSign($params, $apiKey) { ksort($params); $str = ''; foreach ($params as $k => $v) { if ($v !== '' && $k !== 'sign') { $str .= $k . '=' . $v . '&'; } } $str .= 'apikey=' . $apiKey; return md5($str); } $params['sign'] = generateSign($params, $apiKey); // 4. 发送请求创建订单 $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $apiUrl, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($params), CURLOPT_RETURNTRANSFER => true, ]); $response = curl_exec($ch); curl_close($ch); // 5. 解析结果 → 展示二维码给用户扫码支付 $data = json_decode($response, true); if ($data['code'] == 200) { // 成功:$data['data']['pay_url'] → 支付页面URL // $data['data']['qrcode_url'] → 收款二维码URL // $data['data']['trade_no'] → 平台订单号 echo '订单创建成功,请扫码支付'; }
// ===== 轮询查询订单状态 ===== // 无需配置回调地址,创建订单后定期查询订单状态即可 $orderNo = $data['order_no']; // 创建订单时返回的订单号 $queryUrl = 'https://shoukuanxia.com/api/api/check_order.php'; // 每 2 秒轮询一次,最多轮询 5 分钟(150 次) for ($i = 0; $i < 150; $i++) { $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $queryUrl . '?order_no=' . $orderNo, CURLOPT_RETURNTRANSFER => true, ]); $res = json_decode(curl_exec($ch), true); curl_close($ch); if ($res['data']['status'] == 1) { // 订单已支付,执行业务逻辑 // $db->update('orders', ['status' => 1], ['order_no' => $orderNo]); break; } sleep(2); // 等待 2 秒后继续查询 }