阿里支付系列
本文只写了必要的下单
的简要步骤,目的在帮助读者抓住下单
的核心步骤。
下单
我的理解:
- sdkExecute() 前面的代码都是为了运行这个函数的。
- 运行sdkExecute()需要request,包含运行此函数的一些参数。
- 你可以理解为很多参数(outTradeNo,money,param)都打包成了一个request,然后一键运行sdkExecute(request)。
- 谁来运行sdkExecute()呢?这时候需要new出一个Client对象,用它来运行。
那么从正向写代码就是:
- 创建AlipayClient实例
- 创建使用的Open API对应的Request请求对象
- 发起请求并处理响应
关键代码:
// 实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient(..........);
// 需要AlipayTradeAppPayRequest对象的信息
AlipayTradeAppPayRequest req = getRequest(outTradeNo,money,param);
// 调用支付
AlipayTradeAppPayResponse resp = alipayClient.sdkExecute(req);
退款
没有特别大的差别,只是类不同。
// 实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient(..........);
// 需要AlipayTradeAppPayRequest对象的信息
AlipayTradeRefundRequest req = getRequestRefund(outTradeNo,Float.parseFloat(retreatMoney));
// 调用支付
AlipayTradeRefundResponse resp = alipayClient.execute(req);
同步异步通知
return_url 和notify_url 是需要自己设定的。
return_url 为同步跳转地址,支付接口的公共请求参数。
功能:可实现支付成功后跳转到商家页面的功能,而且跳转后的 return_url 页面的地址栏中会返回同步通知参数。
设置代码为request.setReturnUrl("商户设置的同步地址");
对于支付产生的交易,支付宝会根据原始支付 API 中传入的异步通知地址 notify_url,通过 POST 请求的形式将支付结果 作为参数通知到商户系统,接口调用 SDK 设置 notify_url 传参方式如下。设置代码为request.setNotifyUrl("商户自己的notify_url地址");
总结
在实现的时候,代码的基本步骤为:
- AlipayClient new出对象alipayClient。此对象有执行请求支付的函数excute(参数1),参数1需要request
- AlipayTradePagePayRequest new出对象request,request使用set方法或者构造函数需要设置参数。
- 准备执行函数excute(request)。另需要设置参数,比如有 model.setBizModel() 和 request.setBizContent() 两种方式。
- 执行函数execute(request),将结果存入到result 中。
- result判断是否成功。
本文仅供参考