• 【支付宝沙箱支付】麻瓜教程——申请----代码----修改测试----问题解决


    支付宝沙箱环境

    沙箱概述:

    沙箱内万物基于重定向

    • 重定向,顾名思义,就是重新指定方向,也就是说沙箱能够做到让沙箱内软件操作的文件、注册表等路径重定向到其他位置(沙箱指定位置),这样软件本来想操作的资源就不会被访问或者操作,保证资源的安全性。

    • 这也就是使用沙箱跑一些不明软件的原因,万一软件被恶意修改过,存在病毒,想破坏系统关键文件,也就不可能了。

    • 重定向我们还有个高级的词叫做“虚拟化”,也可以称作'隔离',说到底沙箱就是为程序提供一个虚拟化环境,也就是隔离环境,并保证程序所有操作都在这个隔离环境内。

    支付宝沙箱支付操作

    支付宝开放平台官网:https://open.alipay.com/

    1.搜索进入支付宝开放平台

    在这里插入图片描述

    2.登录,进入控制台

    1666842227038-2e6a8712-aabf-4df2-8212-89a0c663f83d.png

    3.进入沙箱

    在这里插入图片描述
    【其中有用的几个信息:APPID、支付宝网关地址、应用公钥】

    4.进入支付宝开发助手下载所需的工具(度娘搜索就有)
    • 下载工具
      在这里插入图片描述

    • 安装完后打开工具---------在这里提前复制一下 “ 应用公钥 ”

      在这里插入图片描述

    5.然后打开沙箱应用按照顺序操作
    • 沙箱应用
      image.png
    • 点击查看之后选择加签变更
      在这里插入图片描述
    6.进入文档中心下载demo
    • 在应用沙箱页面中有许多产品列表
      在这里插入图片描述

    • 下载好后由于是eclipse文件所以不能直接在idea运行,首先先创建一个web项目然后将下列的文件复制到项目中去
      【idea创建web项目:https://blog.csdn.net/m0_70083523/article/details/127396262?spm=1001.2014.3001.5502】
      在这里插入图片描述

    • 下载的文件是这样的:我们只需要复制文件到IDEA中就好【注意:idea中建立的web项目有一个index.jsp,先删除了避免复制跳过,下面文件也有index,jsp】

      在这里插入图片描述

    • IDEA完整的项目目录如图:

      在这里插入图片描述

    7.进行项目的修改与配置
    • 第一步:打开配置文件pom.xml进行maven导包
    
        <dependency>
          <groupId>junitgroupId>
          <artifactId>junitartifactId>
          <version>4.11version>
          <scope>testscope>
        dependency>
        <dependency>
          <groupId>com.alipay.sdkgroupId>
          <artifactId>alipay-sdk-javaartifactId>
          <version>3.4.49.ALLversion>
        dependency>
        <dependency>
          <groupId>org.springframeworkgroupId>
          <artifactId>spring-webmvcartifactId>
          <version>5.3.22version>
        dependency>
        <dependency>
          <groupId>javax.servletgroupId>
          <artifactId>servlet-apiartifactId>
          <version>2.5version>
          <scope>providedscope>
        dependency>
        <dependency>
          <groupId>org.apache.httpcomponentsgroupId>
          <artifactId>httpclientartifactId>
          <version>4.5.9version>
        dependency>
        <dependency>
          <groupId>commons-logginggroupId>
          <artifactId>commons-loggingartifactId>
          <version>1.1.3version>
        dependency>
        <dependency>
          <groupId>javax.servlet.jspgroupId>
          <artifactId>jsp-apiartifactId>
          <version>2.2version>
        dependency>
        <dependency>
          <groupId>javax.servletgroupId>
          <artifactId>servlet-apiartifactId>
          <version>2.5version>
        dependency>
      dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 第二步:打开项目下的com.alipay.config.AlipayConfig文件进行配置
      在这里插入图片描述

    注意这几个地方的内容要改:

    • 1.应用ID就是你的支付宝ID-----沙箱应用里面的ID
    • 2.商户私钥就是下载的那个软件生成的--
      在这里插入图片描述
    • 3.支付宝公钥是开发平台---"查看"处
      在这里插入图片描述
    • 4.剩下两个地方的地址修改【第三步】需要一项技术叫做“内网穿透”,这个有文档教程【https://blog.csdn.net/m0_70083523/article/details/127202792】
    • 5.支付宝网关【第四步】
    • 第三步:内网穿透地址换上,将方块圈的地方复制到我标识的要修改的地址
      【异步服务网址和跳转网址由于需要公网,所有要把内网穿透的网址复制上去】在这里插入图片描述
          // 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
          public static String notify_url = "要修改的地址/notify_url.jsp";
      
          // 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
          public static String return_url = "要修改的地址/return_url.jsp";
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • 支付宝网关也需要改一下,可以在你的支付宝沙箱环境里面找到
      【alipaydev是沙箱环境的,alipay是正式测试使用的】
         // 支付宝网关
          public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
      
      • 1
      • 2

    【以上操作和代码就完成了,整个任务就剩测试】


    8.Tomcat服务器运行

    ▶第一次运行可能会出错,看下控制台可能会有utf-8或者别的字符的原因的话就是去修改一下编码【IDEA右下角】

    在这里插入图片描述
    在这里插入图片描述

    9.进入环境

    ▶先将它换成GBK,运行,在换回utf-8,运行【不知原因】。等待服务器运行跳转进入沙箱环境

    在这里插入图片描述
    ▶进入付款页面之后----登录
    在这里插入图片描述

    ▶可以进入沙箱找到沙箱账号

    在这里插入图片描述
    ▶【有商家也有买家,咱们登录买家就行,账号复制上去输入支付密码就行了,过会支付成功你刷新账号页面就能看到商家余额和买家余额都变了。】

    出现的问题:

    ▶ 1 . 代码环境出错------按照上面操作一般不会出错,就记得编码那个地方得改一下再改回来。

    ▶ 2 . 环境没问题,点击付款后没有登录页面,出现
    在这里插入图片描述
    报上述错误需要我们去找客服了,有文档说在…………下方评论自己的APPID,那个方法我用不了,那个界面就静态,响应不了(可能宝在维护吧)

    所以我就直接问了客服【官方页面右下角】-----开始提问,发送用的支付宝的什么产品和报错,他会为你解答操作(很快的被回复了~~)
    在这里插入图片描述

  • 相关阅读:
    k8s之pod控制器
    Matplotlib
    【PAT甲级 - C++题解】1149 Dangerous Goods Packaging
    NetSuite ERP系统健康检查
    串口触摸屏的键盘控制
    视频汇聚/视频云存储/视频监控管理平台EasyCVR部署后无法正常启用是什么问题?该如何解决?
    systemverilog学习 ----队列
    SpringBoot+Thymeleaf上传头像并回显【表单提交】
    700 二叉搜索树中的搜索
    定义顶点和着色器
  • 原文地址:https://blog.csdn.net/m0_70083523/article/details/127667852