支付宝接口开发总结.doc_第1页
支付宝接口开发总结.doc_第2页
支付宝接口开发总结.doc_第3页
支付宝接口开发总结.doc_第4页
支付宝接口开发总结.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于支付宝的接口集成气死是很简单,目前大概有3种类型,即时到帐、双功能、担保交易,只需要集成一次担保交易,其他的比如即时到帐集成很容易,担保交易的状态有几种,比如:是否支付成功,卖家是否发货,买家确认收获等。而即时到帐只有一种,就是是否已付款!最多还有个退款的功能。一般都没用到。 通过之前做项目:配资平台,有个预付费的功能,用到了支付宝的双功能收款,其实就是提供两种付款方式,即时到帐和担保交易。一般买家谨慎会选择担保。 下面说下具体的集成过程,第一:下载对应的集成接口包,比如即时到帐就下载即时到帐,担保下载担保,非常不建议将即时到帐修改成担保或者反之。案例中我下载的 双功能接口文件,utf8-php接口。 下载来的文件都大同小异,即时到帐和担保的文件也相差不大,反正可以肯定的说,只要配置一次担保支付宝接口,就能配置即时到帐。 我们需要修改的文件有如下:alipay.config.php配置文件,只是用于修改配置接口开发者id和key alipayapi.php主调文件,将需要发送的post数据交给该文件,然后负责跳转到支付页面index.phpdemo演示页面,可以不做修改,但是其中传递的参数名陈需要看懂notify_url.php 返回数据页面,在其中将返回交易的状态,更具状态我们可以更改数据库订单信息,该文件是通过post方式接受。return_url.php 返回数据页面,在其中将返回交易的状态,更具状态我们可以更改数据库订单信息,该文件是通过GET方式。 具体过程: 第一步,修改配置信息:1$alipay_configpartner =xxx8511073xxxxxxxx;23/安全检验码,以数字和字母组成的32位字符4$alipay_configkey =xxxxxxxxnow07oajbflskxxxxxxxxxx; 第二:拼post数据,一般只需要修改请求参数01/*请求参数*/02/支付类型03$payment_type =1;04/必填,不能修改05/服务器异步通知页面路径06$notify_url =http:/你的域名/alipay/notify_url.php;07/需http:/格式的完整路径,不能加?id=123这类自定义参数0809/页面跳转同步通知页面路径10$return_url =http:/你的域名/alipay/return_url.php;11/需http:/格式的完整路径,不能加?id=123这类自定义参数,不能写成http:/localhost/1213/卖家支付宝帐户14$seller_email = $_POSTWIDseller_email;/demoindex.php传过来的15/必填1617/商户订单号18$out_trade_no = $_POSTWIDout_trade_no;/传过来的19/商户网站订单系统中唯一订单号,必填2021/订单名称22$subject = $_POSTWIDsubject;/同上23/必填2425/付款金额26$price = $_POSTWIDprice;/传过来的,是你的表单中填写的值27/必填2829/商品数量30$quantity =1;31/必填,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品32/物流费用33$logistics_fee =0.00;34/必填,即运费35/物流类型36$logistics_type =EXPRESS;37/必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)38/物流支付方式39$logistics_payment =SELLER_PAY;40/必填,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)41/订单描述4243$body = $_POSTWIDbody;44/商品展示地址45$show_url = $_POSTWIDshow_url;46/需以http:/开头的完整路径,如: 4748/收货人姓名49$receive_name =萤火;50/如:张三5152/收货人地址53$receive_address = $_POSTWIDreceive_address;54/如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号5556/收货人邮编57$receive_zip = $_POSTWIDreceive_zip;58/如:1234565960/收货人电话号码61$receive_phone = $_POSTWIDreceive_phone;62/如:0571-881580906364/收货人手机号码65$receive_mobile = $_POSTWIDreceive_mobile;66/如第三:数据构造完成后就可以在页面上付款,测试能不能正确的打开支付页面。如果能打开,这时候就可以进行付款了,但是买家付款的状态我们还无法获知,比如有没有成功付款,卖家是否已经发货等。那么接下来开始做返回状态的业务逻辑处理。打开return_url.php文件,根据提示修改,做对因的处理。01/请根据您的业务逻辑来编写程序(以下代码仅作参考)02/获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表0304/商户订单号 $out_trade_no = $_GETout_trade_no;0506/支付宝交易号 $trade_no = $_GETtrade_no;0708/交易状态09$trade_status=$_GETtrade_status;101112if($_GETtrade_status =WAIT_SELLER_SEND_GOODS) /状态为成功13/处理自己网站的业务逻辑14if(!$orderstatus)/判断本地数据库中的订单是否已经处理15db_update(stx_recharge,array(status=1),array(oid=$_GET1617out_trade_no);/如果没处理就将状态改成已经处理。18/金钱的增加19$zd= db_line(stx_terminal,array(id=$orderztid);20db_update(stx_terminal,array(money=$zdmoney+$order2122money),array(id=$orderztid);/增加余额到该用户的账户上。232425elseif($_GETtrade_status =TRADE_FINISHED) 26/判断该笔订单是否在商户网站中已经做过处理27/如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统2829中查到该笔订单的详细,并执行商户的业务程序30/如果有做过处理,不执行商户的业务程序3132else33echotrade_status=.$_GETtrade_status;343536echo验证成功;37echotrade_no=.$trade_no;notify_url.php也是一样,根据状态来编写对应的代码!notify_url.php文件中的状态要多一些。01/请根据您的业务逻辑来编写程序(以下代码仅作参考)0203/获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表0405/商户订单号0607$out_trade_no=$_POSTout_trade_no;0809/支付宝交易号1011$trade_no=$_POSTtrade_no;1213/交易状态14$trade_status=$_POSTtrade_status;151617if($_POSTtrade_status =WAIT_BUYER_PAY) 18/该判断表示买家已在支付宝交易管理中产生了交易记录,但没有付款1920/判断该笔订单是否在商户网站中已经做过处理21/如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序22/如果有做过处理,不执行商户的业务程序2324echosuccess;/请不要修改或删除2526/调试用,写文本函数记录程序运行情况是否正常27/logResult(这里写入想要调试的代码变量值,或其他运行的结果记录);2829elseif($_POSTtrade_status =WAIT_SELLER_SEND_GOODS) 30/该判断表示买家已在支付宝交易管理中产生了交易记录且付款成功,但卖家没有发货3132if(!$orderstatus)33db_update(stx_recharge,array(status=1),array(oid=$_POSTout_trade_no);34/金钱的增加35$zd= db_line(stx_terminal,array(id=$orderztid);36db_update(stx_terminal,array(money=$zdmoney+$ordermoney),array(id=$orderztid);373839echosuccess;/请不要修改或删除4041/调试用,写文本函数记录程序运行情况是否正常42/logResult(这里写入想要调试的代码变量值,或其他运行的结果记录);4344elseif($_POSTtrade_status =WAIT_BUYER_CONFIRM_GOODS) 45/该判断表示卖家已经发了货,但买家还没有做确认收货的操作4647if(!$orderstatus)48db_update(stx_recharge,array(status=1),array(oid=$_POSTout_trade_no);49/金钱的增加50$zd= db_line(stx_terminal,array(id=$orderztid);51db_update(stx_terminal,array(money=$zdmoney+$ordermoney),array(id=$orderztid);525354echosuccess;/请不要修改或删除5556/调试用,写文本函数记录程序运行情况是否正常57/logResult(这里写入想要调试的代码变量值,或其他运行的结果记录);5859elseif($_POSTtrade_status =TRADE_FINISHED) 60/该判断表示买家已经确认收货,这笔交易完成6162/判断该笔订单是否在商户网站中已经做过处理63/如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序64/如果有做过处理,不执行商户的业务程序6566

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论