diff --git a/app/Http/Controllers/Oasis/AdminController.php b/app/Http/Controllers/Oasis/AdminController.php index 4a6c6ee7..6ca43b5d 100644 --- a/app/Http/Controllers/Oasis/AdminController.php +++ b/app/Http/Controllers/Oasis/AdminController.php @@ -7,6 +7,7 @@ use App\Http\Resources\UserResource; use App\Models\User; use App\Notifications\Oasis\PaymentRequiredNotification; use App\Services\Oasis\CzechRegisterSearchService; +use App\Services\StripeService; use Hash; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\Routing\ResponseFactory; @@ -55,15 +56,15 @@ class AdminController extends Controller $newbie ->settings() ->create([ - 'ico' => $request->ico, - 'name' => $request->name, - 'address' => $request->address, - 'state' => $request->state, - 'city' => $request->city, - 'postal_code' => $request->postal_code, - 'country' => $request->country, - 'phone_number' => $request->phone_number, - 'timezone' => '1.0', + 'ico' => $request->ico, + 'name' => $request->name, + 'address' => $request->address, + 'state' => $request->state, + 'city' => $request->city, + 'postal_code' => $request->postal_code, + 'country' => $request->country, + 'phone_number' => $request->phone_number, + 'timezone' => '1.0', ]); // Store subscription request @@ -73,9 +74,13 @@ class AdminController extends Controller 'requested_plan' => $request->plan, ]); + $plan = resolve(StripeService::class) + ->getPlan($request->plan); + // Send notification with payment details $newbie->notify(new PaymentRequiredNotification( - $newbie->subscriptionRequest + $newbie->subscriptionRequest, + $plan )); return response( diff --git a/app/Http/Resources/PlanResource.php b/app/Http/Resources/PlanResource.php index eb041cdd..6b3089ab 100644 --- a/app/Http/Resources/PlanResource.php +++ b/app/Http/Resources/PlanResource.php @@ -17,7 +17,9 @@ class PlanResource extends JsonResource public function toArray($request) { // Get subscribers - $subscriber_count = Subscription::where('stripe_plan', $this['plan']['id'])->where('stripe_status', 'active')->get(); + $subscriber_count = Subscription::where('stripe_plan', $this['plan']['id']) + ->where('stripe_status', 'active') + ->get(); return [ 'data' => [ diff --git a/app/Notifications/Oasis/PaymentRequiredNotification.php b/app/Notifications/Oasis/PaymentRequiredNotification.php index 80b07fda..e8438ed1 100644 --- a/app/Notifications/Oasis/PaymentRequiredNotification.php +++ b/app/Notifications/Oasis/PaymentRequiredNotification.php @@ -6,6 +6,7 @@ use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Notification; +use Laravel\Cashier\Cashier; class PaymentRequiredNotification extends Notification { @@ -15,16 +16,18 @@ class PaymentRequiredNotification extends Notification * Create a new notification instance. * * @param $order + * @param $plan */ - public function __construct($order) + public function __construct($order, $plan) { $this->order = $order; + $this->plan = $plan; } /** * Get the notification's delivery channels. * - * @param mixed $notifiable + * @param mixed $notifiable * @return array */ public function via($notifiable) @@ -35,24 +38,29 @@ class PaymentRequiredNotification extends Notification /** * Get the mail representation of the notification. * - * @param mixed $notifiable + * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage */ public function toMail($notifiable) { $url = url("/platba/{$this->order['id']}"); + $price = Cashier::formatAmount($this->plan['plan']['amount']); + $storage = format_gigabytes($this->plan['product']['metadata']['capacity']); + return (new MailMessage) - ->subject('🏝 Platobne instrukcie pre zakupenie balicka a aktivaciu Vasho konta') - ->line('🏝 Platobne instrukcie pre zakupenie balicka a aktivaciu Vasho konta') - ->action('Prejst na platbu', $url) - ->line('Dakujeme za zaujem o nase sluzby!'); + ->subject('🏝 Potvrzeni Objednavky - OasisDrive') + ->greeting('Dobry den') + ->line('🏝 dekujeme za Vasi objednavku. Potvrzenim objednavky se Vas ucet automaticky zaktivuje a vytvori se Vam digitalni prostor pro Vase dulezite dokumenty.') + ->line("Datovy tarif: Standard: $storage - $price") + ->action('Prejst na platbu', $url) + ->line('Dekujeme, Vas tym OasisDrive'); } /** * Get the array representation of the notification. * - * @param mixed $notifiable + * @param mixed $notifiable * @return array */ public function toArray($notifiable)