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()
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()
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()
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()