ASP.NET实现支付宝接口功能

最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下:

一、下载支付宝接口包

下载地址:

https://b.alipay.com/order/productDetail.htm?productId=2012111200373124&tabId=4#ps-tabinfo-hash

具体如何下载,我就不在罗嗦了~~

很多人反映,用支付宝的接口到最后面会出现验证错误。其实,这里需要对接口程序进行一下改造。需要添加几个自定义函数。为了让大家以后避免出现同样的问题,我把我改造好的支付宝接口程序上传了( --> 猛戳这里下载附件
)。大家可以下载下来,解压后放到框架的Vendor目录中即可~

二、重新整理接口包文件,这一步应该算是比较关键的(个人认为)

下载下来的接口包文件有很多语言的源码,

我们选择 create_direct_pay_by_user-PHP-UTF-8 这个名称的接口文件。里面包括如下文件:

images文件里是支付宝相关的一些标志的图片,我们暂不管他,lib文件很重要,是整个接口的核心类文件;

alipay.config.php是相关参数的配置文件

alipayapi.php  是支付宝接口入口文件

notify_url.php 是服务器异步通知页面文件;

return_url.php 是页面跳转同步通知文件;

在ThinkPHP的框架文件下,找到Extend 进入,再进入Vendor,在Vendor文件夹下,新建文件夹Alipay,把支付宝作为第三方类库引入。然后,复制支付宝接口文件包中lib文件里的所有文件。一共4个文件,如下:

现在对以上文件进行重命名,

alipay_core.function.php重命名为:Corefunction.php;

alipay_md5.function.php重命名为:Md5function.php;

alipay_notify.class.php重命名为:Notify.php;

alipay_submit.class.php重命名为:Submit.php;

然后,打开Submit.php文件,把以下代码去掉;

1 require_once("alipay_core.function.php");
2 require_once("alipay_md5.function.php");

同样,打开Notify.php文件,把以下两段代码去掉

1 require_once("alipay_core.function.php");
2 require_once("alipay_md5.function.php");

为什么要去掉以上两个文件中的这两段代码,因为在项目中调用接口文件的时候,我把所有4个核心文件都通过vendor来进行引入。所以,这不再需要导入。

到此,支付宝接口包相关核心类库的整理基本完成。现在开始在项目中调用;

三、在项目中调用支付宝接口

调用分两步:

1、在配置文件中Conf/Config.php文件中对支付宝相关参数进行配置:

//支付宝配置参数
‘alipay_config‘=>array(
        ‘partner‘ =>‘20********50‘,   //这里是你在成功申请支付宝接口后获取到的PID;
     ‘key‘=>‘9t***********ie‘,//这里是你在成功申请支付宝接口后获取到的Key
     ‘sign_type‘=>strtoupper(‘MD5‘),
     ‘input_charset‘=> strtolower(‘utf-8‘),
     ‘cacert‘=> getcwd().‘\\cacert.pem‘,
     ‘transport‘=> ‘http‘,
       ),
      //以上配置项,是从接口包中alipay.config.php 文件中复制过来,进行配置;

‘alipay‘   =>array(
  //这里是卖家的支付宝账号,也就是你申请接口时注册的支付宝账号
‘seller_email‘=>‘[email protected]‘,

//这里是异步通知页面url,提交到项目的Pay控制器的notifyurl方法;
‘notify_url‘=>‘http://www.xxx.com/Pay/notifyurl‘, 

//这里是页面跳转通知url,提交到项目的Pay控制器的returnurl方法;
‘return_url‘=>‘http://www.xxx.com/Pay/returnurl‘,

//支付成功跳转到的页面,我这里跳转到项目的User控制器,myorder方法,并传参payed(已支付列表)
‘successpage‘=>‘User/myorder?ordtype=payed‘,   

//支付失败跳转到的页面,我这里跳转到项目的User控制器,myorder方法,并传参unpay(未支付列表)
‘errorpage‘=>‘User/myorder?ordtype=unpay‘,
),

参考网址

http://www.thinkphp.cn/code/240.html

时间: 2024-12-23 12:48:56

ASP.NET实现支付宝接口功能的相关文章

Thinkphp集成手机支付宝接口功能

最近做微商城,需要实现手机wap支付功能,选择的是支付宝的接口支付功能.这里是我用的是支付宝“手机网站支付”产品(注:该产品要支付宝企业账号才能申请),具体步骤如下: 一.下载支付宝接口包 https://b.alipay.com/order/productDetail.htm?productId=2013080604609688 二.重新整理接口包文件 下载下来的接口包文件有很多语言的源码 注:openssl用来生成公私钥,RSA签名才使用.这里我们用的MD5签名,所有该文件用不到. 我们选择

ThinkPHP实现支付宝接口功能

最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下:一.下载支付宝接口包 下载地址: https://doc.open.alipay.com/doc2/detail?treeId=62&articleId=103566&docType=1 具体如何下载,我就不在罗嗦了-- 很多人反映,用支付宝的接口到最后面会出现验证错误.其实,这里需要对接口程序进行一下改造.需要添加几个自定义函数.为了让大家以后避免出现同样的问题,我把

支付宝接口程序、文档及解读(ASP.NET)

支付宝接口程序.文档及解读(ASP.NET) 最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开发的资料比较杂乱,这里就我此次开发所用到的资料进行汇总整理,希望能够帮助需要的朋友. 开发步骤: 1. 确定签约类型 支付宝的接口有多种类型,所以首先你要确定签约的合同类型,确定使用的是哪个接口,不至于走错了道道. 此步骤中,可以参考文档:支付宝接口操作教程 2. 下载开发文档 如果是即时到账的开发,请先下载并仔细阅读:标准快速付款接口文档 文档中比较详细的介绍了逻辑流程,时序图以及枚举定义等

java程序支付宝接口付费功能的实现

以前做过c#应用程序支付宝api接口功能,现在转移到Java程序上,代码如何实现呢? 1.从你的网站提交到支付宝: /** * 将订单提交支付宝进行网上支付 */ public ActionForward submitAlipayUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String orderNo

支付宝支付接口功能

官方文档:https://doc.open.alipay.com/docs/doc.htm?treeId=203&articleId=105288&docType=1 支付宝支付功能申请条件 一.实名支付宝账号. 二.要求是企业账户. 三.已经签约手机支付功能. Linux环境下生成RSA私钥和公钥 https://doc.open.alipay.com/doc2/detail?treeId=44&articleId=103242&docType=1 命令行: openss

java 中调用支付宝支付功能的接口

支付宝接口: 申请支付宝接口服务: 1.https://fuwu.alipay.com/platform/doc.htm#c11   Java-JDK 1.5 SDK 2.https://cshall.alipay.com/enterprise/help_detail.htm?help_id=516349 java 调用jdk服务: 1.https://openhome.alipay.com/platform/document.htm#down 2.https://b.alipay.com/or

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url

原文:http://blog.csdn.net/m13666368773/article/details/6888513/ 支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. 1-服务器通知(支付宝通知我们的服务器),对应的参数为notify_url,支付宝通知使用POST方式 2-页面跳转通知(支付成功后,从支付宝跳转到指定的地址),对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而

支付宝接口使用文档说明 支付宝异步通知

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式 B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址. 例如 notify_url=http://www.xxx.com/notify_alipay.asp 注意:www.XXX.com是您网站的域名,也可

YunCart电商网站支付宝接口出现500错误

yuncart 是一套易与集成的php开源商城系统,方便多人同时经行二次开发,Yuncart 可以以非常方便的方式切换到sql server,oracle等数据库,大小1.9MB,感兴趣的朋友,可以去官网下载. 最近帮朋友用php做了一个电商网站,化妆品方面的.上网看了相关方面的程序源码,最后选择了yuncart,它轻量.简单.功能丰富等特点,闲暇时,做了些修改.下面就今天出现的问题,简单的说下,希望能帮助到有类似问题的童鞋. 下图为我朋友的网站:  问题描述:       在网站上购买支付成功