Laravel Cashier fournit plusieurs fonctionnalités puissantes qui gèrent les intégrations Stripe. Aujourd'hui, nous allons explorer trois caractéristiques principales et leurs méthodes publiques : ManagesSubscriptions, ManagesCustomer et ManagesInvoices. Comprendre ces caractéristiques est crucial pour implémenter la facturation basée sur les abonnements dans vos applications Laravel.
Trait de gestion des abonnements
Création et gestion des abonnements
newSubscription($type, $prices = [])
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Crée une nouvelle instance de générateur d'abonnement. Le type définit le nom de l'abonnement (par exemple, « par défaut ») et les prix peuvent être un identifiant unique ou un tableau.
Gestion des essais
newSubscription($type, $prices = [])
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Aucun paramètre : vérifie UNIQUEMENT l'essai générique (au niveau du modèle)
- Avec $type : vérifie l'essai spécifique à l'abonnement
- Avec les deux : vérifie si un prix spécifique est en cours d'essai
- Renvoie un booléen
onTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Aucun paramètre : vérifie l'expiration de l'essai générique
- Avec $type : vérifie l'expiration de l'essai d'abonnement spécifique
- Avec les deux : vérifie l'expiration d'un essai de prix spécifique
- Renvoie un booléen
hasExpiredTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie l'état de l'essai au niveau du modèle
- Renvoie vrai si trial_ends_at existe et est futur
- Aucun paramètre requis
onGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Portée du filtrage des clients lors d'un essai générique
- Utilisé dans le générateur de requêtes
- Nécessite une instance du générateur de requêtes
scopeOnGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie si l'essai au niveau du modèle a expiré
- Renvoie vrai si trial_ends_at existe et est passé
- Aucun paramètre requis
hasExpiredGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Possibilité de filtrer les clients dont les essais génériques ont expiré
- Utilisé dans le générateur de requêtes
- Nécessite une instance du générateur de requêtes
scopeHasExpiredGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Aucun paramètre : renvoie la date de fin de l'essai générique en cas d'essai générique
- Avec $type : renvoie la date de fin d'essai spécifique à l'abonnement
- Renvoie une instance Carbon ou null
Vérification de l'état de l'abonnement
trialEndsAt($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Juste $type : vérifie l'existence d'un abonnement valide
- Avec $price : vérifie le prix spécifique de l'abonnement
- Renvoie un booléen
subscribed($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient un abonnement par type
- Retours Modèle d'abonnement ou null
subscription($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient tous les abonnements
- Renvoie la relation HasMany
- Aucun paramètre requis
subscriptions()
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Chèques pour paiement incomplet à l'abonnement
- Renvoie un booléen
hasIncompletePayment($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
-
$products : ID de produit unique ou tableau
-
$type : Type d'abonnement à vérifier
- Renvoie un booléen
- Vérifie si vous êtes abonné à l'un des produits donnés
subscribedToProduct($products, $type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
-
$prices : ID de prix unique ou tableau
-
$type : Type d'abonnement à vérifier
- Renvoie un booléen
- Vérifie si vous êtes abonné à l'un des prix donnés
subscribedToPrice($prices, $type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie l'abonnement valide avec un produit spécifique
- Renvoie un booléen
- Plus spécifique que SubscribedToProduct
onProduct($product)
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Chèques d'abonnement valide avec prix précis
- Renvoie un booléen
- Plus spécifique que SubscribedToPrice
onPrice($price)
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient les taux de taxe pour l'abonnement
- Renvoie un tableau
- Vide par défaut, destiné à être remplacé
taxRates()
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient les taux de taxe pour les articles d'abonnement individuels
- Renvoie un tableau
- Vide par défaut, destiné à être remplacé
Gère le trait du client
Identification du client
newSubscription($type, $prices = [])
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Renvoie l'identifiant client Stripe ou null
- Aucun paramètre requis
- Renvoie la chaîne|null
onTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie si le client possède un identifiant Stripe
- Renvoie un booléen
- Aucun paramètre requis
Création et gestion des clients
hasExpiredTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Crée un nouveau client Stripe
- Les options affectent les métadonnées du client, son adresse e-mail, son nom, etc.
- Lève une exception si le client existe déjà
- Renvoie l'objet client Stripe
onGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Mise à jour le client Stripe existant
- Les options déterminent ce qui est mis à jour
- Renvoie l'objet client Stripe mis à jour
- Nécessite un client existant
scopeOnGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient un client existant ou en crée un nouveau
- Les options affectent la création si nécessaire
- Renvoie l'objet client Stripe
- Plus indulgent que createAsStripeCustomer
hasExpiredGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Mise à jour un client existant ou crée un nouveau client
- Les options affectent à la fois la mise à jour et la création
- Renvoie l'objet client Stripe
- Combine la mise à jour et la création de fonctionnalités
scopeHasExpiredGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Synchronise les détails locaux avec Stripe
- Renvoie l'objet client Stripe
- Utilise les attributs du modèle pour la synchronisation
trialEndsAt($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Synchronise s'il existe ou crée un nouveau client
- Les options affectent la création si nécessaire
- Renvoie l'objet client Stripe
subscribed($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient l'objet client Stripe
- Le paramètre Expand détermine les données associées
- Renvoie l'objet client Stripe
- Nécessite un client existant
Attributs du client
subscription($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient le nom de la synchronisation Stripe
- Renvoie la chaîne|null
- La valeur par défaut renvoie $this->name
subscriptions()
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Reçoit un e-mail pour la synchronisation Stripe
- Renvoie la chaîne|null
- La valeur par défaut renvoie $this->email
hasIncompletePayment($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient le téléphone pour la synchronisation Stripe
- Renvoie la chaîne|null
- La valeur par défaut renvoie $this->phone
subscribedToProduct($products, $type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient l'adresse pour la synchronisation Stripe
- Renvoie le tableau|null
- Vide par défaut
subscribedToPrice($prices, $type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient les paramètres régionaux préférés pour Stripe
- Renvoie un tableau
- Vide par défaut
onProduct($product)
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient des métadonnées pour Stripe
- Renvoie un tableau
- Vide par défaut
Gestion des remises
onPrice($price)
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient une remise client actif
- Retours Remise objet ou null
- Aucun paramètre requis
taxRates()
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Applique le coupon au client
- Retour annulé
- Nécessite un identifiant de coupon
priceTaxRates()
Copier après la connexion
Copier après la connexion
- Applique le code promotionnel au client
- Retour annulé
- Nécessite un identifiant de code promotionnel
newSubscription($type, $prices = [])
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Trouver le code promotionnel
- Renvoie l'objet PromotionCode ou null
- Les options affectent la recherche
onTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Trouve le code promotionnel actif
- Renvoie l'objet PromotionCode ou null
- Les options affectent la recherche
Gestion du solde
hasExpiredTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient le solde client formaté
- Renvoie la chaîne
- Aucun paramètre requis
onGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient le solde brut du client
- Renvoie un entier
- Aucun paramètre requis
scopeOnGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient les transactions du solde client
- Collection des retours
- La limite affecte le nombre de retours
hasExpiredGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Crédits solde client
- Retours CustomerBalanceTransaction
- Le montant est requis
scopeHasExpiredGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Débite le solde client
- Retours CustomerBalanceTransaction
- Le montant est requis
trialEndsAt($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Applique l'ajustement de la balance
- Retours CustomerBalanceTransaction
- Le montant est requis
Gestion fiscale
subscribed($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient les identifiants fiscaux des clients
- Collection des retours
- Les options affectent la récupération
subscription($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Crée un nouveau numéro d'identification fiscale
- Retours Stripe TaxId
- Les deux paramètres requis
subscriptions()
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Supprime le numéro d'identification fiscale
- Retour annulé
- Nécessite un numéro d'identification fiscale
hasIncompletePayment($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Trouve un numéro d'identification fiscale spécifique
- Renvoie Stripe TaxId ou null
- Nécessite un numéro d'identification fiscale
Vérification du statut fiscal
subscribedToProduct($products, $type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie si le client n'est pas exonéré de taxe
- Renvoie un booléen
- Aucun paramètre requis
subscribedToPrice($prices, $type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie si le client est exonéré de taxe
- Renvoie un booléen
- Aucun paramètre requis
onProduct($product)
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Vérifie si l'autoliquidation s'applique
- Renvoie un booléen
- Aucun paramètre requis
Portail de facturation
onPrice($price)
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient l'URL du portail de facturation Stripe
- Renvoie la chaîne
- ReturnUrl facultatif
taxRates()
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Redirections vers le portail de facturation Stripe
- Renvoie la réponse de redirection
- ReturnUrl facultatif
Trait Gérer les factures
Postes de facture
priceTaxRates()
Copier après la connexion
Copier après la connexion
- Ajoute un élément de facture
- Retourne l'article de facture Stripe
- Description et montant requis
stripeId()
Copier après la connexion
- Ajoute un article basé sur le prix
- Retourne l'article de facture Stripe
- ID de prix requis
Création de facture
hasStripeId()
Copier après la connexion
- Crée une facture immédiate
- Objet de facture de retour
- Description et montant requis
createAsStripeCustomer(array $options = [])
Copier après la connexion
- Crée une facture basée sur le prix
- Objet de facture de retour
- ID de prix requis
newSubscription($type, $prices = [])
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Génère une facture
- Objet de facture de retour
- Les options affectent la création
onTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Crée une facture Stripe
- Objet de facture de retour
- Les options affectent la création
Récupération des factures
hasExpiredTrial($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient la facture à venir
- Renvoie un objet de facture ou null
- Les options affectent l'aperçu
onGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Trouve une facture spécifique
- Renvoie un objet de facture ou null
- Nécessite un numéro de facture
scopeOnGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Trouve la facture ou lève une exception
- Objet de facture de retour
- Nécessite un numéro de facture
- Lance NotFoundHttpException ou AccessDeniedHttpException
hasExpiredGenericTrial()
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient la facture PDF
- Réponse de retour
- ID requis, nom de fichier facultatif
scopeHasExpiredGenericTrial($query)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient toutes les factures
- Collection des retours
- Les paramètres affectent le filtrage
trialEndsAt($type = 'default')
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient toutes les factures, y compris en attente
- Collection des retours
- Raccourci pour les factures (vrai)
subscribed($type = 'default', $price = null)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
- Obtient des factures paginées
- Renvoie CursorPaginator
- Plusieurs paramètres affectent la pagination
Observations clés
-
Sensibilité des paramètres : les méthodes ont souvent des comportements différents en fonction de la présence des paramètres.
-
Types de retour : les méthodes renvoient systématiquement des types spécifiques (booléens, objets, collections).
-
Valeurs par défaut : De nombreux paramètres ont des valeurs par défaut raisonnables mais peuvent être remplacés.
-
Interdépendance des traits : Les méthodes s'appuient souvent sur d'autres méthodes de traits.
-
Intégration Stripe : La plupart des méthodes interagissent avec l'API de Stripe directement ou indirectement.
Meilleures pratiques
- Vérifiez toujours les exigences des paramètres pour le comportement souhaité.
- Gérez les exceptions potentielles, en particulier pour les méthodes *OrFail.
- Utilisez les indications de type appropriées lors de l'extension de ces traits.
- Testez minutieusement différentes combinaisons de paramètres.
- Envisagez de mettre en cache les appels fréquents pour réduire les requêtes API.
Conclusion
Ces caractéristiques constituent l'épine dorsale des fonctionnalités de Laravel Cashier. Comprendre l'étendue complète des méthodes disponibles et le comportement de leurs paramètres est crucial pour une mise en œuvre correcte. Consultez toujours la documentation officielle à côté de cette référence pour obtenir les informations les plus récentes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!