$bonus=$this->getPrioritiBonus();
$paysum=round($this->getBonusSum($bonus),5);
$bonusRu=$this->getBonusRu($order,$bonus);
$order->points_bonus=$paysum;
$order->bonus=$bonusRu;
$transaction=Yii::$app->db->beginTransaction();
if($order->save()){
$client = new Client();
$body=json_encode([
"ref"=>$user->affliliateProgramCode->code,
"apiKey" => Yii::$app->params['prioriti']['pvk'],
'sum'=>$paysum,
'orderNumber'=>$order->id]);
$response = $client->post(\Yii::$app->params['prioriti']['url']['transaction'],$body, Yii::$app->params['prioriti']['headers'])->send();
if (!$response->isOk){
Yii::$app->session->setFlash('error',$response->data['message']);
$transaction->rollBack();
return false;
}
}
$transaction->commit();
return $this->redirect('/cabinet');
э тут вроде говорится о том что смотря чем заполнен