以下是个人网站接入支付宝当面付的免费开通和集成教程,基于搜索结果中的最新信息整理而成:
1. 开通支付宝当面付
支付宝当面付支持个人用户开通,但需要满足一定的条件和步骤:
开通条件
-
实名认证:支付宝账户必须完成实名认证。
-
经营场景照片:需要提供经营场所的照片(如店铺内景或场景照),如果没有实际店铺,可以使用百度搜索的图片。
-
营业执照(可选):如果不提供营业执照,收款限额为单笔≤1000元,单日≤5万元。
开通步骤
-
登录支付宝开放平台:访问支付宝开放平台,登录个人支付宝账户。
-
创建应用:
-
点击“创建应用”,填写应用名称和图标。
-
应用类型选择“网页应用”。
-
-
绑定当面付产品:
-
在应用详情页面,点击“产品绑定”。
-
选择“支付” -> “当面付”,并完成绑定。
-
-
配置密钥:
-
下载支付宝官方的RSA密钥生成工具。
-
生成应用公钥和私钥,将应用公钥上传到支付宝平台,保存好私钥。
-
-
提交审核:完成上述配置后提交审核,审核时间通常为1个工作日。
2. 集成支付宝当面付到个人网站
以下是基于Java的集成示例:
2.1 引入依赖
在
pom.xml
中添加支付宝SDK依赖:<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.35.9.ALL</version>
</dependency>
2.2 配置支付参数
在配置文件中设置支付宝相关参数:
alipay.app-id=你的AppID
alipay.private-key=你的应用私钥
alipay.public-key=支付宝公钥
alipay.notify-url=https://你的域名/notify
2.3 后端代码示例
以下是一个简单的Java后端代码示例,用于生成支付二维码:
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePrecreateRequest;
import com.alipay.api.response.AlipayTradePrecreateResponse;
@RestController
@RequestMapping("/pay")
public class AliPayController {
@Value("${alipay.app-id}")
private String appId;
@Value("${alipay.private-key}")
private String privateKey;
@Value("${alipay.public-key}")
private String publicKey;
@Value("${alipay.notify-url}")
private String notifyUrl;
@PostMapping("/create-order")
public String createOrder(String subject, String totalAmount) throws Exception {
AlipayClient alipayClient = new DefaultAlipayClient(
"https://openapi.alipay.com/gateway.do",
appId,
privateKey,
"json",
"UTF-8",
publicKey,
"RSA2");
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{"
+ "\"out_trade_no\":\"" + UUID.randomUUID().toString() + "\","
+ "\"total_amount\":\"" + totalAmount + "\","
+ "\"subject\":\"" + subject + "\","
+ "\"store_id\":\"123456\""
+ "}");
request.setNotifyUrl(notifyUrl);
AlipayTradePrecreateResponse response = alipayClient.execute(request);
if (response.isSuccess()) {
return response.getQrCode(); // 返回二维码链接
} else {
throw new RuntimeException("支付订单创建失败:" + response.getMsg());
}
}
}
2.4 前端代码示例
前端页面可以通过调用后端接口获取支付二维码,并展示给用户:
<!DOCTYPE html>
<html>
<head>
<title>支付宝当面付</title>
</head>
<body>
<h1>扫码支付</h1>
<img id="qrcode" src="" alt="支付二维码">
<script>
fetch('/pay/create-order', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ subject: '测试商品', totalAmount: '0.01' })
})
.then(response => response.text())
.then(url => {
document.getElementById('qrcode').src = url;
});
</script>
</body>
</html>
2.5 支付回调处理
创建一个回调接口来处理支付结果:
@PostMapping("/notify")
public String handleNotify(@RequestBody Map<String, String> params) throws Exception {
boolean verifyResult = AlipaySignature.rsaCheckV1(params, publicKey, "UTF-8", "RSA2");
if (verifyResult) {
String outTradeNo = params.get("out_trade_no");
String totalAmount = params.get("total_amount");
// 处理业务逻辑,如更新订单状态
return "success";
} else {
return "fail";
}
}
3. 注意事项
-
审核时间:通常在1个工作日内完成审核。
-
限额限制:未提供营业执照的个人账户,单笔收款≤1000元,单日收款≤5万元。
-
安全性:确保私钥和公钥的安全性,不要泄露。
通过以上步骤,个人开发者可以免费开通并集成支付宝当面付到自己的网站中,实现扫码支付功能。