纯PHP代码实现支付宝批量付款
最近在做一个使用支付宝转账的项目,其中有需求把我难到了:批量支付成功后不知道怎么接收系统返回的通知,经过朋友帮忙,此功能实现,下面小编把具体代码整理分享给大家,供大家参考
废话不多说了,直接给大家贴php代码了,具体代码如下所示:
//批量付款异步通知处理
classNotify
{
public$notifyParams;
//处理成功的信息
protected$success=[];
//处理失败的信息
protected$fail=[];
//批次号
protected$batchNo;
publicfunctionsave()
{
if(!is_array($this->notifyParams)){
returnfalse;
}
$alipayNotify=newAlipayNotify();
$alipayNotify->notifyParams=$this->notifyParams;
$alipayNotify->partner=Yii::$app->params['Alipay.appid'];
$alipayNotify->key=Yii::$app->params['Alipay.appKey'];
if(!$alipayNotify->verify()){
returnfalse;
}
$this->batchNo=$this->notifyParams['batch_no'];
$this->parseResult();
//转账成功的
if(!empty($this->success)){
foreach($this->successas$item){
//.........
}
}
//转账失败的
if(!empty($this->fail)){
foreach($this->failas$item){
//........
}
}
returntrue;
}
//解析结果
protectedfunctionparseResult()
{
if(!empty($this->notifyParams['success_details'])){
$suArray=explode('|',$this->notifyParams['success_details']);
foreach($suArrayas$item){
$this->success[]=explode('^',$item);
}
}
if(!empty($this->notifyParams['fail_detail'])){
$faArray=explode('|',$this->notifyParams['fail_detail']);
foreach($faArrayas$item){
$this->fail[]=explode('^',$item);
}
}
}
}
//用法
$model=newNotify();
$model->notifyParams=$_POST;
if($model->save()){
return'success';
}
return'fail';
以上内容给大家讲解了纯PHP代码实现支付宝批量付款的功能,希望对大家有所帮助。