首页 > 开发 > Php > 正文

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

2020-02-18 22:59:26
字体:
来源:转载
供稿:网友

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

废话不多说了,直接给大家贴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代码实现支付宝批量付款的功能,希望对大家有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表