纯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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
ip签名探针
Oct 09 PHP
留言板翻页的实现详解
Oct 09 PHP
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
php导出excel格式数据问题
Mar 11 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
JS+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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
javaScript语法总结
2016/11/25 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
Node.js Express安装与使用教程
2018/05/11 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
Python socket模块方法实现详解
2019/11/05 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python 定义只读属性的实现方式
2020/03/05 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
连锁经营管理专业大学生求职信
2013/10/30 职场文书
财务会计专业自荐书
2014/06/30 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
公司租车协议书
2015/01/29 职场文书