StripeService
in package
Encapsule les appels à l'API Stripe pour l'encaissement des paiements.
Le service couvre les deux parcours de paiement de l'application : les sessions Checkout
hébergées par Stripe pour le web, et les PaymentIntent pour le parcours mobile
(création, confirmation, relecture). Toutes les méthodes commencent par positionner la clé
secrète sur le client Stripe global, puis émettent un appel HTTP synchrone vers l'API
Stripe : elles constituent donc des points de sortie réseau et peuvent échouer pour des
raisons d'indisponibilité ou de configuration. Aucune entité locale n'est créée ni
persistée ici — voir PaymentService pour la partie modèle.
Table of Contents
Properties
- $stripeSecretKey : string
Methods
- __construct() : mixed
- confirmPaymentIntent() : PaymentIntent
- Confirm a PaymentIntent
- createCheckoutSession() : Session
- Create session checkout with stripe
- createPaymentIntent() : PaymentIntent
- Create a PaymentIntent for mobile payments
- retrieveCheckoutSession() : Session
- Retrieve checkout session from Stripe
- retrievePaymentIntent() : PaymentIntent
- Retrieve a PaymentIntent
Properties
$stripeSecretKey
private
string
$stripeSecretKey
Methods
__construct()
public
__construct(string $stripeSecretKey) : mixed
Parameters
- $stripeSecretKey : string
-
Clé secrète de l'API Stripe, injectée depuis la configuration et appliquée avant chaque appel.
confirmPaymentIntent()
Confirm a PaymentIntent
public
confirmPaymentIntent(string $paymentIntentId, string $paymentMethodId) : PaymentIntent
Parameters
- $paymentIntentId : string
- $paymentMethodId : string
Tags
Return values
PaymentIntentcreateCheckoutSession()
Create session checkout with stripe
public
createCheckoutSession(array<int, array<string, mixed>> $linesItems, string $successUrl, string $cancelUrl[, array<string, string> $metadata = [] ]) : Session
Crée côté Stripe une session Checkout en mode payment (paiement unique, jamais
abonnement récurrent) limitée au moyen de paiement card. Les métadonnées ne sont
transmises que si le tableau est non vide ; elles servent à retrouver la commande ou
l'abonnement local lors du traitement du retour ou du webhook. Effet de bord : appel
HTTP à l'API Stripe. L'appelant redirige ensuite l'utilisateur vers l'URL portée par
la session retournée.
Parameters
- $linesItems : array<int, array<string, mixed>>
-
Lignes de facturation au format attendu par Stripe (
price_data/quantity). - $successUrl : string
-
URL de retour en cas de paiement réussi.
- $cancelUrl : string
-
URL de retour en cas d'abandon.
- $metadata : array<string, string> = []
-
Métadonnées libres attachées à la session ; ignorées si vides.
Tags
Return values
Session —Session Checkout créée par Stripe.
createPaymentIntent()
Create a PaymentIntent for mobile payments
public
createPaymentIntent(int $amount[, string $currency = 'gnf' ][, array<string|int, mixed> $metadata = [] ]) : PaymentIntent
Parameters
- $amount : int
- $currency : string = 'gnf'
- $metadata : array<string|int, mixed> = []
Tags
Return values
PaymentIntentretrieveCheckoutSession()
Retrieve checkout session from Stripe
public
retrieveCheckoutSession(string $sessionId) : Session
Parameters
- $sessionId : string
Tags
Return values
SessionretrievePaymentIntent()
Retrieve a PaymentIntent
public
retrievePaymentIntent(string $paymentIntentId) : PaymentIntent
Parameters
- $paymentIntentId : string