手机网站支付
适用于商家在移动端网页应用中集成支付宝支付功能。
商家在网页应用中调用支付宝提供的网页支付接口,接口会调起支付宝客户端内的支付模块,此时会从商家网页应用跳转到支付宝客户端中并开始支付;支付完成后会跳转回商家网页应用内,最后商家展示支付结果。
package com.tbd.bigdipper.util;
import com.alipay.api.AlipayApiException;
import com.alipay.api.CertAlipayRequest;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradeWapPayRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by Administrator on 2019/8/20.
*/
public class TextJkx {
// 支付宝网关,aliPayUrl
private static final String ALIPAY_URL = "https://openapi.alipay.com/gateway.do";
// 商户分配的appid
private static final String ALIPAY_PHONE_APPID = "ALIPAY_PHONE_APPID";
// 应用私钥
private static final String PRIVATE_PHONE_KEY = "PRIVATE_PHONE_KEY";
// 应用公钥证书路径
private static final String APP_PHONE_CERT_PATH = "APP_PHONE_CERT_PATH";
// 支付宝公钥证书文件路径
private static final String ALIPAY_PHONE_CERT_PATH = "ALIPAY_PHONE_CERT_PATH";
// 支付宝CA根证书文件路径
private static final String ALIPAY_PHONE_ROOT_CERT_PATH = "ALIPAY_PHONE_ROOT_CERT_PATH";
// 请求使用的编码格式,如utf-8,gbk,gb2312等
private static final String CHARSET = "UTF-8";
// 签名类型
private static final String SIGN_TYPE = "RSA2";
// 支付宝扫码支付回执请求接口
private static final String ALIPAYBACKURL = "ALIPAYBACKURL";
public static void main(String[] args) throws AlipayApiException {
DefaultAlipayClient alipayClient = aliPhonePaySignature();
AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的request
alipayRequest.setNotifyUrl(ALIPAYBACKURL);//在公共参数中设置回跳和通知地址
alipayRequest.setBizContent("{" +
" \"out_trade_no\":" + "20190823093804" + "," +
" \"total_amount\":\"1\"," +
" \"subject\":\"支付宝支付\"," +
" \"product_code\":\"QUICK_WAP_PAY\"" +
" }");//填充业务参数
String form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
System.out.println("===form===" + form);
}
/**
* @Description: 手机网站支付报文请求时自动进行签名
* @Author: Mr.Jkx
* @date: 2019/9/2 14:47
*/
public static DefaultAlipayClient aliPhonePaySignature() throws AlipayApiException {
CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
certAlipayRequest.setServerUrl(ALIPAY_URL);
certAlipayRequest.setAppId(ALIPAY_PHONE_APPID);
certAlipayRequest.setPrivateKey(PRIVATE_PHONE_KEY);
certAlipayRequest.setFormat("json");
certAlipayRequest.setCharset(CHARSET);
certAlipayRequest.setSignType(SIGN_TYPE);
certAlipayRequest.setCertPath(APP_PHONE_CERT_PATH);
certAlipayRequest.setAlipayPublicCertPath(ALIPAY_PHONE_CERT_PATH);
certAlipayRequest.setRootCertPath(ALIPAY_PHONE_ROOT_CERT_PATH);
DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);
return alipayClient;
}
}
虫洞
手机网站支付官方文档链接