前言
之前一直想学习网上的电商支付功能觉得很厉害,做了之后发现简单的像个小弟弟,网上有很的关于沙箱的相关技术但是总觉的很繁琐,所以我就做了一篇学习用的支付宝沙箱支付!!!
1.先做第三方配置
首先登陆支付宝https://open.alipay.com
2.用手机打开官方的支付宝扫一扫登陆,然后选择沙箱环境
3.进入沙箱的主界面
4.设置密钥:设置密钥需要下载生成密钥的工具
5.
6.
7.
8.
9.
回调地址可以自定义(是你扫码完成之后要跳转的界面)
设置完成之后 ,再去官网下载一个.net的demo
网址 :https://docs.open.alipay.com/270/106291/
下载成功之后 DEMO文件里面 有一个 Bin 目录
点击进入 Bin目录里面有dll程序集
在项目里面引用这个 dll程序集
下载沙箱版本的支付宝才能支付
沙箱app登录要用生成的账户进行登录否择登录和注册不了(这是个坑之前不知道浪费了很多时间)
下面是控制器代码
public ActionResult OrderCarts( )
{
Random random = new Random();
string pirvateKey = //这里是RSA2生成的商户私钥
string appId = //这里是Appid
string publicKey = //这里是支付宝公钥
IAopClient client = new DefaultAopClient(支付宝网关, appId, pirvateKey, "json", "1.0", "RSA2"//签名, publicKey, "utf-8" //格式, false);
//业务逻辑
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
model.Body = "买不了吃亏"; //描述 //商品描述
model.Subject = "烦死";//名称 //商品名称
model.TotalAmount = Session["Moneys"].ToString();//价格 商品价格
model.OutTradeNo = random.Next(13245, 12345642).ToString(); //随机数
model.ProductCode = "FAST_INSTANT_TRADE_PAY";
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
// 设置同步回调地址
// 支付成功之后要跳转的页面
request.SetReturnUrl("http://localhost:6871/Order/OrderIndex");
// 设置异步通知接收地址
request.SetNotifyUrl("");
// 将业务model载入到request
request.SetBizModel(model);
AlipayTradePagePayResponse response = null;
try
{
response = client.pageExecute(request, null, "post"); //调用支付宝 它是以Post 方式
}
catch (Exception exp)
{
throw exp;
//LogHelper.Error(exp.Source,exp.Message); //这个是我的Log4et
}
Response.Write(response.Body); //把支付宝反回来的数据 全部加载到页面上
return View();
}
//下面是效果
在这里插入图片描述在这里插入图片描述
支付成功之后 显示的页面
http://localhost:6871/Order/OrderIndex(这个是支付宝的二维码界面哦)大功告成!!!!!!
来源:CSDN
作者:小笨鸟扭一扭
链接:https://blog.csdn.net/qq_39545900/article/details/103241594