概述
支付宝提供了沙箱环境来模拟真实支付场景,可以让你无代价的享受支付的简单流程以避免真实环境下调试的麻烦。
本文只简单根据官方文档进行简单当面付(条码支付)集成,使用Java语言,IDEA
准备
1. 去支付宝开放平台入驻,否则无法进入开发者平台使用沙箱环境
2. 配置RSA256应用
支付采用公私匙,公匙客户端调用,私匙服务端调用,只有匹配才能触发后续操作
首先下载密匙生成工具 链接:https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=win&channelType=WEB
安装打开应用,格式选择PKCS8,长度选择2048
后打开 https://openhome.alipay.com/platform/appDaily.htm?tab=info,将公匙填入
私匙将在服务端传入
3. 下载沙箱App
安卓手机下载沙箱App
使用买家账号登录
买家账号:[email protected]
密码:111111
流程
1. 创建空Maven项目
2. pom.xml 添加支付宝相关依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.3.0.ALL</version>
</dependency>
3. 在src/java下创建测试文件,我定义为 ApiTest.java
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradePayModel;
import com.alipay.api.request.AlipayTradePayRequest;
import com.alipay.api.response.AlipayTradePayResponse;
/**
* @Author Sakura
* @Date 5/9/2019
**/
public class ApiTest {
public static void main(String[] args) {
AlipayClient alipayClient = new
DefaultAlipayClient ("https://openapi.alipaydev.com/gateway.do","2016101400683082","密匙生成工具中商户应用私钥","json","utf-8",
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArS0SLdzGCafgBwLv3IXIrr7cXKk2pzC5fgQxVz1M9F05ReSXQOfWfjDstNrToiI3kwY3XRGI/ULzywbpKwTm/IzOULxSnexCCJRxQonmQcV1C3ixsQi9rqkL0XaV7YBQl0DfmZoHKbbpmfj/7Uv9hQ2viJ/3n844bhaIwYhR7+Smu8xk+hbT0DEpp75cJV9pt+ngCHj6x3vkGHPj7w70JGKY73wkT6wBD0A7vz/cHHkMH6EeIkus1R5umd2rGXE/8zaPFRpysNKiys4ujAW7tOwCkqiuaon3AxGdQrHom3Twp+cpm7gkzc5v/p4qHgVUyZVKjrj6VJTRIgEQOegDtQIDAQAB","RSA2" );
AlipayTradePayRequest request = new AlipayTradePayRequest();
AlipayTradePayModel model = new AlipayTradePayModel();
request.setBizModel(model);
model.setOutTradeNo(System.currentTimeMillis()+"");
model.setSubject("Iphone6 16G"); //扣款名称
model.setTotalAmount("666"); //扣款金额
model.setAuthCode("xxx");//沙箱钱包中的付款码
model.setScene("bar_code");
AlipayTradePayResponse response = null;
try {
response = alipayClient.execute(request);
System.out.println(response.getBody());
System.out.println(response.getTradeNo());
} catch (AlipayApiException e) {
e.printStackTrace();
}
}
}
将对应私匙和付款码填入即可
付款码在打开沙箱App后,点击付款,查看数字,将对应数字填入即可
后保持在付款页面,等待程序运行扣款
4. 测试运行
直接右键,运行main()函数
若成功,此时沙箱App会显示扣款页面,控制台输出响应信息