以下是一个简单的PHP扫码支付实例,我们将使用微信支付API进行演示。请注意,实际应用中需要替换成自己的API密钥和商户ID。

1. 准备工作

  • 确保你的服务器支持PHP和cURL。
  • 在微信支付商户平台注册并获取商户ID、API密钥和AppID。

2. 创建支付订单

```php

实例php扫码支付,实例PHP扫码支付实现步骤详解  第1张

// 微信支付商户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, "