以下是一个简单的PHP扫码支付实例,我们将使用微信支付API进行演示。请注意,实际应用中需要替换成自己的API密钥和商户ID。
1. 准备工作
- 确保你的服务器支持PHP和cURL。
- 在微信支付商户平台注册并获取商户ID、API密钥和AppID。
2. 创建支付订单
```php

// 微信支付商户ID
$merchantId = 'YOUR_MERCHANT_ID';
// 微信支付API密钥
$apiKey = 'YOUR_API_KEY';
// 微信支付AppID
$appId = 'YOUR_APP_ID';
// 订单信息
$orderInfo = [
'body' => '商品描述',
'out_trade_no' => '订单号',
'total_fee' => '订单金额(分)',
'spbill_create_ip' => '服务器IP地址',
'notify_url' => '通知URL',
];
// 生成签名
function createSign($params, $key) {
ksort($params);
$str = '';
foreach ($params as $k => $v) {
if ($k != 'sign' && $v != '') {
$str .= $k . '=' . $v . '&';
}
}
$str .= 'key=' . $key;
return md5($str);
}
// 创建订单
function createOrder($orderInfo, $merchantId, $apiKey, $appId) {
$params = [
'appid' => $appId,
'mch_id' => $merchantId,
'nonce_str' => uniqid(),
'body' => $orderInfo['body'],
'out_trade_no' => $orderInfo['out_trade_no'],
'total_fee' => $orderInfo['total_fee'],
'spbill_create_ip' => $orderInfo['spbill_create_ip'],
'notify_url' => $orderInfo['notify_url'],
'trade_type' => 'NATIVE',
];
$params['sign'] = createSign($params, $apiKey);
$url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
$result = curlPost($url, json_encode($params));
return json_decode($result, true);
}
// cURL POST请求
function curlPost($url, $data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// 调用创建订单函数
$order = createOrder($orderInfo, $merchantId, $apiKey, $appId);
>
```
3. 生成二维码
```php
// 二维码生成
function createQrCode($codeUrl) {
$path = './qrcode.png';
$file = fopen($path, "



