- 登录支付宝开发平台 -->开发接入 如下图
- 找到开发服务中的沙箱 点击查看沙箱开发的流程 进入到沙箱环境中 配置相应的信息 支付宝沙箱环境
- 在代码中配置支付宝支付对应的参数
#支付宝应用网关
pay.aliPay.gatewayUrl=https://openapi.alipaydev.com/gateway.do
#商户应用id
pay.aliPay.appId=2016101100659345
#开发者应用私钥 (格式为pkcs8)
pay.aliPay.appPrivateKey=MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDpLRkEsgtykhIGoZITEaEqTOOmrQ1bxFUucPRrTk6NxIeTAQihl2NjBW8F6qI9i623n1H9zkW8l4ZoheTpsH7L2/PKVpcWXlrPUpJBVxLXyTAeyDi3KqriYufLjBej7DW03d61mewVzrtSPjNCLdPu7eZQOc6w4G6x2GlhWZNB0sRDxaI3b4tZpsxoNNNCegpf/mNLOg+Oprby6/J8KefwV7Ew0lczN1uRpEWHEiQ4H9Z8wPR0APakqMZD9oJDFUhM9OjNSxQyhOeNOK6uotxqwgVSemHs/leaWKofLr90HBoTVayqz2RfDro2rRxFxJsHlQE0wI1Q4CesBikn3OarAgMBAAECggEBAMkJkOBzgVsuhUwiUYcPVBzcXgp+eV39UFPSH2nFAgVIxHsCEScBFzdwn+BCA898djIyssZY6ddH7SKBDnRNL4UkBnUVYv5uK21Ei8S6Bgz18P8ZMYz6xIqbK65bAqbaKRPflvyL0PicXPTzm84bJPaDNmdE7+egGNBM/c5pJIVCRWB9Yiv/kbxu8QhEZJlNCQOs5hFrcRhScqYcqWEkOS3xnvMWY7af2wojBAEjrYDxdhzt45+/aJoExGyeQX4UsBdIgLIryeC219zfEmhgR+nf2C16sR7wBWPVZzW5fMoYx5NRcJFTXWCWLXzZW36F59r2PS4I4CGv97E4FEnB88ECgYEA/E6WfzNJlWMO0ZTfC5JW6y+8y8z6QlByNZfMnXIl90fMeZ0LPzBbs8ZDt4MUqsYWrJy1inXKC0C3XZP81zKlX0t4aL8SwMKCyA7Otqv63rFAC9JRt9zWnRa+JWEoNdbZ0d7oCWCmpCY89ie6inNhlX9LmKQIuaebqE2JU3KxnrcCgYEA7JbTR4JGFZZSw00qvCLh1W0fFBNa8CFNNgks0VV9IjIeNJ68XuJUdAb5Horuuo6jUZtzU5qr4ZkElvddv/VC8CoUCqUpOsU3sNtHbiwbyxSOitsoWC2CNpmqDc67Pq3eyAXryjRbpSD9fH8huRy4K0J8sd66AoPA2UB6Rc5Lg60CgYEAhXhZWs7Z1UICu9ICMA/pFR86w6EanmwKDtnPr1aMSQTdYVQ3d+TwDekLN5ALJdAGfKelzapECLHijolTzs+G9iNpfhfeJsR/BK/4oF/YJWgk1lwbSKV1jsJSMln0OI8AyWoe258aaGmmBB2+K7Gf5MLjTcswpm3JBT6HL/LTjX8CgYEA0zX22nD/tkfkDPy3+Qs/B3UKeLaqyZNBRcs9GoiyVLPfaWSIkECH2qla/xxS8XNjc/hOJcYASj977HZbWIJRRuyZxcMaop/sDtRD2aRBD7SDaI0sYEQIakwWl4sGeHdqWrGGhZbmde2Uvu8UIRj1hZEulvBaqOIMaSb5wZXgrmUCgYAPA57hnzq5VRm2NT13CjLqw946zhnD1M+gejp2lLAySiYo7ElEvlO+yLNQvo3M7d1Dd98V4+++DdgVvKfLAQb+8WeK0UGRjLE38zR4vkJ9i2kO02equge8ONbGBiBGcC0104oYyIrsPLTwP7nLHlL3BEp0lIyCsRYK3zK0YXLw4g==
#支付宝公钥
pay.aliPay.aliPayPublicKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnV7vZfn13Mxx7KXN4LbZr9LB4+bK/JR/t9tPeWTyd7xJcnGpVg5lZ2MCx5O/Zbfj0ORqATKlPMe95Wbr85eHz1U3jIgqKJuC87PoBU8YF+LtfSJEWFmD+uZfNDUAuG2NdJ1VTKtEHHmaGu3IXbA6ff6iF6iFNGO94Tyx0a+Wg2U9dJEnrtMNq
#同步地址
pay.aliPay.returnUrl=http://yxep7y.natappfree.cc/alipay/return
#异步地址
pay.aliPay.notifyUrl=http://yxep7y.natappfree.cc/alipay/notify
#请求支付宝接口返回数据格式,只支持 json
pay.aliPay.format=json
#编码集,支持 GBK/UTF-8
pay.aliPay.charset=UTF-8
#商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2
pay.aliPay.signType=RSA2
- 配置阿里支付Client
@Configuration
public class AliPayConfiguration {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Value("${pay.aliPay.gatewayUrl}")
private String gatewayUrl;
@Value("${pay.aliPay.appId}")
private String appId;
@Value("${pay.aliPay.appPrivateKey}")
private String appPrivateKey;
@Value("${pay.aliPay.aliPayPublicKey}")
private String aliPayPublicKey;
@Bean
public AlipayClient alipayClient(){
return new DefaultAlipayClient(gatewayUrl,appId,appPrivateKey,FORMAT_JSON,CHARSET_UTF8,aliPayPublicKey,SIGN_TYPE_RSA2);
}
}
- 接口快速接入
@Autowired
private AlipayClient alipayClient;
@ResponseBody
@RequestMapping(value = "/pagePay")
public String pagePay(AlipayVO alipayVO) throws AlipayApiException {
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
alipayRequest.setReturnUrl(returnUrl);
alipayRequest.setNotifyUrl(notifyUrl);
Map<String, Object> map = new HashMap<>();
map.put("out_trade_no", alipayVO.getOut_trade_no());
map.put("product_code", "FAST_INSTANT_TRADE_PAY");
map.put("total_amount", alipayVO.getTotal_amount());
map.put("subject", alipayVO.getSubject());
map.put("body", alipayVO.getBody());
alipayRequest.setBizContent(JSON.toJSONString(map));
return alipayClient.pageExecute(alipayRequest).getBody();
}
@ResponseBody
@RequestMapping(value = "/wapPay")
public String alipayPayChongRequest(AlipayVO alipayVO) throws AlipayApiException {
AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
request.setReturnUrl(returnUrl);
request.setNotifyUrl(notifyUrl);
AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
model.setOutTradeNo(alipayVO.getOut_trade_no());
model.setSubject(alipayVO.getSubject());
model.setTotalAmount(alipayVO.getTotal_amount());
model.setBody(alipayVO.getBody());
model.setTimeoutExpress("1d");
model.setProductCode("FAST_INSTANT_TRADE_PAY");
request.setBizModel(model);
return alipayClient.pageExecute(request).getBody();
}