Пример #1
0
    def create_sepa_xml(cls, qs):
        """ Create a SEPA XML file for Payouts in QuerySet. """

        batch_id = timezone.datetime.strftime(timezone.now(), '%Y%m%d%H%I%S')

        sepa = SepaDocument(type='CT')
        debtor = SepaAccount(
            name=settings.SEPA['name'],
            iban=settings.SEPA['iban'],
            bic=settings.SEPA['bic']
        )

        sepa.set_debtor(debtor)
        sepa.set_info(
            message_identification=batch_id, payment_info_id=batch_id)
        sepa.set_initiating_party(name=settings.SEPA['name'])

        for payout in qs.all():
            creditor = SepaAccount(
                name=payout.receiver_account_name,
                iban=payout.receiver_account_iban,
                bic=payout.receiver_account_bic
            )

            sepa.add_credit_transfer(
                creditor=creditor,
                amount=payout.amount_payable,
                creditor_payment_id=payout.invoice_reference
            )

        return sepa.as_xml()
Пример #2
0
def create_sepa_xml(payouts):
    batch_id = timezone.datetime.strftime(timezone.now(), '%Y%m%d%H%I%S')
    sepa = SepaDocument(type='CT')
    debtor = SepaAccount(name=settings.SEPA['name'], iban=settings.SEPA['iban'], bic=settings.SEPA['bic'])
    sepa.set_debtor(debtor)
    sepa.set_info(message_identification=batch_id, payment_info_id=batch_id)
    sepa.set_initiating_party(name=settings.SEPA['name'], id=settings.SEPA['id'])
    
    for line in payouts.all():
        creditor = SepaAccount(name=line.receiver_account_name, iban=line.receiver_account_iban,
                               bic=line.receiver_account_bic)
        sepa.add_credit_transfer(creditor=creditor, amount=line.amount, creditor_payment_id=line.invoice_reference)
    return sepa.as_xml()
Пример #3
0
    def setUp(self):
        super(CalculateMoneyDonatedTests, self).setUp()

        self.some_account = {
            'name': '1%CLUB',
            'iban': 'NL45RABO0132207044',
            'bic': 'RABONL2U',
            'id': 'A01'
        }

        self.another_account = {
            'name': 'Nice Project',
            'iban': 'NL13TEST0123456789',
            'bic': 'TESTNL2A',
            'id': 'P551'
        }

        self.third_account = {
            'name': 'SHO',
            'iban': 'NL28INGB0000000777',
            'bic': 'INGBNL2A',
            'id': 'P345'
        }

        self.payment1 = {
            'amount': decimal.Decimal('50.00'),
            'id': 'PAYMENT 1253675',
            'remittance_info': 'some info'
        }

        self.payment2 = {
            'amount': decimal.Decimal('25.00'),
            'id': 'PAYMENT 234532',
            'remittance_info': 'my info'
        }

        self.message_id = 'BATCH-1234'
        payment_id = 'PAYMENTS TODAY'

        # Create base for SEPA
        sepa = SepaDocument(type='CT')
        sepa.set_info(message_identification=self.message_id,
                      payment_info_id=payment_id)
        sepa.set_initiating_party(name=self.some_account['name'],
                                  id=self.some_account['id'])

        some_account = SepaAccount(name=self.some_account['name'],
                                   iban=self.some_account['iban'],
                                   bic=self.some_account['bic'])
        sepa.set_debtor(some_account)

        # Add a payment
        another_account = SepaAccount(name=self.another_account['name'],
                                      iban=self.another_account['iban'],
                                      bic=self.another_account['bic'])

        sepa.add_credit_transfer(creditor=another_account,
                                 amount=self.payment1['amount'],
                                 creditor_payment_id=self.payment1['id'],
                                 remittance_information=self.payment1[
                                     'remittance_info'])

        # Add another payment
        third_account = SepaAccount(name=self.third_account['name'],
                                    iban=self.third_account['iban'],
                                    bic=self.third_account['bic'])
        sepa.add_credit_transfer(creditor=third_account,
                                 creditor_payment_id=self.payment2['id'],
                                 amount=self.payment2['amount'],
                                 remittance_information=self.payment2[
                                     'remittance_info'])

        # Now lets get the xml for these payments
        self.xml = sepa.as_xml()
Пример #4
0
    def setUp(self):
        super(CalculateMoneyDonatedTests, self).setUp()

        self.some_account = {
            'name': '1%CLUB',
            'iban': 'NL45RABO0132207044',
            'bic': 'RABONL2U',
            'id': 'A01'
        }

        self.another_account = {
            'name': 'Nice Project',
            'iban': 'NL13TEST0123456789',
            'bic': 'TESTNL2A',
            'id': 'P551'
        }

        self.third_account = {
            'name': 'SHO',
            'iban': 'NL28INGB0000000777',
            'bic': 'INGBNL2A',
            'id': 'P345'
        }

        self.payment1 = {
            'amount': decimal.Decimal('50.00'),
            'id': 'PAYMENT 1253675',
            'remittance_info': 'some info'
        }

        self.payment2 = {
            'amount': decimal.Decimal('25.00'),
            'id': 'PAYMENT 234532',
            'remittance_info': 'my info'
        }

        self.message_id = 'BATCH-1234'
        payment_id = 'PAYMENTS TODAY'

        # Create base for SEPA
        sepa = SepaDocument(type='CT')
        sepa.set_info(message_identification=self.message_id, payment_info_id=payment_id)
        sepa.set_initiating_party(name=self.some_account['name'], id=self.some_account['id'])

        some_account = SepaAccount(name=self.some_account['name'], iban=self.some_account['iban'],
                                   bic=self.some_account['bic'])
        sepa.set_debtor(some_account)

        # Add a payment
        another_account = SepaAccount(name=self.another_account['name'], iban=self.another_account['iban'],
                                      bic=self.another_account['bic'])

        sepa.add_credit_transfer(creditor=another_account, amount=self.payment1['amount'],
                                 creditor_payment_id=self.payment1['id'],
                                 remittance_information=self.payment1['remittance_info'])

        # Add another payment
        third_account = SepaAccount(name=self.third_account['name'], iban=self.third_account['iban'],
                                    bic=self.third_account['bic'])
        sepa.add_credit_transfer(creditor=third_account, creditor_payment_id=self.payment2['id'],
                                 amount=self.payment2['amount'],
                                 remittance_information=self.payment2['remittance_info'])

        # Now lets get the xml for these payments
        self.xml = sepa.as_xml()