java怎么修改支付宝步数,Java代码实现支付宝扫码支付功能(配置沙箱环境)

Java代码实现支付宝扫码支付功能(配置沙箱环境)

Java代码实现支付宝扫码支付功能(配置沙箱环境)

支付宝沙箱配置环境

协助开发者进行接口功能,独立于线上环境的配置。

支付接口需要签约生效后才能使用,有些签约几天才能通过,比如资料不全,导致无法立刻签约;沙箱环境提供了测试环境,解决了暂时无法签约导致的延期问题。

首先我们需要登录到支付宝,然后选择沙箱环境,在完成登录后,需要填写正确的申请人信息

bbffa3da468ae530edb36b3e86580e30.png

点击设置,下载生成秘钥所需的官方软件 或者 WINDOWS(windows版本工具请不要安装在含有空格的目录路径下,否则会导致公私钥乱码的问题)

2a179ede610319c6f6cce29d916b9bc0.png

准备工具

手机App:客户端测调试、支付宝沙箱支付

b2f2d14cdc5387d491dd4d986459bac5.png

创建项目

使用IDEA创建一个maven项目在pom.xml中配置付宝沙箱环境依赖

com.alipay.sdk

alipay-sdk-java

4.10.111.ALL

SDK生成

去支付宝官网找开发工具,JAVA服务端 SDK 生成 APP支付订单信息示例

86c652c410a3bfe975510919fa60e8c7.png

创建Controller

06ffa8a6e3a4e00ad5befa1c347cc48b.png

放入我们刚复制的示例,自定义修改

@RestController

@RequestMapping("/pay/ali")

public class AliPayController {

/**

* APP_ID 应用id

*/

public final static String APP_ID ="2016093000630181";

/**

* 应用私钥

*/

public final static String APP_PRIVATE_KEY = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCTO5ERumMOQlwy2+2hrSUgqFd+PsQ5Au+sK7+xNrB6fmR2oSWSn+X8EEjQBWq21RWV1ekABWSsG2BtOWlnWxT77tfyXLOzejR3vujFhwLPshzA9lfR2R5fH/F3l0MGmWvb3GGYqp2q2SR7jXUtOU5dEEGHUYRd9zoy9CPEM2Iu1xWA5ks51C5XH2AJV62ZDCc82sAJt7xfrDLCZbwKGp0a4b6ZgA1OoZDn7Jzp160fFA81EbkfrKK+qOoyMV9dbHSotHHQfD3+49o1coz3vpPY9r/kD6FhZ3ZdU1SfYccaEpyMAbdfR/RAtHlRiA9JUgXXFiExavKUEwdEGizwug45AgMBAAECggEAftF2GXEUVXnvdJdfTj2Xl1OpWUKzPfA7hW+BhCF5TWmFG3GerXcxYDaeoR+pVaahGxjPw4bhuiUyn6IuGiqoHoESXN5gox2GCAbW9R1f3IqsncESz9xWftVC5iHSR+LqtsxS/G8ps7mp5QppffS4fQy9hNNAUrfa13zXOe6QiYq/BHiBzJKT4Bp4P5iQMM4/J/Y4fPOHTHEo4iZX+a2WC2ZBMbAXZWfMmIKenqZVDuf7GO8/TpHMpkI9pEePU7njSqRX2+zixcVJ/M8EgSj0JCFZUUCKDz78Nuu2UvdTrLfFTYTIrr4nhVdsduDpJ0LKSJEcvaxku1AhgRgWBgfj6QKBgQDzugV2tnWG495gQyipqPXIYd2JVIdWfAgUfNdDD8bd/FZ/grATQo4R4zDdgXS5a2c0AFzJU7MMkWo4DTKpjU6aZIdY8PdgnI3SefKJzw3ndBGPou5RbVFVkrehahU4u1LVKldmo/pvlMCqpp00UBkO2Tzl4v6lLQsRKXvJCDJvjwKBgQCapZpIW+nk8QjkArsqY2j9NQeRz3JRQ6UJkW4sf+4JgbtXgXgu/arpCTevCi50zqv8TE4nmJj8YtE0H7qbBgOSgJV2i+0/eRCsV8oNu9WzQVM8qyGtoQ4fKxhMNN2CcWGh5gXk2wRG6qFz69MxEJ+RAK5ev4w1bDu89SS4d5dBtwKBgDqEZEFvZ2JenYqxNTce6PwWezE4yVG7b9kzbB+ezxmHN2FgCFRne2LSEG5uYY8POXUjzSNNZETVORKCILLSyZeKIXD6UfqxO9/YBaKOwwDaPkklTmDghVGta0dnB/daCnZBt0BeiId3yJZwcHgZ7xpAkD2FtawE145kTmMjA7EDAoGAEqpGMtGVK2LENfD2cilJdLY/0aN+IrzNYJhC+e/+5PrZh7hCrzlCtZm9NM0/yi1fqLX1AOZ0IJI0udvSg/930ujeIU7GNdEA6Cw4YOv44QfTahEloXU85Roodpoy2hmhNQ80Suj8XSrYjcs61EMzXyb75MetvozvsODNq84TXYUCgYB11cFAnLXztA2wKjRSsPP8Hm1vDLmq4CoM2qyqeDSdVCeRqQJ4VSwtsFsGRPXfrrx4CbTKDRiV04hJTVYtnpX67bo34GIXxW1RtLYeCk1lWBI7u3D398qMGcpbo3FzwJ+v8pD3uzTTnk88Xx2qUeghRoLvQd/KP0dcfpZLllBOFA==";

/**

* 编码

*/

public final static String CHARSET ="UTF-8";

/**

* 支付宝公钥

*/

public final static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjeZA25b4mJZpWWXHR0joM8eOSm1DuBDKKgq5ZYDkxKUPhLuXfK588EcFaSGlW9yzpvNkxBbq3QEzqx5K3zYaVHjzh0y+8vlfCcFINMpcYgy3q8NsQHgipO994TqIUwukac8GzezVAT7avtwBeWMNGJDnpQAJNkOD6se2sMu2IXFa7GkfRxhJCMNi/e/d16j0D/YfT2F1c1hRzH1Ey0I3Rkx1WxZTPYH+lCSVaIkxVtolYIpoktE70ZVcD1ERy5eipWCT4sdl/UMifgTnj+PyL+R6lzMUVPKQ+xk5G5PoJUiRSAOkqcaB+KTaerL0h0VzOXKqQ2O/3ppdrTn4X+mAgQIDAQAB";

/**

* (沙箱)网关

*/

public final static String GETEWAY_URL ="https://openapi.alipaydev.com/gateway.do";

/**

* 格式化

*/

public final static String FORMAT ="json";

/**

* 签名类型

*/

public final static String SIGN_TYPE ="RSA2";

/**

* 获取订单信息

*/

@GetMapping("/getOrderInfo")

public String getOrderInfo(String orderId){

//实例化客户端

AlipayClient alipayClient = new DefaultAlipayClient(GETEWAY_URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);

//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay

AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();

//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。

AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();

model.setBody("我是测试数据");

model.setSubject("App支付测试Java");

model.setOutTradeNo("87878978976"); //交易号

model.setTimeoutExpress("30m");

model.setTotalAmount("6.66");

model.setProductCode("QUICK_MSECURITY_PAY");

//将自己想要传递到异步接口的数据,set进去 pass_back_params

model.setPassbackParams(orderId);

request.setBizModel(model);

request.setNotifyUrl("http://3j383810f3.zicp.vip/pay/ali/notif_url");

try {

//这里和普通的接口调用不同,使用的是sdkExecute

AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);

System.out.println("response.getBody():"+response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。

return response.getBody();

} catch (

AlipayApiException e) {

e.printStackTrace();

return null;

}

}

在我们支付宝网址沙箱环境中查看

APP_ID

cb033928fb9f1516be083d3ca85e8b45.png

2 APP_PRIVATE_KEY及商户私钥

开始测试

public static void main(String[] args) {

AliPayController aliPayController = new AliPayController();

aliPayController.getOrderInfo(null);

}

效果:

2970561cd2f34023ba53eacf543fd909.png

Java代码实现支付宝扫码支付功能(配置沙箱环境)相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值