php实现支付宝支付
支付宝支付集成步骤
准备工作 在开始集成支付宝支付前,确保已注册支付宝开放平台账号并完成企业实名认证。创建应用后获取APPID、应用私钥和支付宝公钥。
配置支付宝SDK 通过Composer安装支付宝官方SDK:
composer require alipay/easysdk
初始化支付宝客户端
use Alipay\EasySDK\Kernel\Config;
use Alipay\EasySDK\Kernel\Factory;
$options = new Config();
$options->protocol = 'https';
$options->gatewayHost = 'openapi.alipay.com';
$options->signType = 'RSA2';
$options->appId = '你的APPID';
$options->merchantPrivateKey = '应用私钥';
$options->alipayPublicKey = '支付宝公钥';
Factory::setOptions($options);
创建支付订单 使用电脑网站支付示例:
try {
$result = Factory::payment()->page()->pay(
'订单标题',
'商户订单号',
'订单金额',
'https://回调地址'
);
header("Location: " . $result->body);
} catch (Exception $e) {
echo $e->getMessage();
}
异步通知处理 配置支付宝异步通知接收地址后,验证签名并处理业务逻辑:
$request = $_POST;
try {
$verified = Factory::payment()->common()->verifyNotify($request);
if ($verified && $request['trade_status'] == 'TRADE_SUCCESS') {
// 处理订单逻辑
echo 'success'; // 必须返回success
} else {
echo 'fail';
}
} catch (Exception $e) {
echo 'fail';
}
订单查询 需要查询订单状态时:
$result = Factory::payment()->common()->query('商户订单号');
if ($result->code == '10000' && $result->tradeStatus == 'TRADE_SUCCESS') {
// 订单支付成功
}
注意事项
- 金额单位为元,支持两位小数
- 商户订单号需保证唯一性
- 生产环境必须使用HTTPS协议
- 异步通知处理需做幂等性设计
- 定期对账确保交易一致性
调试与测试
沙箱环境可用于测试,配置时需替换以下参数:
- 网关地址:openapi.alipaydev.com
- 使用沙箱APPID和对应密钥
- 沙箱账号需在支付宝开放平台获取测试用买家账号
完成开发后提交应用审核,审核通过即可上线使用。建议阅读支付宝官方文档获取最新接口变更信息。







