'Call PayPal DoDirectPayment method.'

def doDirectPayment(self, params):

    defaults = {'method': 'DoDirectPayment', 'paymentaction': 'Sale'}
    required = ['creditcardtype', 'acct', 'expdate', 'cvv2', 'ipaddress', 'firstname', 'lastname', 'street', 'city', 'state', 'countrycode', 'zip', 'amt']
    nvp_obj = self._fetch(params, required, defaults)
    if nvp_obj.flag:
        raise PayPalFailure(nvp_obj.flag_info)
    payment_was_successful.send(sender=nvp_obj, **params)
    return nvp_obj
