您当前的位置: 首页 > 

杨林伟

暂无认证

  • 2浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

淘东电商项目(60) -聚合支付(集成支付宝)

杨林伟 发布时间:2020-05-15 17:26:40 ,浏览量:2

引言

本文代码已提交至Github(版本号:256c7e9012276479da34d7d07fba707eb955710a),有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

阅读本文前,有兴趣的同学可以参考我之前写的聚合支付的文章:

  • 《淘东电商项目(52) -聚合支付开篇》
  • 《淘东电商项目(53) -银联支付案例源码分析》
  • 《淘东电商项目(54) -银联支付案例(同步与异步)》
  • 《淘东电商项目(55) -支付系统核心表设计》
  • 《淘东电商项目(56) -支付系统分布式事务的解决方案》
  • 《淘东电商项目(57) -聚合支付(支付令牌接口)》
  • 《淘东电商项目(58) -聚合支付(基于设计模式自动跳转支付接口)》
  • 《淘东电商项目(59) -聚合支付(集成银联支付)》

目前「淘东电商项目」的聚合支付模块,已经完成了银联支付的集成,接下来主要讲解集成支付宝,其实支付宝集成的原理跟银联支付大同小异,接下来不会详细的描述其细节代码,直接讲解集成流程。

本文目录结构: l____引言 l____ 1. 支付宝沙箱环境相关申请 l________ 1.1 Demo下载地址以及沙箱环境 l________ 1.2 沙箱环境配置 l____ 2. 项目集成 l____ 3. 测试

1. 支付宝沙箱环境相关申请 1.1 Demo下载地址以及沙箱环境

本文不专门讲解支付宝Demo源码,有兴趣的同学们可以下载来自己看案例源码,支付宝案例SDK下载地址:https://docs.open.alipay.com/270/106291/ 在这里插入图片描述

使用支付宝直接扫码进入沙箱环境即可配置,支付宝沙箱环境:https://openhome.alipay.com/platform/appDaily.htm 在这里插入图片描述

1.2 沙箱环境配置

扫码进入后,选择“自研开发服务”,并填写个人的相关信息: 在这里插入图片描述 点击确认之后,会进入沙箱配置环境: 在这里插入图片描述 公钥和秘钥使用支付宝的生成工具生成,本文不再详述,具体可以参考我的博客:《如何配置支付宝沙箱环境》。

2. 项目集成

1.新增taodong-shop-alipay-plugin插件模块: 在这里插入图片描述 2.新增模块添加maven依赖:


    
        com.alipay.sdk
        alipay-sdk-java
        3.7.4.ALL
    

3.增加配置文件(这里其实是从Demo里复制过来的,如果配置的话,只需要配置前三个即可):

public class AlipayConfig {
	
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

	// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
	public static String app_id = "";
	
	// 商户私钥,您的PKCS8格式RSA2私钥
    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://工程公网访问地址/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";

	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String return_url = "http://工程公网访问地址/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";

	// 签名方式
	public static String sign_type = "RSA2";
	
	// 字符编码格式
	public static String charset = "utf-8";
	
	// 支付宝网关
	public static String gatewayUrl = "https://openapi.alipay.com/gateway.do";
	
	// 支付宝网关
	public static String log_path = "C:\\";


//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

    /** 
     * 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
     * @param sWord 要写入日志里的文本内容
     */
    public static void logResult(String sWord) {
        FileWriter writer = null;
        try {
            writer = new FileWriter(log_path + "alipay_log_" + System.currentTimeMillis()+".txt");
            writer.write(sWord);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

4.支付服务,完善支付宝支付策略者AliPayStrategy代码:

/**
 * description: 支付宝支付渠道
 * create by: YangLinWei
 * create time: 2020/5/13 4:41 下午
 */
@Slf4j
public class AliPayStrategy implements PayStrategy {

	@Override
	public String toPayHtml(PaymentChannelEntity pymentChannel, PayMentTransacDTO payMentTransacDTO) {
		log.info(">>>>>支付宝参数封装开始            
关注
打赏
1662376985
查看更多评论
0.2489s