手机网站支付(公钥证书方式)

手机网站支付

适用于商家在移动端网页应用中集成支付宝支付功能。
商家在网页应用中调用支付宝提供的网页支付接口,接口会调起支付宝客户端内的支付模块,此时会从商家网页应用跳转到支付宝客户端中并开始支付;支付完成后会跳转回商家网页应用内,最后商家展示支付结果。

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;
    }
}

虫洞

手机网站支付官方文档链接

发布了35 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43948057/article/details/100512984
今日推荐