要想完成支付宝沙箱支付就必须先完成这些设置后才能往后走

一、首先先注册

1.点击下面的网址,点击右上角的立即入驻,然后用支付宝账号扫码登陆。然后填写信息,登陆。支付宝开放平台

springboot实现支付宝沙箱退款 支付宝沙箱支付_asp.net

然后进入平台找到沙箱后点击进入

springboot实现支付宝沙箱退款 支付宝沙箱支付_springboot实现支付宝沙箱退款_02

 找到左侧沙箱应用点击自定义密钥

springboot实现支付宝沙箱退款 支付宝沙箱支付_asp.net_03

图3

点击公用后,进入支付宝密钥生成器。如图所示:

springboot实现支付宝沙箱退款 支付宝沙箱支付_asp.net_04

 进入后下载这个应用(支付宝平台)

springboot实现支付宝沙箱退款 支付宝沙箱支付_c#_05

下载好后进入生产密钥 (生成后的密钥记得保存好 后面配置需要用到)

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_06

 生产后复制应用公钥回到支付宝平台界面粘贴,保存修改

springboot实现支付宝沙箱退款 支付宝沙箱支付_c#_07

 以上步骤都完成后接下来继续下载开放平台服务端 SDK(点击此处点击此处),根据自己需要下载相对应语言的Demo 版本。我们是.net,直接下载.net就好(文件路径都设好,别乱下载不然就找不到文件了)

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_08

 完成以上后开始做个小实验吧

先进入VS新建一个项目,建好后导入下好的Demo文件进去(解决方案--右键--添加现有项目)

找到这个文件导入进来,导入进来后记得项目引用它。

springboot实现支付宝沙箱退款 支付宝沙箱支付_c#_09

 接下来创建一个Web窗体,界面从简就好(暂时只要这个做出来了就好,目的是为了能够理解到位,之后就可以把这些套用进你自己的项目)

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_10

 前端代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="zfb.aspx.cs" Inherits="ZFBao.zfb" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <h2>支付宝支付</h2>
        <label>订单名称:</label><asp:TextBox ID="TextName" runat="server"></asp:TextBox>
        <br />
        <label>付款金额:</label><asp:TextBox ID="TextPrice" runat="server"></asp:TextBox>
        <br />
        <label>商品描述:</label><asp:TextBox ID="TextADD" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" Text="立即提交" OnClick="Button1_Click" />
    </form>
</body>
</html>

 接下来去文件夹找到你下载的Demo文件的config.cs类,把它移入到你的项目里

并填入相对应的字段值(去沙箱控制台--沙箱环境--沙箱应用  进行查看相关信息)图3的那个地方

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_11

填写完后写“立即提交”的点击事件,(代码在下载的Demo文件里也有,在pagepay--pagepay页面的后台代码) 

using Aop.Api;
using Aop.Api.Domain;
using Aop.Api.Request;
using Aop.Api.Response;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ZFBao
{
    public partial class zfb : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            DefaultAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", config.sign_type, config.alipay_public_key, config.charset, false);

            string WIDout_trade_no = "1";//待会要测试的订单编号,一次只能一个编号
            // 外部订单号,商户网站订单系统中唯一的订单号
            string out_trade_no = WIDout_trade_no.Trim();

            // 订单名称
            string subject = TextName.Text.Trim();

            // 付款金额
            string total_amount = TextPrice.Text.Trim();

            // 商品描述
            string body = TextADD.Text.Trim();

            // 组装业务参数model
            AlipayTradePagePayModel model = new AlipayTradePagePayModel();
            model.Body = body;
            model.Subject = subject;
            model.TotalAmount = total_amount;
            model.OutTradeNo = out_trade_no;
            model.ProductCode = "FAST_INSTANT_TRADE_PAY";

            AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
            // 设置同步回调地址
            request.SetReturnUrl("");
            // 设置异步通知接收地址
            request.SetNotifyUrl("");
            // 将业务model载入到request
            request.SetBizModel(model);

            AlipayTradePagePayResponse response = null;
            try
            {
                response = client.pageExecute(request, null, "post");
                Response.Write(response.Body);
            }
            catch (Exception exp)
            {
                throw exp;
            }
        }
    }
}

接下来就是运行测试了(建议使用谷歌和火狐运行项目,IE的保护有点高,用IE应该完成不了支付宝的沙箱测试) 就会如下图一样

springboot实现支付宝沙箱退款 支付宝沙箱支付_c#_12

所以本次测试就使用谷歌进行 如下图:

点击提交后

springboot实现支付宝沙箱退款 支付宝沙箱支付_支付宝_13

 账号是支付宝平台自己给你提供的一条数据,去沙箱账号找到买家账号然后填入进去即可

springboot实现支付宝沙箱退款 支付宝沙箱支付_asp.net_14

 

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_15

 

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_16

 

springboot实现支付宝沙箱退款 支付宝沙箱支付_springboot实现支付宝沙箱退款_17

这样就成功了,之后就会自动回调到你之前写的地址 

 支付宝沙箱也可使用手机直接扫一扫进行付款。

 找到沙箱工具,用手机扫二维码下载支付宝沙箱版

springboot实现支付宝沙箱退款 支付宝沙箱支付_System_18

下载好后进行登录就好(不是用手机号登录,还是使用那个系统给你的账号进行登录) 登录进去后就可以用手机进行扫二维码付款啦~