• 230921整合支付宝支付


    整合支付宝支付

    1. 官网

    电脑网站支付
    电脑网站支付文档
    在这里插入图片描述

    支付宝支付

    电商平台参考: 整合微信支付

    web接口

    	/**
    	 *
    	 * @Description: 前往支付宝进行支付
    	 * @return
    	 * @throws Exception
    	 */
    	@ResponseBody
    	@RequestMapping(value="/goAlipay")
    	public IMOOCJSONResult goAlipay(String merchantOrderId, String merchantUserId) throws Exception{
    
    		// 查询订单详情
    		Orders waitPayOrder = paymentOrderService.queryOrderByStatus(merchantUserId, merchantOrderId, PaymentStatus.WAIT_PAY.type);
    
    		//获得初始化的AlipayClient
    		AlipayClient alipayClient = new DefaultAlipayClient(aliPayResource.getGatewayUrl(),
    															aliPayResource.getAppId(),
    															aliPayResource.getMerchantPrivateKey(),
    															"json",
    															aliPayResource.getCharset(),
    															aliPayResource.getAlipayPublicKey(),
    															aliPayResource.getSignType());
    
    		//设置请求参数
    		AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
    		alipayRequest.setReturnUrl(aliPayResource.getReturnUrl());
    		alipayRequest.setNotifyUrl(aliPayResource.getNotifyUrl());
    
    		// 商户订单号, 商户网站订单系统中唯一订单号, 必填
    		String out_trade_no = merchantOrderId;
    		// 付款金额, 必填 单位元
    		String total_amount = CurrencyUtils.getFen2YuanWithPoint(waitPayOrder.getAmount());
    //    	String total_amount = "0.01";	// 测试用 1分钱
    		// 订单名称, 必填
    		String subject = "天天吃货-付款用户[" + merchantUserId + "]";
    		// 商品描述, 可空, 目前先用订单名称
    		String body = subject;
    
    		// 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。
    		String timeout_express = "1d";
    
    		alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
    				+ "\"total_amount\":\""+ total_amount +"\","
    				+ "\"subject\":\""+ subject +"\","
    				+ "\"body\":\""+ body +"\","
    				+ "\"timeout_express\":\""+ timeout_express +"\","
    				+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
    
    		//若想给BizContent增加其他可选请求参数, 以增加自定义超时时间参数timeout_express来举例说明
    		//alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
    		//		+ "\"total_amount\":\""+ total_amount +"\","
    		//		+ "\"subject\":\""+ subject +"\","
    		//		+ "\"body\":\""+ body +"\","
    		//		+ "\"timeout_express\":\"10m\","
    		//		+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
    		//请求参数可查阅【电脑网站支付的API文档-alipay.trade.page.pay-请求参数】章节
    
    		//请求
    		String alipayForm = "";
    		try {
    			alipayForm = alipayClient.pageExecute(alipayRequest).getBody();
    		} catch (AlipayApiException e) {
    			e.printStackTrace();
    		}
    
    		log.info("支付宝支付 - 前往支付页面, alipayForm: \n{}", alipayForm);
    
    		return IMOOCJSONResult.ok(alipayForm);
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
  • 相关阅读:
    C#的数据集:DataSet对象
    基于51单片机信号发生器仿真设计
    电商商城管理系统
    WMS仓储管理系统的功能与WCS系统有什么区别
    C语言常用内存函数(超详细版)
    又是一年,接着水
    javaScrip入门
    计及源荷不确定性的综合能源生产单元运行调度与容量配置随机优化模型MATLAB
    容器编排工具鉴赏- docker-compose 、Kubernetes、OpenShift、Docker Swarm
    TensorFlow
  • 原文地址:https://blog.csdn.net/qq_44289784/article/details/133136877