BCard - Documentation technique

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

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
throws
ApiErrorException
Return values
PaymentIntent

createCheckoutSession()

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
throws
ApiErrorException

Si Stripe rejette la requête (clé invalide, lignes malformées, indisponibilité).

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
throws
ApiErrorException
Return values
PaymentIntent

retrieveCheckoutSession()

Retrieve checkout session from Stripe

public retrieveCheckoutSession(string $sessionId) : Session
Parameters
$sessionId : string
Tags
throws
ApiErrorException
Return values
Session

retrievePaymentIntent()

Retrieve a PaymentIntent

public retrievePaymentIntent(string $paymentIntentId) : PaymentIntent
Parameters
$paymentIntentId : string
Tags
throws
ApiErrorException
Return values
PaymentIntent

        
On this page

Search results