首先,创建一个支付宝手机网站支付的应用,里面会有
https://openhome.alipay.com/platform/isvAppPage.htm#/app/2019042264289117/package
但是,这个产品是需要签约
代码实现:
package application.service.facetoface;import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradeWapMergePayModel;
import com.alipay.api.domain.AlipayTradeWapPayModel;
import com.alipay.api.request.AlipayTradeWapPayRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;import javax.servlet.http.HttpServletResponse;@Service
@Lazy
@Scope("singleton")
@Slf4j
public class AliPayService {private final static String APP_ID = "2019042264282184";private final static String APP_PRIVATE_KEY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCqGrUGv0stPew24OGzM1XcqIogmvhB5k+RJOzCpgX382mlINiNvKYrSsKy2GHdNc+FKUHyvwlpu4gqx4r/I9SaCf8aQbo9cZj9aGfrxq+eHsQkRlS8h8pOQkCtbA/o3VsPVHLKHiQLyRqL9Y0FYigfmuBBzcmpaml6kzSfnskdbYe5uxpN4/OlzI6aHTdXlV42tpIysGX2O/udbLeVhfT5p8xOqlCkCAzlkvuBm4i9EuI61S0D3PS1ngGW1UZ5ciYJaORm/4LxX9h/lBg+ABeCcY7GqJ5D6y7RqyHHT5WKF9YbKUCm+IQBbAtQR1vY68kmgXLuEsul+pc/vLPcKa5tAgMBAAECggEBAJy3bE6iEQXGhgjtWKM7yYA4+sEdZVl5cZbceRC/2sHczVkoELtMsZ8zCnuxJUCjYeRh5XNak7aI4uPe4W08upOMYC31njsbnILjHNM5QvUfjT+KWGk1hapiGaps4597yHgwKm2SJU2CYuXNPbZW/3ZWvwOBL6jY9ALM+m+Q3+MuVBW03v/f0BhaEHqQMkLn0TIVtZLK91cShOStHC9kd1JbDGKDL1GPinMO4AX8eO5xkeYCCI1vyTM9hjX71vWmfy3UsGhkD9hPXHTa4ZGMY3FFU4vyS4LebsgNXUMoxMHx8p0bQiGnYdQrgqgJIaR63hOIFhb5N5lSsUvx6958eyECgYEA27Xi6ogtnsm4x/M4fZ8MktVGHZrAxi4UQczOm1jj2ZpWXWpOUS8O6nku/l7Zs2uTjDKsvCEOq8mMQr4wKjtP+vZT8tJALLLLiP2EOqei8kS7zt0ujYdNm2tBrs5JrWNJQpj0892pG4YkmihX6td7N7xvgFUQRSX/SsiOXLBTDBUCgYEAxjNNO+7yJvMS3o7Xi163X5cnn8h3u3wvflMC0iSKGQDEYKbxNWgDL+uwAEleIOUH0hwRmkG7LEktqLL+nDv5MvAppWGpzTBIFSqUOXjp7k5qhJYd+0uET9GHGf4Hvjl+TNNEZurKVll27NtHczhyIVO5qGuwPVE10bbFFySctvkCgYAwuKviQGKFdMwyIuBjExMRuJO82uVmzS8WzFkAn/ye85e1TW6imCHhow/lvpjeLbvhehdN/LKpK5+b6Vr68n4w89D35uHuR5PVBAr/is8alF1laSz6m4d9MJK3Ne2msn67cvnW3k+y19NkEBA29qPPX00Gk1ZxTxTGu6S+LyerZQKBgEN30TG2rB2QHvs9uqfJrThP9wAQOJnMs0oYLdyk7ZGHTlHsYi2g43zbiQT/9JfT/u6J+X/+Ih34Jx/HFp7OV4z8beDLNwcPCWqTHPPXciJZ9S5+/2O8mCSnmYrCi5Y4cgLq49z4zbnJKI+GMXNKYqdvncJ0LgEhdOWXhs3S+7nZAoGBAIslyKugNUWMe5XMyfY6WBX4rqsKC5xzsYuAqjot+TLOvuukEG9nEU4hZlH+ysAQ+pFGn5iOHaATdsr5Crf43IxnXSeS2Ke5yRUoZ3pvPw9tsbQ0loWK1b1B3m7YjqgayxqTkoxcGbrM/FypyR5ePSRj3T5gY7ecWFLvL/GPXE6E";private final static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhqsWfleEHenZkfnelFpi05xBNQoclvDbObHjt0VgQA5c8up24ijx0/IcV6Cl8nC3sc6MXuYT8ouAOSDrR/IDUmuS8UD/oxOlfwdvgIcnykeJditlPeWlAHfFw+T2papdNcWEHrOZFYNsLJ+AJylA8uCcY/uurxf6Ywuip//UTrN3xLnHBCs2uDSz2yDs/zF7YEK7A+hbnyzw/mGEHrGhR0wLqu1gnrcN5veDDXPb4dUNgLXl9REJS5FR4J6DEiHci2rjSqUGIrj0O5R2RW5edm1ZEY+QgizVpO4bUO6Yvf0QtHJRoZjgLhH6DEK76yt2XE5WzLTdlp84I+I2gyHGmwIDAQAB";private final static String CHARSET ="UTF-8";public void alipPay(HttpServletResponse httpServletResponse) throws Exception{AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2"); //获得初始化的AlipayClientAlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的requestAlipayTradeWapPayModel model = new AlipayTradeWapPayModel();model.setOutTradeNo(System.currentTimeMillis()+"");//设置支付宝支付的订单号model.setSubject("商品名称");//商品名称model.setTotalAmount("0.01");//支付金额model.setBody("这个是一个商品支付");//商品描述model.setTimeoutExpress("30m");//超时时间model.setProductCode("000");//商品Code//设置参数alipayRequest.setBizModel(model);alipayRequest.setNotifyUrl("https://www.baidu.com");alipayRequest.setReturnUrl("https://www.baidu.com");String form="";try {form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单} catch (AlipayApiException e) {e.printStackTrace();}System.out.println(form);httpServletResponse.setContentType("text/html;charset="+CHARSET);httpServletResponse.getWriter().write(form);//直接将完整的表单html输出到页面httpServletResponse.getWriter().flush();httpServletResponse.getWriter().close();}
}