container = $container; } private function setApiKey() { $apiKey = $this->container->getParameter('stripe_api_key_secret'); \Stripe\Stripe::setApiKey($apiKey); } public function createPurchase($customer, $items, $cbFormatter) { $this->setApiKey(); $line_items = []; foreach ($items as $item) $line_items[] = $cbFormatter($item); $ngrok_url = $this->container->getParameter('dev_ngrok_prefix'); return ( \Stripe\Checkout\Session::create([ 'customer' => $customer, 'payment_method_types' => $this->container->getParameter('payment_method'), 'line_items' => $line_items, 'success_url' => $ngrok_url . $this->container->getParameter('stripe_success_url'), 'cancel_url' => $ngrok_url . $this->container->getParameter('stripe_cancel_url'), ]) ); } public function retrievePurchase($paimentIntent) { $this->setApiKey(); return \Stripe\PaymentIntent::retrieve($paimentIntent); } }