'Returns the Invoice data'

def _get_invoice_data(self, registration_code_redemption):

    registration_code = registration_code_redemption.registration_code
    list_price = registration_code.invoice_item.unit_price
    total_amount = registration_code_redemption.registration_code.invoice.total_amount
    qty = registration_code_redemption.registration_code.invoice_item.qty
    payment_amount = (total_amount / qty)
    invoice_transaction = InvoiceTransaction.get_invoice_transaction(invoice_id=registration_code_redemption.registration_code.invoice.id)
    if (invoice_transaction is not None):
        if (invoice_transaction.amount > 0):
            payment_status = 'Invoice    Paid'
        else:
            payment_status = 'Refunded'
    else:
        payment_status = 'Invoice    Outstanding'
    transaction_reference_number = registration_code_redemption.registration_code.invoice_id
    return (list_price, payment_amount, payment_status, transaction_reference_number)
