diff --git a/app/Http/Controllers/StripeController.php b/app/Http/Controllers/StripeController.php index 8ddca96..09abb24 100644 --- a/app/Http/Controllers/StripeController.php +++ b/app/Http/Controllers/StripeController.php @@ -19,6 +19,8 @@ class StripeController extends Controller public function checkout(Invoice $invoice) { + Stripe::setApiKey(config('services.stripe.secret')); + $session = \Stripe\Checkout\Session::create([ 'payment_method_types' => ['card'], 'line_items' => [ @@ -28,16 +30,16 @@ class StripeController extends Controller 'product_data' => [ 'name' => "Invoice {$invoice->invoice_number}", ], - 'unit_amount' => $invoice->balance_due * 100, // Already in cents from MoneyCast? Check this + 'unit_amount' => (int) ($invoice->balance_due * 100), ], 'quantity' => 1, ], ], 'mode' => 'payment', - 'success_url' => route('checkout.success', $invoice), - 'cancel_url' => route('invoice.show', $invoice), + 'success_url' => route('stripe.success', $invoice), + 'cancel_url' => route('invoices.show', $invoice), 'metadata' => [ - 'invoice_id' => $invoice->id, // Used by webhook to find the invoice + 'invoice_id' => $invoice->id, ], ]); @@ -65,6 +67,8 @@ class StripeController extends Controller $invoice = Invoice::find($session->metadata->invoice_id); if ($invoice) { + Stripe::setApiKey(config('services.stripe.secret')); + // Retrieve PaymentIntent with expanded charge and balance_transaction $paymentIntent = \Stripe\PaymentIntent::retrieve([ 'id' => $session->payment_intent, @@ -114,8 +118,8 @@ class StripeController extends Controller return redirect()->away($session->url); } - public function success() + public function success(Invoice $invoice) { - return view('stripe.index'); + return view('stripe.success', compact('invoice')); } } diff --git a/resources/views/invoices/show.blade.php b/resources/views/invoices/show.blade.php index ccb6fbb..0ea62d9 100644 --- a/resources/views/invoices/show.blade.php +++ b/resources/views/invoices/show.blade.php @@ -137,12 +137,33 @@ @endif @if($invoice->balance_due != 0) -
Please make payment to:
-eBandroom
-540 W. Louse Ave.
-Vinita, OK 74301
+Pay securely with your credit or debit card.
+ +Make check payable to:
+eBandroom
+540 W. Louse Ave.
+Vinita, OK 74301
+Thank you for your payment.
+ +Invoice
+{{ $invoice->invoice_number }}
+{{ $invoice->client->name }}
+