首页>代码>ssm高仿beatport.com在线音乐网网站>/MusicWebProject/src/main/java/com/music/action/applicationPayment/alipayPay/AlipayService.java
                
                package com.music.action.applicationPayment.alipayPay;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Service;
/**
 * Created by Danny on 2017/12/26.
 */
@Service
public class AlipayService implements IAlipayService {
    /**
     * 请求支付
     * @param orderId      订单编号
     * @param amount       金额
     * @param orderName    订单名称
     * @param description  描述
     * @param returnUrl    返回URL
     * @return
     */
    @Override
    public String pay(String orderId, String amount, String orderName, String description,String returnUrl,String User_ID,String PriceID) {
        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(returnUrl);
        alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
        //商户订单号,商户网站订单系统中唯一订单号,必填
        String out_trade_no = orderId;
        //付款金额,必填
        String total_amount = amount;
        //订单名称,必填
        String subject = orderName;
        //商品描述,可空
        String body = description;
        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\"}");
        //若想给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-请求参数】章节
    	//数据库添加订单信息
    	com.music.entity.Membership_Order Order = new com.music.entity.Membership_Order();
    	Order.setOrder_Number(orderId);//商户订单编号
    	Order.setQuantity_of_goods(1);//货物数量
    	Order.setOrder_Name(orderName);//订单名称
    	Order.setCommodity_Description(description);//商品详情
    	Order.setAlipay_Order_Id("");//支付宝订单ID
    	Order.setOrder_Amount(Integer.valueOf(amount));//订单金额
    	Order.setOrder_Status("等待用户支付");//订单状态
    	Order.setUser_ID(new BigDecimal(User_ID));//用户ID
    	Order.setPriceID(new BigDecimal(PriceID));//资费ID
    	
    	List<com.music.entity.Membership_Order> list = new ArrayList<>();
    	list.add(Order);
    	
    	if(new com.music.sqlConnect.dml.add.Membership_OrderAdd().Add_Order(list)){
    		
    		//正确添加订单信息后请求
            //请求
            String result = null;
            try {
                result = alipayClient.pageExecute(alipayRequest).getBody();
            } catch (AlipayApiException e) {
            }
            return result;
    	}else{
    		//无法添加订单信息
    		return "Failure to add order information";
    	}
    	
    }
    @Override
    public String query(String orderId, String alipayOrderId) {
        //获得初始化的AlipayClient
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
        //设置请求参数
        AlipayTradeQueryRequest alipayRequest = new AlipayTradeQueryRequest();
        //商户订单号,商户网站订单系统中唯一订单号
        String out_trade_no = orderId;
        //支付宝交易号
        String trade_no = alipayOrderId;
        //请二选一设置
        alipayRequest.setBizContent("{\"out_trade_no\":\"" + out_trade_no + "\"," + "\"trade_no\":\"" + trade_no + "\"}");
        //请求
        String result = null;
        try {
            result = alipayClient.execute(alipayRequest).getBody();
        } catch (AlipayApiException e) {
        }
        //输出
        return result;
    }
    @Override
    public String refund(String orderId, String alipayOrderId, String amount, String reason, String refundReqNum) {
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
        //设置请求参数
        AlipayTradeRefundRequest alipayRequest = new AlipayTradeRefundRequest();
        //商户订单号,商户网站订单系统中唯一订单号
        String out_trade_no = orderId;
        //支付宝交易号
        String trade_no = alipayOrderId;
        //请二选一设置
        //需要退款的金额,该金额不能大于订单金额,必填
        String refund_amount = amount;
        //退款的原因说明
        String refund_reason = reason;
        //标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传
        String out_request_no = refundReqNum;
        alipayRequest.setBizContent("{\"out_trade_no\":\"" + out_trade_no + "\","
                + "\"trade_no\":\"" + trade_no + "\","
                + "\"refund_amount\":\"" + refund_amount + "\","
                + "\"refund_reason\":\"" + refund_reason + "\","
                + "\"out_request_no\":\"" + out_request_no + "\"}");
        //请求
        String result = null;
        try {
            result = alipayClient.execute(alipayRequest).getBody();
        } catch (AlipayApiException e) {
        }
        return result;
    }
    @Override
    public String refundQuery(String orderId, String alipayOrderId, String refundReqNum) {
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
        //设置请求参数
        AlipayTradeFastpayRefundQueryRequest alipayRequest = new AlipayTradeFastpayRefundQueryRequest();
        //商户订单号,商户网站订单系统中唯一订单号
        String out_trade_no = orderId;
        //支付宝交易号
        String trade_no = alipayOrderId;
        //请二选一设置
        //请求退款接口时,传入的退款请求号,如果在退款请求时未传入,则该值为创建交易时的外部交易号,必填
        String out_request_no = refundReqNum;
        alipayRequest.setBizContent("{\"out_trade_no\":\"" + out_trade_no + "\","
                + "\"trade_no\":\"" + trade_no + "\","
                + "\"out_request_no\":\"" + out_request_no + "\"}");
        String result = null;
        //请求
        try {
            result = alipayClient.execute(alipayRequest).getBody();
        } catch (AlipayApiException e) {
        }
        return result;
    }
    @Override
    public String close(String orderId, String alipayOrderId) {
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
        //设置请求参数
        AlipayTradeCloseRequest alipayRequest = new AlipayTradeCloseRequest();
        //商户订单号,商户网站订单系统中唯一订单号
        String out_trade_no = orderId;
        //支付宝交易号
        String trade_no = alipayOrderId;
        //请二选一设置
        alipayRequest.setBizContent("{\"out_trade_no\":\"" + out_trade_no + "\"," + "\"trade_no\":\"" + trade_no + "\"}");
        String result = null;
        //请求
        try {
            result = alipayClient.execute(alipayRequest).getBody();
        } catch (AlipayApiException e) {
        }
        return result;
    }
}
 最近下载更多
最近下载更多
                
                zolscy     LV24
                2024年11月29日
            
            
        
                微信网友_6602457430806528     LV6
                2023年9月21日
            
            
        
                13680889751     LV1
                2023年5月13日
            
            
        
                tanziyi1993     LV2
                2022年2月17日
            
            
        
                项目管理     LV6
                2021年12月12日
            
            
        
                wanglinddad     LV55
                2021年12月9日
            
            
        
                cc123456RR     LV5
                2021年10月27日
            
            
        
                加油干阳神     LV9
                2021年7月15日
            
            
        
                15871814851     LV1
                2021年7月5日
            
            
        
                橘子猫咪汽水     LV1
                2021年5月29日
            
            
        
 
                 
                 
                 最近浏览
最近浏览