'Process a payment from a buyer\'s account, identified by a previous
transaction.
The `paymentaction` param defaults to "Sale", but may also contain the
values "Authorization" or "Order".'

def doReferenceTransaction(self, params):

    defaults = {'method': 'DoReferenceTransaction', 'paymentaction': 'Sale'}
    required = ['referenceid', 'amt']
    nvp_obj = self._fetch(params, required, defaults)
    if nvp_obj.flag:
        raise PayPalFailure(nvp_obj.flag_info)
    return nvp_obj
