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


Posted in PHP onDecember 24, 2015

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

废话不多说了,直接给大家贴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 相关文章推荐
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php将数据库导出成excel的方法
May 07 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
Php图像处理类代码分享
Jan 19 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
php session的锁和并发
Jan 22 PHP
必须收藏的php实用代码片段
Feb 02 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 #PHP
4种PHP异步执行的常用方式
Dec 24 #PHP
php实现异步数据调用的方法
Dec 24 #PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 #PHP
深入浅析php json 格式控制
Dec 24 #PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 #PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 #PHP
You might like
克隆一个新项目的快捷方式
2013/04/10 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
php 浮点数比较方法详解
2017/05/05 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
原生JavaScript实现进度条
2021/02/19 Javascript
Python3 入门教程 简单但比较不错
2009/11/29 Python
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
python实现名片管理系统项目
2019/04/26 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python如何实现FTP功能
2020/05/28 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
SQL Server笔试题
2012/01/10 面试题
写给妈妈的道歉信
2014/01/11 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书