教程概述
本教程将详细讲解如何为自己的网站接入易支付,实现网站收款功能。无论你是技术小白还是有经验的开发者,都能通过本教程完成支付接入。
第一部分:前期准备
1.1 注册易支付账号
首先需要在易支付平台注册一个商户账号:
- 访问易支付平台官网
- 点击注册,填写手机号、密码等信息
- 完成邮箱或手机验证
- 登录后台,完善商户信息
1.2 获取商户配置
登录后台后,在API设置或个人信息页面获取:
- 商户ID(PID):你的商户唯一标识
- 商户密钥(KEY):用于接口签名验证,请妥善保管
- 接口地址:发起支付的网关地址
第二部分:网站端开发
2.1 创建支付页面
在网站中创建一个支付表单页面:
<form action="do_pay.php" method="post">
商品名称:<input type="text" name="name" value="会员服务"><br>
金额(元):<input type="number" name="amount" step="0.01" value="10"><br>
<button type="submit">立即支付</button>
</form>
2.2 创建支付处理页面
创建do_pay.php处理支付请求:
<?php
require_once("pay_function.php");
$name = $_POST["name"];
$amount = $_POST["amount"];
// 生成订单号
$order_no = "ORD" . date("YmdHis") . rand(1000,9999);
// 保存订单到本地数据库(此处省略具体代码)
// 构造支付参数
$params = [
"pid" => 1001,
"type" => "alipay",
"out_trade_no" => $order_no,
"notify_url" => "http://yourdomain.com/notify.php",
"return_url" => "http://yourdomain.com/pay_success.php",
"money" => $amount
];
// 添加签名
$params["sign"] = build_sign($params);
// 跳转到易支付
$pay_url = "http://epay.example.com/submit.php?" . http_build_query($params);
header("Location: " . $pay_url);
?>
2.3 创建回调处理页面
创建notify.php处理支付回调:
<?php
require_once("pay_function.php");
$trade_no = $_GET["trade_no"]; // 平台订单号
$out_trade_no = $_GET["out_trade_no"]; // 商户订单号
$money = $_GET["money"]; // 支付金额
// 验证签名
if (!verify_sign($_GET)) {
exit("fail");
}
// 查询本地订单
$order = get_local_order($out_trade_no);
if (!$order) {
exit("fail");
}
// 检查订单状态
if ($order["status"] == "paid") {
exit("success");
}
// 检查金额
if ($order["money"] != $money) {
exit("fail");
}
// 更新订单状态
update_order_status($out_trade_no, "paid", $trade_no);
// 发放商品或服务(根据你的业务逻辑)
deliver_product($order);
echo "success";
?>
2.4 创建支付成功页面
创建pay_success.php作为用户支付成功后的展示页面:
<h1>支付成功!</h1>
<p>感谢您的购买,您的订单已支付成功。</p>
<p>商品将在5分钟内发送到您的账户。</p>
<a href="/">返回首页</a>
第三部分:常见问题处理
3.1 支付成功但订单未更新
检查要点:
- 回调地址是否正确
- 服务器是否能访问回调地址
- 签名验证逻辑是否正确
- 是否在处理完成后输出了"success"
3.2 回调签名验证失败
检查要点:
- 签名算法是否正确
- 参数顺序是否正确
- 商户密钥是否正确
3.3 支付金额不对
检查要点:
- 数据库中的订单金额是否正确
- 回调中的金额是否被篡改
- 货币单位是否正确(元/分)
第四部分:安全建议
- 使用HTTPS协议
- 妥善保管商户密钥
- 验证回调时检查金额
- 确保订单处理幂等性
- 记录所有交易日志
- 定期更换商户密钥
结语
按照以上步骤,你就可以为自己的网站成功接入易支付。如果在接入过程中遇到任何问题,可以联系易支付平台的客服人员寻求帮助。