einfacharchiv / laravel-cashier-microdata
Add Microdata to your Laravel Cashier invoices
Requires
- php: ^7.2.5|^8.0
- nesbot/carbon: ~1.25|~2.0
- spatie/schema-org: ^3.11
This package is auto-updated.
Last update: 2025-03-09 02:14:24 UTC
README
This package provides an easy way to add Microdata (in JSON-LD format) to your Laravel Cashier invoices.
Requirements
PHP 7.0 and later.
Installation
You can install this package via Composer. Run the following command:
composer require einfacharchiv/laravel-cashier-microdata
Usage
Add the following snippet to your invoice notification toMail
method and adjust the values to your environment. $this->invoice
is your \Laravel\Cashier\Invoice
(or alternatively \Stripe\Invoice
). The methods setSeller
, setBuyer
, and setUrl
are optional.
// ... public function toMail($notifiable) { \einfachArchiv\LaravelCashierMicrodata\Invoice::getInstance() ->setInvoice($this->invoice) ->setSeller([ 'company' => config('app.vendor.company'), 'first_name' => config('app.vendor.first_name'), 'last_name' => config('app.vendor.last_name'), 'street_address' => config('app.vendor.street_address'), 'city' => config('app.vendor.city'), 'zip' => config('app.vendor.zip'), 'state' => config('app.vendor.state'), 'country' => config('app.vendor.country'), 'vat_id' => config('app.vendor.vat_id'), 'email' => config('app.vendor.email'), 'website' => config('app.vendor.website'), ]) ->setBuyer([ 'company' => $notifiable->billing_company, 'first_name' => $notifiable->billing_first_name, 'last_name' => $notifiable->billing_last_name, 'street_address' => $notifiable->billing_street_address, 'city' => $notifiable->billing_city, 'zip' => $notifiable->billing_zip, 'state' => $notifiable->billing_state, 'country' => $notifiable->billing_country, 'vat_id' => $notifiable->vat_id, 'email' => $notifiable->email, 'website' => $notifiable->website, ]) ->setUrl(route('invoices.show', $this->invoice->id)); // return (new MailMessage())... } // ...
And add the following snippet to your resources/views/vendor/mail/html/layout.blade.php
before the </body>
tag.
<!-- ... --> {!! \einfachArchiv\LaravelCashierMicrodata\Invoice::getInstance() !!} </body> </html>
Contributing
Contributions are welcome.
We accept contributions via Pull Requests on Github.
Find yourself stuck using the package? Found a bug? Do you have general questions or suggestions for improvement? Feel free to create an issue on GitHub, we'll try to address it as soon as possible.
If you've found a security issue, please email support@einfacharchiv.com instead of using the issue tracker.
Happy coding!
Credits
License
The MIT License (MIT). Please see License File for more information.