/**
  * Create Redirect response to complete cart.
  *
  * @param int $id
  * @param \Userdesk\Subscription\Contracts\Product $product
  * @param \Userdesk\Subscription\Contracts\Consumer $consumer
  * @return \Illuminate\Http\Response|null
  */
 public function complete(int $id, SubscriptionProductContract $product, SubscriptionConsumerContract $consumer = null)
 {
     $params = ['business' => array_get($this->config, 'email'), 'currency_code' => 'USD', 'no_shipping' => 1, 'no_note' => 1, 'item_name' => $product->getTitle(), 'item_number' => $id, 'cpp_header_image' => array_get($this->config, 'logo'), 'cpp_header_color' => 'FFFFFF', 'notify_url' => $product->getIpnUrl(), 'return' => $product->getReturnUrl(), 'cancel_return' => $product->getCancelUrl(), 'submit' => 'Pay Using PayPal'];
     $recur = $this->getRecurrenceString($product->getRecurrence());
     if ($product->getRecurrence() != 'none') {
         $params = array_merge($params, ['cmd' => '_xclick-subscriptions', 'a3' => $product->getPrice(), 'p3' => $product->getFrequency(), 't3' => $recur, 'src' => 1]);
         if ($product->getDiscount() > 0) {
             $params = array_merge($params, ['a1' => sprintf("%.02d", $product->getPrice() - $product->getDiscount()), 'p1' => $product->getFrequency(), 't1' => $recur]);
         }
     } else {
         $params = array_merge($params, ['cmd' => '_xclick', 'amount' => $product->getPrice()]);
     }
     $redir_url = sprintf('https://www.paypal.com/cgi-bin/webscr?%s', http_build_query($params));
     return redirect()->away($redir_url);
 }