from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from getpaid.backends import PaymentProcessorBase

class PaymentProcessor(PaymentProcessorBase):
    BACKEND = 'getpaid.backends.paymill'
    BACKEND_NAME = _('Paymill')
    BACKEND_ACCEPTED_CURRENCY = ('EUR', 'CZK', 'DKK', 'HUF', 'ISK', 'ILS', 'LVL',
        'CHF', 'NOK', 'PLN', 'SEK', 'TRY', 'GBP', )

    def get_gateway_url(self, request):
        return reverse('getpaid-paymill-authorization', kwargs={'pk' : self.payment.pk}), "GET", {}
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from getpaid.backends import PaymentProcessorBase

class PaymentProcessor(PaymentProcessorBase):
    BACKEND = 'getpaid.backends.paymill'
    BACKEND_NAME = _('Paymill')
    BACKEND_ACCEPTED_CURRENCY = ('EUR', 'CZK', 'DKK', 'HUF', 'ISK', 'ILS', 'LVL',
        'CHF', 'NOK', 'PLN', 'SEK', 'TRY', 'GBP', 'USD', )

    def get_gateway_url(self, request):
        return reverse('getpaid-paymill-authorization', kwargs={'pk' : self.payment.pk}), "GET", {}

Add USD to supported currencies in Paymill backend
Add USD to supported currencies in Paymill backend

USD was not listed as a supported currency in the init file. This was causing 403 Forbidden errors which were hard to debug, because the Paymill backend simply didn't show up in the payment form and the only error was about unsupported backend.