开发前的准备工作
- 配置应用网关
-
应用网关里面填写的值就是商户后台的异步回调地址.也就是在支付宝付完款之后,由支付宝调用商户,便于商户验证订单各信息和更新订单状态
- 授权回调地址
- 授权回调地址的值是指用户在使用支付宝付款成功后从支付宝跳转到商户自己的页面.
- 接口加密方式
- 这个用于商户的签名加密,有
RSA2和RSA两种算法类型,默认是RSA2.开发人员可以使用支付宝提供的生成方式自己生成,然后将
公钥上传到支付宝开放平台.这里提供支付宝生成密钥的
教程和下载地址
- 现在提供一张的截图,显示配置的位置.到达方式:蚂蚁金服开放文档—> 右上角账户中的
账号管理—>
开发者中心—>我的应用(应用) —> 选择自己将要配置的
应用名称点击右边的查看—>
应用信息(就是截图看到的页面了)
支付流程:
-
前端调用商户后台支付接口
-
商户后台支付接口进行一些必要的业务逻辑上的处理之后调用支付宝的支付接口(原始支付API).需要的参数详见支付宝支付接口的参数说明.支付宝会返回一个form表单.商户后台支付接口将表单返回给前台.
-
前台将表单提交给支付宝,唤起支付宝客户端进行支付.
-
支付成功后支付宝会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的方式将支付结果作为参数通知到商户后台系统.
-
商户后台系统在接到支付宝的异步通知后要在验证自己本身业务逻辑之外严格验证通知数据的正确性.
- 商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号
-
判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额)
-
校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email)
-
验证app_id是否为该商户本身
-
上述1、2、3、4有任何一个验证不通过,则表明本次通知是异常通知,务必忽略.详情参见https://docs.open.alipay.com/203/105286/ 异步返回的验签
-
判断没有任何错误,打印success.否则支付宝服务器会不断重发通知,直至超过24小时22分钟.
开发需要准备的物料
pom.xml添加支付宝依赖
[java] view plain copy
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>com.alipay</groupId>
- <artifactId>alipay-sdk</artifactId>
- <version>java20170307171631</version>
- </dependency>
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69905323/viewspace-2657121/
,如需转载,请注明出处,否则将追究法律责任。