Yii::app()->user->setFlash('success','Paiement réussi ! Merci pour votre adhésion.');
$this->redirect(array('site/success'));
}catch(\Stripe\Exception\CardException$e){
Yii::app()->user->setFlash('error','Le paiement a échoué : '.$e->getMessage());
$this->redirect(array('site/failure'));
}
}else{
$this->render('subscribe');
}
}
publicfunctionactionRefund($chargeId)
{
// Configuration de la clé secrète Stripe
self::setApiKey("test");
// Émission du remboursement
try{
$refund=Refund::create([
'charge'=>$chargeId,
]);
Yii::$app->session->setFlash('success','Remboursement effectué avec succès.');
return$this->renderPartial('/payment/stripe/success',array("message"=>"Remboursement effectué avec succès.","result"=>$refund));// Rediriger vers une autre page après le remboursement
return$this->renderPartial('/payment/stripe/error',array("message"=>"Erreur : ".$e->getMessage()));// Rediriger vers une autre page après le remboursement
}
}
publicfunctionactionSuccess($session_id=null)
{
// Vous pouvez récupérer l'identifiant de session à partir de la requête
return$this->render('/payment/stripe/success',array("message"=>$message,"result"=>$data));// Rediriger vers une page de confirmation de paiement
}else{
Yii::$app->session->setFlash('error','Erreur lors du paiement');
return$this->renderPartial('/payment/stripe/error',array("message"=>"Erreur lors du paiement"));// Rediriger vers une page d'erreur
}
}else{
return$this->renderPartial('/payment/stripe/error',array("message"=>"Votre session a expiré"));// Rediriger vers une page d'erreur
}
}
publicfunctionactionCancel()
{
// Le paiement a été annulé par l'utilisateur
Yii::$app->session->setFlash('warning','Paiement annulé par l\'utilisateur.');
return$this->renderPartial('/payment/stripe/cancel',array("message"=>"Vous avez annulé le paiement."));// Rediriger vers une page d'annulation de paiement
}
publicfunctionactionWebhook()
{
$endpoint_secret='your_stripe_webhook_secret';// Replace with your webhook secret