1、获取支付二维码
使用统一收单线下交易预创建接口
本来要自己封装请求报文,经过一系列的校验携带很多请求参数,向支付宝后台发起请求,现在用支付宝的sdk就可以简单实现
sdk下载路径:https://opendocs.alipay.com/open/54/104506
集成到自己的代码步骤如
-
拷贝 java 目录下的 Main.java 至系统商源代码目录。
-
将 lib 目录下所有 jar 文件添加至系统商 lib 目录。
-
拷贝 resources 目录下的配置文件至系统商 classpath 根目录。
-
在系统商项目中运行 Main 方法,确认集成无误。
-
系统商使用 Main 方法中的调用样例进行开发。
把压缩包解压
a、导入项目所需依赖
向支付宝发起请求所需的依赖包
在maven项目里导入依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.0.0</version>
<!--<exclusions>-->
<!--<exclusion>-->
<!--<artifactId>commons-logging</artifactId>-->
<!--<groupId>commons-logging</groupId>-->
<!--</exclusion>-->
<!--</exclusions>-->
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
相当于导入以下jar包
2、把支付包给的src目录复制到开发路径下
3、修改支付宝配置文件
里面是很多发起请求要的请求参数
# 支付宝网关名、partnerId和appId
open_api_domain = https://openapi.alipay.com/gateway.do #发起请求的网关地址
mcloud_api_domain = http://mcloudmonitor.com/gateway.do #支付宝自己对它的支付功能做监控的url,是由支付宝自己对自己发起的请求,不用管
pid = 此处请填写你的PID (商户id)
appid = 此处请填写你当面付的APPID (应用id)
# RSA私钥、公钥和支付宝公钥
#(自己应用的公钥、私钥,对应用进行加密)
private_key = 此处请填写你的商户私钥且转PKCS8格式
public_key = 此处请填写你的商户公钥
#SHA1withRsa对应支付宝公钥
#alipay_public_key = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDI6d306Q8fIfCOaTXyiUeJHkrIvYISRcc73s3vF1ZT7XN8RNPwJxo8pWaJMmvyTn9N4HQ632qJBVHf8sxHi/fEsraprwCtzvzQETrNRwVxLO5jVmRGi60j8Ue1efIlzPXV9je9mkjzOmdssymZkh2QhUrCmZYI/FCEa3/cNMW0QIDAQAB
#SHA256withRsa对应支付宝公钥(访问支付宝要有它的公钥)
alipay_public_key = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjrEVFMOSiNJXaRNKicQuQdsREraftDA9Tua3WNZwcpeXeh8Wrt+V9JilLqSa7N7sVqwpvv8zWChgXhX/A96hEg97Oxe6GKUmzaZRNh0cZZ88vpkn5tlgL4mH/dhSr3Ip00kvM4rHq9PwuT4k7z1DpZAf1eghK8Q5BgxL88d0X07m9X96Ijd0yMkXArzD7jg+noqfbztEKoH3kPMRJC2w4ByVdweWUT2PwrlATpZZtYLmtDvUKG/sOkNAIKEMg3Rut1oKWpjyYanzDgS7Cg3awr1KPTl9rHCazk15aNYowmYtVabKwbGVToCAGK+qQ1gT3ELhkGnf3+h53fukNqRH+wIDAQAB
# 签名类型: RSA->SHA1withRsa,RSA2->SHA256withRsa
sign_type = RSA2
# 当面付最大查询次数和查询间隔(毫秒)
max_query_retry = 5
query_duration = 5000
# 当面付最大撤销次数和撤销间隔(毫秒)
max_cancel_retry = 3
cancel_duration = 2000
# 交易保障线程第一次调度延迟和调度间隔(秒)
heartbeat_delay = 5
heartbeat_duration = 900
这次接入支付宝,用的是测试环境
上面配置只用配置open_api_domain 、pid 、appid、private_key 、public_key 、alipay_public_key
配置的获取方式,点击管理中心,用支付宝扫码登录
第一次进入要设置联系人信息
下载沙箱版支付宝才扫描测试版的二维码,沙箱版的支付宝账号、密码在沙箱账号里
把上面的3个配置填入支付宝配置文件
获取应用私钥和公钥,支付宝要对它进行身份的验证
我用的是在线加密
把生成的私钥、公钥复制到配置文件对应位置
回到沙箱环境
把刚刚生成的应用公钥填入大红圈中
获取支付宝公钥,复制到配置文件对应位置
配置完成
4、简单使用
有空再写