基础配置类
import com.alipay.api.AlipayClient;
/* *
*类名:AlipayConfig
*功能:基础配置类
*详细:设置帐户有关信息及返回路径
*修改日期:2017-04-05
*说明:
*以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
*该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
*/
public class AlipayConfig {
/**
* 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
*/
public static String app_id = "";
/**
* 卖家支付宝账号ID,用于支持一个签约账号下支持打款到不同的收款账号,(打款到sellerId对应的支付宝账号)
* 如果该字段为空,则默认为与支付宝签约的商户的PID,也就是appid对应的PID
*/
public static String sellerId = "";
/**
* 商户私钥,您的PKCS8格式RSA2私钥(用支付宝RAS签名验签工具生成商户私钥和商户公钥,公钥上传到支付宝,私钥自己保存)
*/
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://127.0.0.1:9006/alipay/notify";
/**
* 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
*/
public static String return_url = "http://127.0.0.1:9006/alipay/returnUrl";
// 签名方式
public static String sign_type = "RSA2";
// 字符编码格式
public static String charset = "utf-8";
/**
* 支付宝网关
*/
public static String gatewayUrl = "https://openapi.alipay.com/gateway.do";
//请求数据格式
public static final String FORMAT = "json";
// 支付宝网关
public static String log_path = "C:\\";
// 统一收单交易创建接口
private static AlipayClient alipayClient = null;
}
支付下单代码:
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.yx.api.ms.artquarter.dto.UserWalletDTO;
import com.yx.api.ms.artquarter.util.SnowFlake;
import com.yx.api.ms.artquarter.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
/**
* 支付宝-电脑网站支付.
* <p>
* 电脑网站支付 https://docs.open.alipay.com/270/105898/
* 手机app支付
* @author
* @version 1.0
* @since 2018/6/14
*/
@Slf4j
@RestController
public class AlipayPagePayController {
/**
* 电脑网站支付
* @param response
* @param request
* @param userWalletDTO
* @return
* @throws AlipayApiException
*/
@ResponseBody
@PostMapping(value = "/alipay/page/gotoPayPage&