• 技术文章 >后端开发 >php教程

    纯PHP代码实现支付宝批量付款

    2016-07-29 09:09:20原创783
    最近在做一个使用支付宝转账的项目,其中有需求把我难到了:批量支付成功后不知道怎么接收系统返回的通知,经过朋友帮忙,此功能实现,下面小编把具体代码整理分享给大家,供大家参考

    废话不多说了,直接给大家贴php代码了,具体代码如下所示:

    //批量付款异步通知处理
    class Notify
    {
      public $notifyParams;
      //处理成功的信息
      protected $success = [];
      //处理失败的信息
      protected $fail = [];
      //批次号
      protected $batchNo;
      public function save()
      {
        if (!is_array($this->notifyParams)) {
          return false;
        }
        $alipayNotify = new AlipayNotify();
        $alipayNotify->notifyParams = $this->notifyParams;
        $alipayNotify->partner = Yii::$app->params['Alipay.appid'];
        $alipayNotify->key = Yii::$app->params['Alipay.appKey'];
        if (!$alipayNotify->verify()) {
          return false;
        }
        $this->batchNo = $this->notifyParams['batch_no'];
        $this->parseResult();
        //转账成功的
        if (!empty($this->success)) {
          foreach ($this->success as $item) {
            //.........
          }
        }
        //转账失败的
        if (!empty($this->fail)) {
          foreach ($this->fail as $item) {
            //........
          }
        }
        return true;
      }
      //解析结果
      protected function parseResult()
      {
        if (!empty($this->notifyParams['success_details'])) {
          $suArray = explode('|', $this->notifyParams['success_details']);
          foreach ($suArray as $item) {
            $this->success[] = explode('^', $item);
          }
        }
        if (!empty($this->notifyParams['fail_detail'])) {
          $faArray = explode('|', $this->notifyParams['fail_detail']);
          foreach ($faArray as $item) {
            $this->fail[] = explode('^', $item);
          }
        }
      }
    }
    //用法
    $model = new Notify();
    $model->notifyParams = $_POST;
    if ($model->save()) {
      return 'success';
    }
    return 'fail';

    以上内容给大家讲解了纯PHP代码实现支付宝批量付款的功能,希望对大家有所帮助。

    以上就介绍了纯PHP代码实现支付宝批量付款,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:程序员最好的时代来了(4) 下一篇:nginx使用ssl模块配置HTTPS支持
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP跳转函数跟一个通用的操作提示类的编写• php Memcache 中实现讯息队列 • 页面无动作,五分钟后自动退出系统 • PHP写入XML文件事字表数据只读一条数据,什么原因 • ThinkPHP兑现在线生成准考证
    1/1

    PHP中文网