没有合适的资源?快使用搜索试试~ 我知道了~
首页C#支付宝接口文档实例源码带有详细注释
C#支付宝接口文档实例源码带有详细注释
4星 · 超过85%的资源 需积分: 10 335 下载量 165 浏览量
更新于2023-06-13
评论 3
收藏 116KB DOC 举报
C#支付宝接口文档实例源码带有详细注释 很详细的讲解了 支付宝的支付功能 支付宝接口源码
资源详情
资源评论
资源推荐
大型网上购物系统除了能让会员选择货到付款结账方式外,还应该提供一些更方便快捷的网上支付方式。
如果网上商店没有足够的实力提供会员直接在网站中建立现金账户的功能,就可以将订单信息转接到支付
宝,让会员从支付宝付款。当然就算会员可以在网站上建立自己的现金账户,提供支付宝支付功能也不失
为另一种方便快捷的支付方式,这可以给客户提供更多可选的支付方式。
首先,网上购物系统必须与支付宝公司签订合作协议,以确保从本购物网站上传到
支付宝网站上的订单信息能被正确接收。
当会员于购物网站上买下一系列商品并选择支付宝付款方式后,购物系统即将会员购物的订单信息转发到
支付宝,网站页面也会转到支付宝的付款页面。此时,支付宝页面会发送一个验证信息到本网站以确认支
付宝正确收到订单信息。
会员于支付宝网站付款完成后,网站页面会重新跳回本购物网站,同时支付宝会将已付款的订单信息发回
本网站以便对本购物网站的数据库进行必要的修改操作。另外本网站还需要向支付宝网站发送一个返回信
息,告知支付宝本系统已正确收到付款完毕的订单信息并且已经完成对数据的处理操作。
向支付宝网站传送订单信息时主要参数的含义:
:支付接口
:识别是何接口实现何功能的表示
:商家签约时的支付宝账号,即收款的支付宝账号
:安全校验码,与 是一组
:商户 ,合作伙伴
:加密类型²²²²²²²²
:编码类型
:展示地址,即在支付宝页面时商品名称旁边的“详情”的链接地址
:会员订单编号,订单编号必须在本系统中保持唯一
:商品名称,也可称为订单名称,该接口并不是单一的只能买一样东西,可把一次支付当作一次
下订单
:商品描述,即备注
:商品价格,也可称为订单的总金额
源码分析(C#):
首先必须建立一个通知页面()和一个返回页面()以接受并验证从支付宝返
回的信息并对数据库中相应的订单信息做修改处理操作。
代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Collections.Specialized;
using System.IO;
using Gateway;
/// <summary>
/// 创建该页面文件时,请留心该页面文件中无任何 HTML 代码及空格。
/// 该页面称作“通知页”,是异步被支付宝服务器所调用。
/// 当支付宝的订单状态改变时,支付宝服务器则会自动调用此页面,因此请
做好自身网站订单信息与支付宝上的订单的同步工作
/// </summary>
public partial class Alipay_Notify : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string alipayNotifyURL =
"https://www.alipay.com/cooperate/gateway.do?
service=notify_verify";
//string alipayNotifyURL =
"http://notify.alipay.com/trade/notify_query.do?";//此路径
是在上面链接地址无法起作用时替换使用。
string partner = ""; //partner 合作伙伴 id
(必须填写)
string key = ""; //partner 的对应交易安全校验码(必须
填写)
string _input_charset = "utf-8";//编码类型,完全根据
客户自身的项目的编码格式而定,千万不要填错。否则极其容易造成 MD5 加密
错误。
alipayNotifyURL = alipayNotifyURL + "&partner=" +
partner + "¬ify_id=" + Request.Form["notify_id"];
//获取支付宝 ATN 返回结果,true 是正确的订单信息,false 是
无效的
string responseTxt =
AliPay.Get_Http(alipayNotifyURL, 120000);
//*******加密签名程序开始*******
int i;
NameValueCollection coll;
//Load Form variables into NameValueCollection
variable.
coll = Request.Form;
// Get names of all forms into a string array.
String[] requestarr = coll.AllKeys;
//进行排序;
string[] Sortedstr =
AliPay.BubbleSort(requestarr);
//构造待 md5 摘要字符串 ;
StringBuilder prestr = new StringBuilder();
for (i = 0; i < Sortedstr.Length; i++)
{
if (Request.Form[Sortedstr[i]] != "" &&
Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type")
{
if (i == Sortedstr.Length - 1)
{
prestr.Append(Sortedstr[i] + "=" +
Request.Form[Sortedstr[i]]);
}
else
{
prestr.Append(Sortedstr[i] + "=" +
Request.Form[Sortedstr[i]] + "&");
}
}
}
prestr.Append(key);
string mysign = AliPay.GetMD5(prestr.ToString(),
_input_charset);
//*******加密签名程序结束*******
string sign = Request.Form["sign"];
if (mysign == sign && responseTxt == "true") //
验证支付发过来的消息,签名是否正确,只要成功进如这个判断里,则表示该
页面已被支付宝服务器成功调用
剩余24页未读,继续阅读
红面狼
- 粉丝: 61
- 资源: 89
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论14