Giter VIP home page Giter VIP logo

pt-sepa-iso20022's Introduction

pt-sepa-iso20022


API to easily implement SEPA (ISO-20022) in Java applications (tuned for Portugal).


Credit Transfer Usage Example


Create a new Credit Transfer message:

	 CreditTransfer ct = new CreditTransfer("message id", "company name");

Create a new Payment Group:

	CreditTransferPaymentGroup pg = new CreditTransferPaymentGroup("payment group id",  (java.util.Date)executionDate, 
																	"debtor Name", "debtor Iban", "debtor Bic");

Add a transaction to the payment group:

	pg.addTransaction("end to end id", (BigDecimal)amount,
						"creditor name", "creditor iban", "creditor bic");

Attach the payment group to the credit transfer message:

	ct.addPaymentGroup(pg);

Write the credit transder message in a XML ISO-20022 compliant file:

    ct.write("/full/path/filename.sepa.xml");

Direct Debit Usage Example


Create a new Direct Debit message:

    DirectDebit dd = new DirectDebit("message id", "company name", "company id");        

Create a new Payment Group with FRST transactions:

    DirectDebitPaymentGroup pg = new DirectDebitPaymentGroup("payment group id", (java.util.Date)executionDate, 
                                                             "creditor Name", "creditor id",
                                                             "creditor Iban", "creditor Bic",
                                                             "FRST");

Add a transaction without adc amendment to the payment group:

    pg.gaddTransactionWithoutAmendment("end to end id", (BigDecimal)value,
                                        "mandate id", (java.util.Date)mandateDate,
                                        "debtor name", "debtor IBAN", "debtor BIC");

Add a transaction with adc amendment (new iban) to the payment group:

    pg.gaddTransactionWithAmendedDebtorAccount("end to end id", (BigDecimal)value,
                                                "mandate id", (java.util.Date)mandateDate,
                                                "debtor name", "debtor IBAN", "debtor BIC", "original Iban");

Attach the payment group to the direct debit message:

    dd.addPaymentGroup(pg);

Create a new Payment Group with RCUR transactions:

    pg = new DirectDebitPaymentGroup("payment group id", (java.util.Date)executionDate, 
                                        "creditor Name", "creditor id",
                                        "creditor Iban", "creditor Bic",
                                        "RCUR");

Add a transaction with adc amendment (new bank) to the payment group:

    pg.gaddTransactionWithAmendedDebtorBank("end to end id", (BigDecimal)value,
                                            "mandate id", (java.util.Date)mandateDate,
                                            "debtor name", "debtor IBAN", "debtor BIC");

Attach the payment group to the direct debit message:

    dd.addPaymentGroup(pg);

Write the DirectDebit in a XML ISO-20022 compliant file:

    dd.write("/full/path/filename.sepa.xml");

SEPA Utils


Get BIC from Nib (PT):

	String bic = SepaUtils.bicFromNib("nib");

Get IBAN from Nib (PT):

	String iban = SepaUtils.nibToIban("nib");

pt-sepa-iso20022's People

Contributors

joaoosorio avatar

Stargazers

 avatar Takács Bence avatar Mikhail Glushko avatar  avatar Pietro Bonanno avatar Dmitrij P avatar

Watchers

 avatar Elvis Begović avatar ghewarer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.