title: Django Paypal IPN : bad content type only in live mode (it works in sandbox)
body: <p>I have successfully integrated django-paypal in sandbox mode, along with Django debug settings. My payments are done, and the signals attached to valid_ipn_received are triggered.</p>
  
  <p>When I move to the PayPal live mode, payments are also received, but I don't receive any signal anymore. Here is the code that normally triggers PayPal IPN:</p>
  
  <pre><code>class StoreItemView(SomeUserCheckMixin, SomeAjaxMixin, View):
      # …some business logic…
  
      paypal_dict = {
          'business': settings.PAYPAL_RECEIVER_EMAIL,
          'item_name': 'my item',
          'amount': '20',
          'discount_amount': '10',
          'currency_code': 'USD',
          'invoice': generate_uuid_as_string(),
          'payment_date': timezone.now().strftime('%H:%M:%S %b %d, %Y') + ' CET',
          'lc': 'FR',
          'bn': 'SomeCompany_BuyNow_WPS_FR',
          'email': request.user.email,
          'first_name': request.user.first_name,
          'last_name': request.user.last_name,
          'address1': request.user.profile.adress.street,
          'address2': request.user.profile.adress.extension,
          'zip': request.user.profile.adress.zip,
          'city': request.user.profile.adress.city,
          'country': 'FR',
          'night_phone_a': '33',
          'night_phone_b': request.user.profile.phone_number,
  
          'notify_url': notify_url,
          'return': return_url,
          'cancel_return': cancel_return_url,
          'custom': request.user.username + _separateur + str(cible),
      }
  
      return render(request, self.template_name, {
          'form': PayPalPaymentsForm(initial = paypal_dict)
      })
  
  # After my functions to hook to the Following signals
  valid_ipn_received.connect(store_check_transaction)
  invalid_ipn_received.connect(store_alert_bad_transaction)
  </code></pre>
  
  <p>My config settings are set so that ADMINS contains mails to alert if any error occurs, some logging messages shall appear in my custom logger (and I know it works for other operations on my website) and my PayPal settings are set like that:</p>
  
  <pre><code># In debug mode:
  ALLOWED_HOSTS = ['localhost', '.paypal.com', 'paypal.com.']
  PAYPAL_TEST = True
  PAYPAL_RECEIVER_EMAIL = 'somemail-facilitator@somecompany.fr'
  PAYPAL_BUY_BUTTON_IMAGE = 'https://www.somecompany.fr/static/media/pay.png'
  
  # …and in production / live mode:
  ALLOWED_HOSTS = ['.somecompany.fr', '123.234.34.56', 'paypal.com.', 'paypal.com.']
  PAYPAL_TEST = False
  PAYPAL_RECEIVER_EMAIL = someemail@somecompany.fr'
  </code></pre>
  
  <p>Nothing about a signal appears. What did I miss? Is there a way to check where my IPN calls end? I found nothing on the PayPal developer dashboard.</p>
  
  <p>Update: I receive this assertion error, but only in live mode.</p>
  
  <pre><code>AssertionError: Invalid Content-Type - PayPal is only expected to use application/x-www-form-urlencoded. If using django's test Client, set `content_type` explicitly
  </code></pre>
  
  <p>I know it receives json instead. Is it normal?</p>