首页 > 作文

PHP接入支付宝接口失效流程详解

更新时间:2023-04-08 23:36:35 阅读: 评论:0

最近在写个需要简单支付的小项目,用到了支付宝接口,现已完成。把php接入支付宝的流程写在这里供像我一样的小白参考。

1.首先要有一个创建一个应用(选好自己想要的功能,关于支付的功能,貌似都需要签约)

2.下载sdk&dome网址

/d/file/titlepic/doc.htm style="text-align: center">

我烦躁的个性签名选择的是md5签名方式,下面红框内就是做好的php demo

lib文件很重要,是整个接口的核心类文件;alipay.config.php是相关参数的配置文件alipayapi.php 是支付宝接口入口文件notify_url.php 是服务器异步通知页面文件;return_url.php 是页面跳转同步通知文件;

3.打开alipay.config.php

4.配置完成后这个小例子就能直接访问了



通过这个例子,我们就能灵活运用了 开发文档:

/d/file/titlepic/doc.htm 我保留了

重新命名为

分别给这五个文件加上命名空间

这四个文件的命名空间改为

alipay.class.php 有改动

?phpnamespace extend\alipay;class alipay {  public function pay($alipay_config,$args){    /**************************请求参数**************************/    //支付类型  $payment_type = "1";  //必填,不能修改  //服务器异步通知页面路径  $notify_url = $args['notify_url'];  //需http://格式的完整路径,不能加?id=123这类自定义参数  //页面跳转同步通知页面路径  $return_url = $args['return_url'];  //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/    //商户订单号  $out_trade_no = $args['out_trade_no'];  //商户网站订单系统中唯一订单号,必填  //订单名称  $subject = "测试";  //必填  //付款金额  $total_fee = $args['total'];  //必填  //订单描述  $body = "test";  //需以http://开头的完整路径,例如:http://www.商户网址.com/myorder.html  //防钓鱼时间戳  $anti_phishing_key = "";  //若要使用奥运金牌预测请调用类文件submit中的query_timestamp函数  //客户端的ip地址  $exter_invoke_ip = "";  //非局域网的外网ip地址,如:221.0.0.1  /************************************************************/  //构造要请求的参数数组,无需改动  $parameter = array(    "rvice" => "create_direct_pay_by_ur",    "partner" => trim($alipay_config['partner']),    "ller_id" => trim($alipay_config['ller_id']),    "payment_type" => $payment_type,    "notify_url"  => $notify_url,    "return_url"  => $return_url,    "out_trade_no" => $out_trade_no,    "subject"    => $subject,    "total_fee"   => $total_fee,    "body" => $body,    "show_url"  幻城郭敬明 => $show_url,    "anti_phishing_key"   => $anti_phishing_key,    "exter_invoke_ip"    => $exter_invoke_ip,    "_input_chart"    => trim(strtolower($alipay_config['input_chart']))  );  //建立请求  $alipaysubmit = new lib\alipaysubmit($alipay_config);    $html_text = $alipaysubmit->buildrequestform($parameter,"get", "确认");    echo $html_text;  }}

在config.php配置文件里配置参数

然后新建控制器textcontroller.class.php

<?phpnamespace home\controller;u think\controller;u \extend\alipay as alipays;class textcontroller extends controller {  public function index(){    $this->display();  }  public function dobuy(){    $out_trade_no = date('ymdhis');    $baurl = 'http://'.$_rver['http_host'];    $args = array(      'out_trade_no'=>$out_trade_no,      'notify_url'=> $baurl.'/index.php/home/text/notifyurl.html',      'return_url'=> $baurl.'/index.php/home/text/returnurl.html',      'total'=> $_post['widtotal_fee'],      );    $s = new alipays\alipay();    $s->pay(c('alipay'),$arg三七的作用s);  }  // 同步跳转  public function returnurl(){    $alipay_config = c('alipay');    //计算得出通知验证结果    $alipaynotify = new alipays\lib\alipaynotify($alipay_config);    $verify_result = $alipaynotify->verifyreturn();    if($verify_result) {//验证成功      //商户订单号      $out_trade_no = $_get['out_trade_no'];      //支付宝交易号      $trade_no = $_get['trade_no'];      //交易状态      $trade_status = $_get['trade_status'];      if($_get['trade_status'] == 'trade_finished' || $_get['trade_status'] == 'trade_success') {        //交易成功              }el {       echo "trade_status=".$_get['trade_status'];      }        echo "验证成功<br />";      }el {      //验证失败      //如要调试,请看alipay_notify.php页面的verifyreturn函数      echo "验证失败";    }  }  // 异步跳转  public function notifyurl(){    $alipay_config = c('alipay');    //计算得出通知验证结果    $alipaynotify = new alipays\alipaynotify($alipay_config);    $verify_result = $alipaynotify->verifynotify();    if($verify_result) {//验证成功      $out_trade_no = $_post['out_trade_no'];      //支付宝交易号      $trade_no = $_post['trade_no'];      //交易状态      $trade_status = $_post['trade_status'];      if($_post['trade_status'] == 'trade_finished'||$_post['trade_status'] == 'trade_success') {       //交易成功      }      echo "success";   //请不要修改或删除          }    el {      //验证失败      echo "fail";      //调试用,写文本函数记录程序运行情况是否正常      //logresult("这里写入想要调试的代码变量值,或其他运行的结果记录");    }  }}

然后

这样就成功完成简单的支付功能了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-08 23:36:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/169e51df59c8c57f7bc95868ce459581.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP接入支付宝接口失效流程详解.doc

本文 PDF 下载地址:PHP接入支付宝接口失效流程详解.pdf

上一篇:什么是鹅口疮
下一篇:返回列表
标签:文件   支付宝   参数   页面
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图