支付宝官方sdk笔记

公共配置

引入包:

<dependency>   
    <groupId>com.alipay.sdk</groupId>   
    <artifactId>alipay-sdk-java</artifactId>   
    <version>3.0.0</version> 
</dependency>

Alipay几个重要的对象:

  • AlipayClient 接口

    • 声明了调用各种请求的方法。

    • 主要实现类:DefaultAlipayClient

    • 实现类实现了接口中的各个方法

    • 主要封装支付请求的公共参数,如请求网关,签名等信息。

    • 主要方法:

      • excute(AlipayRequest request):发起请求
      • pageExcute(AlipayRequest request):网页支付的请求
  • AlipayRequest 接口

    • 声明了一些参数的get 和 set 方法

    • 主要实现类:AlipayTrade***Request

      • 封装了各个请求的业务参数。
    • 主要方法:

      • setBizContent(String jsonContent):设置请求的业务参数
      • setNotifyUrl(String url):设置异步通知的地址
      • setReturnUrl(String url):设置同步通知的地址
  • AlipayResponse 类

    • 声明了返回的 code,错误信息 和一些返回参数

    • 主要子类:AlipayTrade***Response

      • 提供了对各类请求的返回数据进行处理的方法
    • 主要方法:

      • getSubCode:获取错误代码(官网上可对照,以ACQ开头)

      • getMsg:获取错误原因

      • getBody:获取返回内容,封装了响应内容

      • getParams:获取传入的请求业务参数

      • isSuccess:判断本次请求是否调用成功。是判断 subCode 是否为空
        在这里插入图片描述
        配置支付宝参数:

// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号 
public static String APP_ID = "20132101000652145"; 
// 商户私钥,您的PKCS8格式RSA2私钥 
public static String MERCHANT_PRIVATE_KEY = ""; 
// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。 
public static String ALIPAY_PUBLIC_KEY = ""; 
/** * 异步通知,这里我们设计自己的后台代码 */ 
public static String notify_url = "http://127.0.0.1:8003/order/notifyUrl"; 
// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String return_url = "http://127.0.0.1:8003/order/returnUrl"; 
// 签名方式 
public static String SIGN_TYPE = "RSA2"; 
// 字符编码格式 
public static String CHARSET = "utf-8"; 
// 支付宝网关 
public static String GATEWAYURL = "https://openapi.alipaydev.com/gateway.do";
public static String SUBJECT = "我的订单";

使用流程(以电脑网站发起支付请求为例):

  • 初始化一个 AlipayClient客户端
AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);
配置参数 示例值解释 获取方式/示例值
URL 支付宝网关(固定) https://openapi.alipay.com/gateway.do
APPID APPID 即创建应用后生成 获取见上方创建应用
APP_PRIVATE_KEY 开发者私钥,由开发者自己生成 获取见配置密钥
FORMAT 参数返回格式,只支持 json;默认json json(固定)
CHARSET 编码集,支持 GBK/UTF-8 开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY 支付宝公钥,由支付宝生成 获取详见配置密钥
SIGN_TYPE 商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2;默认是 RSA RSA2
  • 声明发向支付宝的请求 request
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest(); 
//设置请求的同步返回地址 
alipayRequest.setReturnUrl(AlipayConfig.return_url); 
//设置请求的异步返回地址 
alipayRequest.setReturnUrl(AlipayConfig.notify_url); 
//设置业务请求参数,方式1(推荐)
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
model.setOutTradeNo("xxxxx");
model.setTotalAmount("33.2");
alipayRequest.setBizModel(model);
//设置业务请求参数 ,方式2
alipayRequest.setBizContent("{\"out_trade_no\":\"" + outTradeNo + "\","       
                            + "\"total_amount\":\"" + totalAmount + "\","       
                            + "\"subject\":\"" + subject + "\","      
                            + "\"body\":\"商品名称\","       
                            + "\"timeout_express\":\"90m\","      
                            + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}"); 
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值