支付宝沙箱虚拟支付

使用以下支付接口

我们使用这个支付宝的:统一下单并支付页面接口
在这里插入图片描述

正题

首先进入沙箱环境网址:
https://openhome.alipay.com/platform/appDaily.htm?tab=account
在这里插入图片描述
这里有 APPID ,还有密钥在这里插入图片描述
进入沙箱应用之后可以看到信息配置部分需要设置RSA2(SHA256)密钥,由于我已经设置过了,这里就没有相应的截图。

上传密钥

先下载RSA签名验签工具生成密钥和公钥 https://docs.open.alipay.com/291/105971
如果找不到可以到网盘下载 java dome 以及签名工具

百度网盘:https://pan.baidu.com/s/1YNkRyLe0C8xXISNr9z4QpA 提取码:speh
在这里插入图片描述
复制公钥设置到沙箱环境中的RSA2(SHA256)密钥中上传就会显示相应的支付公钥给你
下载Java Dmo下载Java Demo网址: https://docs.open.alipay.com/270/106291/ ,将Demo解压,然后下载沙箱版的手机支付宝,到沙箱环境中查看商家信息,和买家信息。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拉到你的项目中的lib下,后新建一个类

AlipayConfig:
public class AlipayConfig {	      
	//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 		
	// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号	      
	public static String app_id = "";				
	// 商户私钥,您的PKCS8格式RSA2私钥	      
	public static String merchant_private_key = "";				
	// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。	      
	public static String alipay_public_key = ""; 		
	// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问		
	public static String notify_url = ""; 		
	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问		
	public static String return_url = ""; 		
	// 签名方式		
	public static String sign_type = "";				
	// 字符编码格式		
	public static String charset = "";				
	// 支付宝网关		
	public static String gatewayUrl = "";				
	// 支付宝网关		
	public static String log_path = "";				
	//JSON格式		
	public static String format = "JSON";	
}
在控制器Controller代码:
protected void ZhiFuBaoDanMianFu (HttpServletRequest request, HttpServletResponse response) throws IOException{ 
	//获得初始化的AlipayClient
	AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, 	AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", 	AlipayConfig.charset, AlipayConfig.alipay_public_key, 	AlipayConfig.sign_type);       
	//设置请求参数        
	AlipayTradePagePayRequest alipayRequest = new 	AlipayTradePagePayRequest();        	 
	alipayRequest.setReturnUrl(AlipayConfig.return_url);         	alipayRequest.setNotifyUrl(AlipayConfig.notify_url);         
	//商户订单号,商户网站订单系统中唯一订单号,必填        
	String out_trade_no = "201905141044";         
	//付款金额,必填        
	String total_amount = "10";        
	//订单名称,必填        
	String subject = "支付宝测试";         
	//商品描述,可空        
	String body = "购买此课程";         
	alipayRequest.setBizContent(
	"{\"out_trade_no\":\""+ out_trade_no +"\","
	+ "\"total_amount\":\""+ 	total_amount +"\","                 
	+ + "\"subject\":\""+ 	subject +"\","                 
	+ + "\"body\":\""+ body +"\","                 
	+ + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");        
	//请求       
	 String result;		
 	try {			
 		result = alipayClient.pageExecute(alipayRequest).getBody();		response.setContentType("text/html;charset=" + AlipayConfig.charset);	        
 		response.getWriter().write(result);
 		//直接将完整的表单html输出到页面	        
 		response.getWriter().flush();	        
 		response.getWriter().close();		
 	} catch (AlipayApiException e) 
 	{
 		e.printStackTrace();		  
 		response.getWriter().write("捕获异常出错");	        				response.getWriter().flush(); 	        
 		response.getWriter().close();		
 		}		
 	}

这样就已经完成了,执行后到这个Controller的时候就会执行支付页面。
效果:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值