支付宝支付功能(使用支付宝sdk)
1、准备参数
新建一个公共参数配置类NewAlipayconfig (可将参数存放到config配置文件中读取)
public class NewAlipayconfig
{
public NewAlipayconfig()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
// 应用ID,您的APPID
public static string app_id = ""; // 支付宝网关
public static string gatewayUrl = "https://openapi.alipay.com/gateway.do"; // 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
public static string alipay_public_key = "MIIBIjANBgkqhk+ng8kcURzCNMuyOGIUsssQM66m6hNBU6BXqCPcKZDEZVdlXW3it4jqDveq1utRAoYNPj9wwSFiXxmmjA4/7LhlOMxwJ28R+7aB4tDgiYjixcuQIDAQAB"; // 商户私钥,您的原始格式RSA私钥
public static string private_key = "00j7jSssF8+2QdNcIbIhAoGBAPYCd+PLanGuNHMDzumBQ=="; // 签名方式
public static string sign_type = "RSA2"; // 编码格式
public static string charset = "UTF-8"; //同步回调地址
public static string AliPayReturn_url = "同步回调地址:即支付成功之后,跳转的页面"; //异步回调通知地址
public static string AliPayNotify_url = "异步回调通知地址:即支付成功,会主动调用该地址";
}
注意:1、以上参数app_id、gatewayUrl可直接在支付宝商户平台获取
2、通过支付宝RSA签名验签工具生成一对商户公钥和秘钥,商户秘钥保存(即private_key,签名时使用),然后通过商户公钥到支付宝商户平台设置,来获取支付宝公钥
3、建议将商户系统业务状态的修改,通过异步通知地址来更新,以异步通知的地址为准
2、支付宝PC端支付
DefaultAopClient client = new DefaultAopClient(NewAlipayconfig.gatewayUrl, NewAlipayconfig.app_id, NewAlipayconfig.private_key, "json", "1.0", "RSA2", NewAlipayconfig.alipay_public_key, "utf-8", false);
// 外部订单号,商户网站订单系统中唯一的订单号
string out_trade_no = 100001;
// 订单名称
string subject = "购买商品";
// 付款金额
string total_amout = 0.01;// 商品描述
string body = "支付宝商品支付"; // 组装业务参数model
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
model.Body = body;
model.Subject = subject;
model.TotalAmount = total_amout;
model.OutTradeNo = out_trade_no;
model.ProductCode = "FAST_INSTANT_TRADE_PAY"; AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
// 设置同步回调地址
request.SetReturnUrl(NewAlipayconfig.AliPayReturn_url);
// 设置异步通知接收地址
request.SetNotifyUrl(NewAlipayconfig.AliPayNotify_url);
// 将业务model载入到request
request.SetBizModel(model); AlipayTradePagePayResponse response = null;
try
{
response = client.pageExecute(request, null, "post");
Response.Write(response.Body);
}
catch (Exception exp)
{
throw exp;
}
通过以上代码即可实现PC端支付宝支付功能,建议首次接入支付宝支付功能时,先将支付宝沙箱环境测通(支付宝支付测试环境)
2、移动端支付宝支付
DefaultAopClient clientWap = new DefaultAopClient(NewAlipayconfig.gatewayUrl, NewAlipayconfig.app_id, NewAlipayconfig.private_key, "json", "1.0", NewAlipayconfig.sign_type, NewAlipayconfig.alipay_public_key, NewAlipayconfig.charset, false);
// 外部订单号,商户网站订单系统中唯一的订单号
string out_trade_no_wap = 100002;
// 订单名称
string subject_wap = "购买商品";
// 付款金额
string total_amout_wap = 0.01;// 商品描述
string body_wap = "支付宝商品支付";
// 支付中途退出返回商户网站地址
string quit_url = "";//如果用户中途退出 则跳转到该页面
// 组装业务参数model
AlipayTradeWapPayModel modelWap = new AlipayTradeWapPayModel();
modelWap.Body = body_wap;
modelWap.Subject = subject_wap;
modelWap.TotalAmount = total_amout_wap;
modelWap.OutTradeNo = out_trade_no_wap;
modelWap.ProductCode = "QUICK_WAP_WAY";
modelWap.QuitUrl = quit_url;
AlipayTradeWapPayRequest requestWap = new AlipayTradeWapPayRequest();
// 设置支付完成同步回调地址
requestWap.SetReturnUrl(NewAlipayconfig.AliPayReturn_url);
// 设置支付完成异步通知接收地址
requestWap.SetNotifyUrl(NewAlipayconfig.AliPayNotify_url);
// 将业务model载入到request
requestWap.SetBizModel(modelWap);
AlipayTradeWapPayResponse responseWap = null;
try
{
responseWap = clientWap.pageExecute(requestWap, null, "post");
Response.Write(responseWap.Body);
}
catch (Exception exp)
{
throw exp;
}
下面提供支付宝.net版sdk和签名生成工具:链接:https://pan.baidu.com/s/1BCW69nfS2uPhqmlThZOvhw 提取码:z404
支付宝支付功能(使用支付宝sdk)的更多相关文章
- laravel实现支付宝支付功能
起因 前段时间因为项目中需要实现支付宝手机网站支付功能,所以写下这篇文章以作记录,不足之处,欢迎指教. 后端框架:Laravel 5.5 业务功能 适用于商家在移动端网页应用中集成支付宝支付功能.商家 ...
- django中使用事务以及接入支付宝支付功能
之前一直想记录一下在项目中使用到的事务以及支付宝支付功能,自己一直犯懒没有完,趁今天有点兴致,在这记录一下. 商城项目必备的就是支付订单的功能,所以就会涉及到订单的保存以及支付接口的引入.先来看看订单 ...
- SSM 实现支付宝支付功能(图文详解+完整代码)
阅读本文大概需要 4 分钟. 前言 本教程详细介绍了如何使用ssm框架实现支付宝支付功能.本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释, ...
- Django——支付宝支付功能
前期准备 首先我们需要获得支付宝提供的权限与接口,在蚂蚁开放平台进行相关申请:https://openhome.alipay.com/platform/appDaily.htm?tab=info 申请 ...
- ThinkPHP接入支付宝支付功能
最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下: 一.下载支付宝接口包 下载地址:https://b.alipay.com/o ...
- mui实现支付宝支付功能
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>H ...
- ThinkPHP5.0 实现 app支付宝支付功能
前几天做项目,要求要用到支付宝接口,第一次做,弄了好几天 各种坑啊,简单写一下我做支付宝支付的过程,希望对也是第一次做支付宝支付的童鞋有帮助, 不懂的可以先去支付平台看一下支付宝支付的文档,我是下的d ...
- cocos2d-x C++ iOS工程集成第三方支付宝支付功能
一.在支付宝开放平台下载支付宝SDK(https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.WWgVz8&tr ...
- 电脑端支付宝支付 -前端获取支付宝返回的form 以及submit 调用支付扫码页面
前端调取支付宝支付接口(后台进行封装,没有直接调取支付宝接口),调用返回的数据中,将会有一串的form表单数据返回,我们需要将此表单在当前调用页面submit下,以跳转到支付扫码页: 支付宝返回的fo ...
随机推荐
- 字体图标转base64
如果你在阿里矢量库下载了字体图标在项目引入无法显示时,可以把图标转成base64 在线转换的链接 https://transfonter.org/ css字体图标的制作
- 服务器上传文件到oss,以及备份
公司的前端js,css是发布到oss的,所以要求后台在发布的同时先把即将要覆盖的文件备份到服务器上 步骤是先上传文件到服务器,服务器上传到oss服务器之前先备份相同文件名的文件 public clas ...
- 从surfaceflinger历史变更谈截屏
众所周知,有一个程序screencap可以截屏,这个程序十分简单,只是使用了surfaceflinger服务的截屏功能. 所以要了解截屏,看surfaceflinger服务的代码是不二首选.但是sur ...
- 0MQ讲述多线程魔法
为什么你想过的所有你所知道关于并发的事情,不是完全神经病的(Insane),就是假的(Bogus). 并发的定律,e=mc*c.这里并不是爱因斯坦的质能方程.而是 努力 = 代码规模 * (线程冲突碰 ...
- mysql安装与sqlyog安装
首先是mysql安装,参考下面两个链接 https://www.cnblogs.com/gengyufei/p/11735358.html#_label4 https://www.jb51.net/a ...
- Python3 之 with语句(高效、便捷)
在实际的编码过程中,有时有一些任务,需要事先做一些设置,事后做一些清理,这时就需要python3 with出场了,with能够对这样的需求进行一个比较优雅的处理,最常用的例子就是对访问文件的处理. 文 ...
- Elasticsearch系列---全面了解Document
概要 本篇主要介绍一下document的知识,对document的元数据和基本的语法进行讲解. document核心元数据 前面入门实战一节有简单介绍过document数据示例,这次我们来详细了解一下 ...
- 数据库求闭包,求最小函数依赖集,求候选码,判断模式分解是否为无损连接,3NF,BCNF
1.说白话一点:闭包就是由一个属性直接或间接推导出的所有属性的集合. 例(1): 设有关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C} ...
- Windows Server 2008 服务器重启后卡死在Windows Update 页面问题处理
Windows Update 服务器 服务器是联想RD640 操作系统Windows Server 2008 R2 Enterprise版 补丁版本是SP1 远程windows服务器时,一直处于远程建 ...
- day02_Requests模块
1.anaconda的安装 1.1 .安装可执行程序 1.2 .配置环境变量 根据环境变量的先后顺序去查找可执行程序文件,如果查找到就执行,如果查找不到就报错. anaconda主要配置: ...