在网站中集成支付宝支付功能

应项目需求,要在网站中增加支付功能,微信和支付宝都要支持,微信以前做过,就不再赘述了,本文简单整理一下集成支付宝的过程。

一、准备工作

1.在蚂蚁金服开发者中心上注册商户号,并认证;

2.在开发者中心创建应用,创建成功后会生成一个APPID,每个应用对应一个APPID

3.在功能列表中点击添加功能来添加电脑网站支付功能。

二、配置工作

1.配置秘钥,利用支付宝提供的工具生RSA应用公钥和私钥;

2.在应用的开发者配置页面将上一步的公钥上传,得到支付宝公钥;

3.为应用配置支付宝网关及授权回调地址;

4.在项目中添加支付API,引入maven依赖包即可。

三、接口调用

1.在程序文件中配置好支付相关的参数,包括APPID、支付宝公钥、私钥、支付宝网关、回调地址等

2.接口调用,电脑网站支付的支付接口alipay.trade.page.pay调用时序图如下:

支付接口调用时序图


调用顺序如下: 

1.初始化AlipayClient

AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);

2.商户系统请求支付宝接口 alipay.trade.page.pay,支付宝对商户请求参数进行校验,而后重新定向至用户登录页面。

3.用户确认支付后,支付宝通过 get 请求 returnUrl(商户入参传入),返回同步返回参数。

4.交易成功后,支付宝通过 post 请求 notifyUrl(商户入参传入),返回异步通知参数。

5.若由于网络等问题异步通知没有到达,商户可自行调用交易查询接口alipay.trade.query 进行查询,根据查询接口获取交易以及支付信息(商户也可以直接调用查询接口,不需要依赖异步通知)。

四、注意事项

由于同步返回的不可靠性,支付结果必须以异步通知或查询接口返回为准,不能依赖同步跳转。

商户系统接收到异步通知以后,必须通过验签(验证通知中的 sign 参数)来确保支付通知是由支付宝发送的。详细验签规则参考异步通知验签。

接收到异步通知并验签通过后,一定要检查通知内容,包括通知中的 app_id、out_trade_no、total_amount 是否与请求中的一致,并根据 trade_status 进行后续业务处理。

在支付宝端,partnerId 与 out_trade_no 唯一对应一笔单据,商户端保证不同次支付 out_trade_no 不可重复;若重复,支付宝会关联到原单据,基本信息一致的情况下会以原单据为准进行支付。

你可能感兴趣的:(在网站中集成支付宝支付功能)