Skip to Content

Twig

Le bundle expose un filtre stripe_amount pour afficher des montants Stripe dans vos templates.

Usage

{{ 1999|stripe_amount('eur') }} {{ order.total|stripe_amount(order.currency) }}

Formatage en PHP

Vous pouvez également utiliser le formatage directement en PHP:

use CashierBundle\Cashier; $formatted = Cashier::formatAmount(1999, 'eur', 'fr'); // "19,99 €"

Comportement

Le filtre s’appuie sur Cashier::formatAmount().

  • avec ext-intl: formatage monétaire localisé
  • sans ext-intl: fallback sûr sans erreur runtime

Surcharger le template de facture

Pour personaliser le template de facture par défaut:

templates/bundles/CashierBundle/invoice/default.html.twig

Le bundle utilisera automatiquement ce fichier s’il existe.

Variables disponibles dans le template

Les variables transmises au template (via InvoiceViewFactory::create()):

VariableDescription
metaLocale et labels de traduction
invoiceID, number, status, dates, montants, items, discounts, taxes
customername, email, adresse
companyname, address, email, phone
footerTexte de pied de page

Locales supportées

Le bundle supporte en et fr par défaut.

Pour ajouter une locale, implémentez InvoiceTranslationProviderInterface:

use CashierBundle\Contract\InvoiceTranslationProviderInterface; final class MyTranslationProvider implements InvoiceTranslationProviderInterface { public function getTranslations(string $locale): array { // Retourne les labels traduits pour la locale } }

Exemple

<div class="invoice-total"> <strong>Total:</strong> {{ invoice.total|stripe_amount(invoice.currency) }} </div>

Conseil

Si votre application doit afficher une facture HTML custom avant PDF, réutilisez la même stratégie de locale que le bundle pour éviter des divergences visuelles entre l’écran et le PDF.

Référence API →

Last updated on