Pix Sicoob - Easy to use interface for integrating with Sicoob Pix API in your Flutter Apps.
This package offers an easy-to-use interface for integrating with Sicoob Pix API. With this package, you can get transaction information quickly and efficiently in your Flutter apps.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
About The Project
This package offers an easy-to-use interface for integrating with Sicoob's Pix API. With this package, you can get transaction information quickly and efficiently in your Flutter apps.
Pre Requirements
- Key Pix registered with Sicoob
- Exclusive for legal entities
- Valid certificate issued by an external CAs complying with the international standard x.509
- Registration on the Sicoob Developers Portal
Getting Started
To install This package in your project you can follow the instructions below:
a) Add in your pubspec.yaml:
dependencies:
pix_sicoob: <last-version>
b) or use:
dart pub add pix_sicoob
How To Use
This package is ready for get transactions information quickly!
- First instantiate the class passing the appropriate parameters
- Second get the token
- Third fetch your Pix transactions quickly!
Instantiate the class
final pixSicoob = PixSicoob(
clientID:'CLIENT_ID',
certificateBase64String: 'X509_Parsed_TO_BASE64_STRING',
/*
This package offer a method to parses file certificate to base64 String
Method:
final certBase64String = pixSicoob.certFileToBase64String(
pkcs12CertificateFile: File('test/cert/cert.pfx'),
);
*/
certificatePassword: 'CERTIFICATE_PASSWORD',
);
Get the token
final token = await pixSicoob.getToken();
Fetch your Pix transacations Quickly!
final listPix = await pixSicoob.fetchTransactions(
token: token,
);
//Returns the last 4 days transactions
For more examples, please refer to the Documentation
Features
- PIX:
- ✅ Fetch received PIX transactions
- 🚧 Fetch specific pix transaction
- 🚧 Request return
- 🚧 Consult return
-
COB:
- ✅ Create an immediate charge
- 🚧 Review Immediate Billing
- 🚧 Consult Immediate Billing
- 🚧 Get the qrcode image of an immediate charge
- 🚧 Consult list of immediate charges
-
COBV:
- 🚧 Create billing due
- 🚧 Review billing due
- 🚧 Consult Billing due
- 🚧 Get qrcode image of a due charge
- 🚧 Consult list of due charges
-
LOTECOBV:
- 🚧 Create / Change batch of due charges
- 🚧 Review specific charges within a batch of due charges
- 🚧 Consult a specific batch of due charges
- 🚧 Consult batches of charges due
- WEBHOOK:
- 🚧 Configure PIX webhook
- 🚧 Display information about the PIX webhook
- 🚧 Cancel PIX webhook
- 🚧 Consult registered webhooks
Use cases
Convert certificate file to Base64String
final certBase64String = pixSicoob.certFileToBase64String(
pkcs12CertificateFile: File('test/cert/cert.pfx'));
Request a token
final token = await pixSicoob.getToken();
Fetch Pix Transactions
- Default Time Range
final listPix = await pixSicoob.fetchTransactions(
token: token,
);
//Returns the last 4 days transactions
- Custom Time Range
final listPix = await pixSicoob.fetchTransactions(
token: token,
dateTimeRange: DateTimeRange(
start: DateTime.now().subtract(Duration(days: 360)),
end: DateTime.now(),
);
);
//Returns the transactions of the specified date range
Handling errors
This package provides some ways to map and handle different types of errors, Below are some of the errors that can be encountered when using this package:
- the-certificate-password-is-incorrect: A senha do certificado está incorreta.
- invalid-certificate-file: O arquivo de certificado é inválido
- invalid-certificate-base64string: A string base64 do certificado é inválida
- empty-certificate-password: A senha do certificado está vazia
- empty-certificate-base64string: A string base64 do certificado está vazia
- could-not-find-the-certificate-path: O caminho para o certificado não pôde ser encontrado
- client-id-cannot-be-empty: O ID do cliente não pode estar vazio.
- date-range-must-be-in-the-same-month: O intervalo de datas deve estar dentro do mesmo mês.
Contributing
🚧 Contributing Guidelines - Currently being updated 🚧
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the appropriate tag. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Remember to include a tag, and to follow Conventional Commits and Semantic Versioning when uploading your commit and/or creating the issue.
License
Distributed under the MIT LICENSE.txt
for more information.
Architecture
Check the architecture used in the project ARCHITECTURE.md
Aknowledgements
Thank you to all the people who contributed to this project, whithout you this project would not be here today.
Maintaned by
Built and maintained by AcxTech Sistemas.