1 概述
实现生成支付宝付款页面URL并跳转,其中付款金额、业务订单编号、订单标题等由业务表单提供,附在URL后面。支付宝付款页面根据业务参数信息生成二维码,当用户扫码支付后成功后,进行后续逻辑操作。
2 准备工作
2.1 注册商户
在使用支付宝在线支付功能之前,先到支付宝开放平台(https://open.alipay.com/)注册账户。
2.2 创建网页应用
根据支付宝开放平台指引,创建一个网页应用。
2.3 网页应用开发设置
2.3.1 接口加签方式设置
应用开发设置里,最主要是“接口加签方式设置”
点击后,弹出如下图:
点击 密钥工具 下载并安装“支付宝开放平台密钥工具”,然后打开,按如下图所示操作。
获得 应用公钥 和 应用私钥
然后回到“接口加签方式”弹出网页,点击下一步,把在“支付宝开放平台密钥工具”里生成的应用公钥粘贴进去,如下图,点击【确认上传】
最后,页面跳转到 支付宝公钥生成并下载页面,复制好 支付宝公钥 备用。
至此,接口加签方式设置完成。
2.3.2 配置回调地址
支付宝支付的乐创者系统回调地址是:/lczServer/creater/source/!aliPayNotify
其中,lczServer是乐创者应用名。
2.3.3 服务器IP白名单
根据需要,配置服务器IP白名单,乐创者服务所在服务器的外网IP。
3 门户配置
管理员administrator登录乐创者门户,点击“第三方平台>支付宝开放平台”进行配置,如下图:
根据以上 “2.3.1接口加签方式设置” 章节获取的APPID、应用私钥、应用公钥、支付宝公钥,相应填入。解密方式 选择 RSA2。
4 使用
4.1 支付宝信息表结构说明
为了配合支付交易过程,需要在业务库建立一张支付宝支付信息表,以便记录每条支付记录信息,包括订单ID、支付金额、状态等。
该表表名和字段名已约定如下
-- 支付宝支付记录信息表
CREATE TABLE `ali_pay_info` (
`API_Trade_Id` varchar(64) NOT NULL COMMENT '商户订单ID,主键',
`API_User_Id` varchar(45) NOT NULL,
`API_User_Name` varchar(50) NULL DEFAULT NULL COMMENT '用户名称',
`API_Total_Amount` varchar(20) NULL DEFAULT NULL COMMENT '缴费金额',
`API_Return_Amount` varchar(20) NULL DEFAULT NULL COMMENT '阿里返回的缴费金额',
`API_Pay_Account` varchar(64) NULL DEFAULT NULL COMMENT '支付用户支付宝账号',
`API_Store_Account` varchar(64) NULL DEFAULT NULL COMMENT '商户账号',
`API_User_Pay_Status` varchar(2) NULL DEFAULT NULL COMMENT '用户交易状态:0:交易预创建1:等待支付2:交易关闭,未支付3:支付成功4:支付状态未知',
`API_Trade_Status` varchar(20) NULL DEFAULT NULL COMMENT '支付结果(查询阿里接口返回):WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款)',
`API_Image_Url` varchar(100) NULL DEFAULT NULL COMMENT '图片地址',
`API_Pay_Date` datetime NULL DEFAULT NULL COMMENT '用户支付时间',
`API_Create_Date` datetime NULL DEFAULT NULL COMMENT '创建时间',
`API_Update_Date` datetime NULL DEFAULT NULL COMMENT '修改时间',
`API_Create_Id` varchar(64) NULL DEFAULT NULL COMMENT '创建人Id',
`API_Update_Id` varchar(64) NULL DEFAULT NULL COMMENT '修改人Id',
`API_Trade_Type` varchar(2) NULL DEFAULT NULL COMMENT '交易类型',
`API_Pay_Type` varchar(2) NULL DEFAULT NULL COMMENT '支付类型 1:支付宝',
PRIMARY KEY (`API_Trade_Id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
4.2 发起支付
乐创者提供了一个“在线支付”的超链接类型,在相关自定义按钮或事件里调用即可,如下图:
链接类型:在线支付
数据连接:支付信息表(ali_pay_info)所在的数据库连接
三个参数:分别为业务主键(即,支付订单的业务订单唯一ID)、订单标题、订单金额(单位元,小数点两位)。
最终效果如下图,点击行上自定义操作“立即支付”:
跳转支付宝支付界面,用支付宝扫码即可。
最后编辑:林 更新时间:2025-04-24 11:27
