前言
对于需要接入易支付的开发者来说,API接口文档是必备的参考资料。本文详细介绍易支付API的基本结构和使用方法。
接口地址
易支付API通常包含以下地址:
- 支付接口:用于发起支付请求
- 查询接口:用于查询订单状态
- 回调通知:支付成功后通知商户
常用接口介绍
1. 支付接口(Pay)
用于发起一笔支付请求。
请求参数:
参数名 类型 必填 说明
pid int 是 商户ID
type string 是 支付方式:alipay/wxpay/qqpay
out_trade_no string 是 商户订单号
notify_url string 是 异步通知地址
return_url string 是 同步跳转地址
money float 是 订单金额
sign string 是 签名
签名算法:
sign = md5(pid=商户ID&out_trade_no=订单号&money=金额&key=商户密钥)
2. 订单查询接口(Order)
用于查询订单的支付状态。
请求参数:
参数名 类型 必填 说明
pid int 是 商户ID
out_trade_no string 是 商户订单号
sign string 是 签名
3. 支付回调(Notify)
当用户支付成功后,易支付服务器会POST数据到商户的回调地址。
回调参数:
参数名 类型 说明
trade_no string 平台订单号
out_trade_no string 商户订单号
money float 支付金额
sign string 签名
代码示例
PHP发起支付:
<?php
// 准备参数
$pid = 1001;
$key = "your_secret_key";
$order_no = date("YmdHis");
$amount = 10.00;
$notify_url = "http://yoursite.com/notify.php";
$return_url = "http://yoursite.com/return.php";
// 构造签名
$sign_str = "pid={$pid}&out_trade_no={$order_no}&money={$amount}&key={$key}";
$sign = md5($sign_str);
// 跳转支付
$url = "http://epay.com/submit.php?" . http_build_query([
"pid" => $pid,
"type" => "alipay",
"out_trade_no" => $order_no,
"money" => $amount,
"notify_url" => $notify_url,
"return_url" => $return_url,
"sign" => $sign
]);
header("Location: " . $url);
?>
PHP处理回调:
<?php
$key = "your_secret_key";
// 获取参数
$trade_no = $_GET["trade_no"];
$out_trade_no = $_GET["out_trade_no"];
$money = $_GET["money"];
$sign = $_GET["sign"];
// 验证签名
$verify_str = "trade_no={$trade_no}&out_trade_no={$out_trade_no}&money={$money}&key={$key}";
$verify_sign = md5($verify_str);
if ($sign == $verify_sign) {
// 签名验证成功
// 查询本地订单是否存在
// 更新订单状态为已支付
// 发放商品或服务
echo "success";
} else {
echo "fail";
}
?>
注意事项
1. 签名安全
- 商户密钥不要泄露给他人
- 密钥存储在服务器端,不要暴露在前端
- 定期更换密钥
2. 回调处理
- 收到回调后先验证签名
- 验证订单金额是否正确
- 确保订单只处理一次(幂等性)
- 处理完成后返回"success"
3. 异常处理
- 记录所有接口调用日志
- 设置合理的超时时间
- 实现回调失败重试机制
结语
以上就是易支付API的基本使用指南。不同平台的具体接口可能略有差异,请以实际平台的接口文档为准。