java 支付宝支付(手机APP支付、电脑网站支付)

本文主要介绍了使用Java进行支付宝支付的实现过程,包括手机APP支付和电脑网站支付的下单代码,以及支付宝的异步通知处理。同时提供了支付宝支付的官方接入资源链接。
摘要由CSDN通过智能技术生成

基础配置类

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&
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凱凱啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值