tightenco/nova-stripe

A tool to create a quick Stripe dashboard in your Laravel Nova admin panels

Installs: 5 023

Dependents: 0

Suggesters: 0

Stars: 36

Watchers: 10

Forks: 4

Open Issues: 2

Language:HTML

v0.2.1 2018-08-30 18:37 UTC

README

This package makes it easy to see high-level information about your application's Stripe balance and charges in a Nova dashboard.

Looking to manage your users' Stripe subscriptions with Laravel Cashier? Check out Nova Cashier Manager.

This package is in alpha and under very active development, but check out the to-do section below for features we plan to add soon!

Dashboard index page

Charge detail page

Installation Instructions

Install via Composer:

$ composer require tightenco/nova-stripe

If you have not already done so, in your config/services.php file, set up your Stripe key/secret:

'stripe' => [
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],

and add these values to your .env file:

STRIPE_KEY=
STRIPE_SECRET=

From there, you can register your tools in app/Providers/NovaServiceProvider:

public function tools()
{
    return [
        new \Tightenco\NovaStripe\NovaStripe,
    ];
}

Alpha To-Dos

Charges Index

  • Improve balance card design
  • Add ability to filter by livemode
  • Add ability to filter by status
  • Add ability to sort fields
  • Add perPage dropdown
  • Add ability to search charges

Charge Detail

  • Calculate Stripe processing fee / net amount
  • Add "Refund" button
  • Better handling of booleans (green dot like regular Nova Boolean)
  • Labels for statuses
  • Handle Metadata more like a Textarea field
  • Refactor to use existing Nova fields instead of a bespoke one

Customers

  • Add an index of customers
  • Add a customer detail page

General Housekeeping

  • Add some PHPUnit tests
  • Add some Dusk tests
  • Better handling of currency symbols
  • Break navbar item into any applicable sub-items (Charges, Customers, etc.)

Possible Beta To-Dos

  • Add some pretty graphs showing earnings
  • Investigate creating pseudo-resources (not relying on actual Laravel models) in order to use less custom/hard-coded code
  • Add ability to update charge
  • Add Payout information
  • Add Stripe Connect account management
  • Build cards / resource tools that can be used in Nova resources (User / Transaction / etc.?)
  • Better integration with Cashier