以下是关于 PHP 支付宝开发之 PC 网站支付接入 的详细教程
一、准备工作
-
注册支付宝账号
首先需要有一个支付宝账户,并完成实名认证。 -
申请开放平台账号
登录支付宝开放平台(https://open.alipay.com/),注册并完成商户入驻[^4^]。 -
获取 AppID 和密钥
在开放平台中创建应用,获取 AppID 和商户私钥(RSA2 格式)。同时,从支付宝平台获取支付宝公钥。 -
开发环境配置
确保服务器支持 HTTPS 请求,并正确处理 POST 请求。 -
安装 SDK
使用 Composer 安装支付宝 PHP SDK:bash复制 composer require alipay/alipay-sdk-php
确保 PHP 环境已安装openssl
扩展。
二、配置 SDK
在项目中配置 SDK,填写以下参数:
$config = [
'app_id' => 'your_app_id', // 应用ID
'merchant_private_key' => 'your_private_key', // 商户私钥
'alipay_public_key' => 'alipay_public_key', // 支付宝公钥
'sign_type' => 'RSA2', // 签名方式
'charset' => 'utf-8', // 编码格式
'gateway_url' => 'https://openapi.alipay.com/gateway.do', // 支付宝网关
'return_url' => 'http://yourdomain.com/return_url.php', // 同步通知地址
'notify_url' => 'http://yourdomain.com/notify_url.php', // 异步通知地址
];
三、发起支付请求
-
构建支付请求
使用 SDK 构建支付请求,填写订单信息:php复制 require_once 'vendor/autoload.php'; $aop = new \Alipay\AlipayClient($config); $request = new \Alipay\Request\AlipayTradePagePayRequest(); $request->setBizContent(json_encode([ 'out_trade_no' => 'unique_order_number', // 商户订单号 'total_amount' => '100.00', // 订单金额 'subject' => 'Product Title', // 商品标题 'product_code' => 'FAST_INSTANT_TRADE_PAY', // 销售产品码 ])); $response = $aop->pagePay($request);
-
跳转到支付页面
获取支付链接并重定向用户到支付宝支付页面:php复制 if ($response->isSuccess()) { echo "<script>window.location.href='{$response->getBody()}';</script>"; } else { echo '支付请求失败'; }
四、处理支付结果
-
异步通知处理
支付完成后,支付宝会通过 POST 请求调用notify_url
,发送支付结果通知。在通知接口中验证支付结果:php复制 $notifyData = $_POST; $verifyResult = $aop->verify($notifyData, $config['alipay_public_key']); if ($verifyResult) { // 支付成功,处理业务逻辑(如更新订单状态) echo 'success'; // 必须返回 success 或 fail } else { echo 'fail'; }
-
同步通知处理
用户支付完成后,支付宝会通过 GET 请求调用return_url
,返回同步通知参数。建议仅用于提示用户支付结果,以异步通知为准。
五、注意事项
-
签名验证
异步通知中必须通过验签确保通知是由支付宝发送的。 -
支付结果确认
支付结果应以异步通知或查询接口返回为准,不能依赖同步跳转。 -
测试环境
支持沙箱环境调试,可在支付宝开放平台获取沙箱环境的测试账号和密钥。
通过以上步骤,即可完成 PHP 环境下支付宝 PC 网站支付的接入。