支付宝接口开发总结

上传人:阳*** 文档编号:103522284 上传时间:2022-06-08 格式:DOC 页数:8 大小:124KB
返回 下载 相关 举报
支付宝接口开发总结_第1页
第1页 / 共8页
支付宝接口开发总结_第2页
第2页 / 共8页
支付宝接口开发总结_第3页
第3页 / 共8页
点击查看更多>>
资源描述
关于支付宝的接口集成气死是很简单,目前大概有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这类自定义参数,不能写成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:/开头的完整路径,如:.ya- 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/如:13312341234 第三:数据构造完成后就可以在页面上付款,测试能不能正确的打开支付页面。如果能打开,这时候就可以进行付款了,但是买家付款的状态我们还无法获知,比如有没有成功付款,卖家是否已经发货等。那么接下来开始做返回状态的业务逻辑处理。打开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/如果有做过处理,不执行商户的业务程序6566echosuccess;/请不要修改或删除6768/调试用,写文本函数记录程序运行情况是否正常69/logResult(这里写入想要调试的代码变量值,或其他运行的结果记录);70 由于我基本上没有用到后续的发货处理,所以在该状态下未做处理,如果您的网站是购物网站秒就需要做对应的处理,比如更新状态值为已发货,或者未付款、已确认等。方便看到交易流程。同时在已付款的订单中会产生支付宝的订单id,可以同时记录在自己的订单中。 接下来就是接口的调试,每次可以支付1毛钱来进行测试。8 / 8
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!