php实现支付宝接口
支付宝接口集成步骤
在PHP中集成支付宝接口需要完成以下关键步骤:
准备工作
注册支付宝开放平台账号并创建应用,获取必要的密钥信息:APPID、应用私钥、支付宝公钥。确保开发环境已安装PHP的OpenSSL扩展,用于签名验证。
引入官方SDK
下载支付宝官方PHP SDK(可从开放平台获取),解压后将其中的AopSdk.php和相关文件放入项目目录。通过composer安装更便捷:
composer require alipay/alipay-sdk-php
配置支付参数
创建配置文件存储支付宝参数,例如alipay_config.php:
$alipayConfig = [
'app_id' => '你的APPID',
'merchant_private_key' => '应用私钥',
'alipay_public_key' => '支付宝公钥',
'notify_url' => '异步通知地址',
'return_url' => '同步跳转地址',
'charset' => 'UTF-8',
'sign_type' => 'RSA2',
'gateway_url' => 'https://openapi.alipay.com/gateway.do'
];
发起支付请求
构建支付请求并跳转到支付宝收银台:
require_once 'AopSdk.php';
$config = include 'alipay_config.php';
$request = new AlipayTradePagePayRequest();
$request->setReturnUrl($config['return_url']);
$request->setNotifyUrl($config['notify_url']);
$bizContent = [
'out_trade_no' => uniqid(),
'total_amount' => '0.01',
'subject' => '测试订单',
'product_code' => 'FAST_INSTANT_TRADE_PAY'
];
$request->setBizContent(json_encode($bizContent));
$response = $aop->pageExecute($request);
echo $response; // 自动跳转支付页面
处理异步通知
创建接收支付宝异步通知的接口:
$alipayNotify = new AlipayNotify($config);
$verifyResult = $alipayNotify->verifyNotify($_POST);
if ($verifyResult) {
$trade_status = $_POST['trade_status'];
if ($trade_status == 'TRADE_SUCCESS') {
// 处理业务逻辑,如更新订单状态
file_put_contents('notify.log', json_encode($_POST));
echo "success"; // 必须返回success
}
} else {
echo "fail";
}
同步跳转验证
用户支付完成后返回商户页面时的验证:

$alipayNotify = new AlipayNotify($config);
$verifyResult = $alipayNotify->verifyReturn($_GET);
if ($verifyResult) {
echo "支付成功,订单号:" . $_GET['out_trade_no'];
} else {
echo "支付验证失败";
}
注意事项
确保服务器时间与支付宝服务器时间同步,避免签名失效。异步通知和同步跳转的验证逻辑需严格区分,业务处理应放在异步通知中。定期检查支付宝接口更新日志,及时升级SDK版本。生产环境必须使用HTTPS协议,特别是通知地址和返回地址。





