You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Pain001** is an open-source Python Library that you can use to create
13
-
**ISO 20022-Compliant Payment Files** directly from your **CSV** or **SQLite**
14
-
Data Files.
11
+
**Pain001** is an open-source Python Library that you can use to create **ISO 20022-Compliant Payment Files** directly from your **CSV** or **SQLite** Data Files.
**Payment Initiation and Advice Messages**, commonly known as **Pain**. In a
22
-
very simplified way, a **pain.001** is a message that initiates the customer
23
-
payment.
17
+
The Python library focuses specifically on **Payment Initiation and Advice Messages**, commonly known as **Pain**. In a very simplified way, a **pain.001** is a message that initiates the customer payment.
24
18
25
19
As of today the library is designed to be compatible with the:
26
20
27
-
-**Payments Initiation V03 (pain.001.001.03)** - ISO20022 message format for
28
-
initiating payments with version 03,
29
-
-**Payments Initiation V04 (pain.001.001.04)** - ISO20022 message format for
30
-
initiating payments with version 04,
31
-
-**Payments Initiation V05 (pain.001.001.05)** - ISO20022 message format for
32
-
initiating payments with version 05 and,
33
-
-**Payments Initiation V09 (pain.001.001.09)** - ISO20022 message format for
34
-
initiating payments with version 09.
35
-
36
-
message types and will support more in the future.
37
-
38
-
Payments usually start with a **pain.001 payment initiation message**. The
39
-
payer sends it to the payee (or the payee’s bank) via a secure network. This
40
-
network could be **SWIFT** or **SEPA (Single Euro Payments Area) network**, or
41
-
other payment networks such as **CHAPS**, **BACS**, **Faster Payments**, etc.
42
-
The message contains the payer’s and payee’s bank account details, payment
43
-
amount, and other information required to process the payment.
44
-
45
-
The **Pain001** library can reduce payment processing complexity and costs by
46
-
generating ISO 20022-compliant payment files. These files automatically remove
47
-
the need to create and validate them manually, making the payment process more
48
-
efficient and cost-effective. It will save you time and resources and minimises
49
-
the risk of errors, making sure accurate and seamless payment processing.
50
-
51
-
Use the **Pain001** library to simplify, accelerate and automate your payment
52
-
processing.
21
+
-**Payments Initiation V03 (pain.001.001.03)**: This version is used for initiating credit transfers within the SEPA (Single Euro Payments Area).
22
+
-**Payments Initiation V04 (pain.001.001.04)**: Introduced support for non-SEPA payments and additional functionalities.
23
+
-**Payments Initiation V05 (pain.001.001.05)**: Brought further enhancements and clarifications.
24
+
-**Payments Initiation V06 (pain.001.001.06)**: Focused on introducing support for instant payments.
25
+
-**Payments Initiation V07 (pain.001.001.07)**: Added support for Request for Large Payment (RLP) and Request to Modify Payment (RTP) functionalities.
26
+
-**Payments Initiation V08 (pain.001.001.08)**: Included support for the TARGET Instant Settlement Service (TISS) and introduced a new pain.002 message type for debit transfers.
27
+
-**Payments Initiation V09 (pain.001.001.09)**: The latest version, which introduced support for Request for Account Information (RAI) functionality.
28
+
29
+
Payments usually start with a **pain.001 payment initiation message**. The payer sends it to the payee (or the payee’s bank) via a secure network. This
30
+
network could be **SWIFT** or **SEPA (Single Euro Payments Area) network**, or other payment networks such as **CHAPS**, **BACS**, **Faster Payments**, etc. The message contains the payer’s and payee’s bank account details, payment amount, and other information required to process the payment.
31
+
32
+
The **Pain001** library can reduce payment processing complexity and costs by generating ISO 20022-compliant payment files. These files automatically remove the need to create and validate them manually, making the payment process more efficient and cost-effective. It will save you time and resources and minimises the risk of errors, making sure accurate and seamless payment processing.
33
+
34
+
Use the **Pain001** library to simplify, accelerate and automate your payment processing.
53
35
54
36
## Table of Contents
55
37
@@ -60,6 +42,10 @@ processing.
60
42
-[Features](#features)
61
43
-[Requirements](#requirements)
62
44
-[Installation](#installation)
45
+
-[Install `virtualenv`](#install-virtualenv)
46
+
-[Create a Virtual Environment](#create-a-virtual-environment)
47
+
-[Activate environment](#activate-environment)
48
+
-[Getting Started](#getting-started)
63
49
-[Quick Start](#quick-start)
64
50
-[Arguments](#arguments)
65
51
-[Examples](#examples)
@@ -113,33 +99,58 @@ processing.
113
99
114
100
## Requirements
115
101
116
-
**Pain001** works with macOS, Linux and Windows and requires Python 3.9.0 and
117
-
above.
102
+
**Pain001** works with macOS, Linux and Windows and requires Python 3.9.0 and above.
118
103
119
104
## Installation
120
105
121
-
It takes just a few seconds to get up and running with **Pain001**. You can
122
-
install Pain001 from PyPI with pip or your favourite package manager:
106
+
We recommend creating a virtual environment to install **Pain001**. This will ensure that the package is installed in an isolated environment and will not affect other projects. To install **Pain001** in a virtual environment, follow these steps:
107
+
108
+
### Install `virtualenv`
109
+
110
+
```sh
111
+
python -m pip install virtualenv
112
+
```
113
+
114
+
### Create a Virtual Environment
115
+
116
+
```sh
117
+
python -m venv venv
118
+
```
119
+
120
+
| Code | Explanation |
121
+
|---|---|
122
+
|`-m`| executes module `venv`|
123
+
|`env`| name of the virtual environment |
124
+
125
+
### Activate environment
123
126
124
-
Open your terminal and run the following command:
127
+
```sh
128
+
source venv/bin/activate
129
+
```
130
+
131
+
### Getting Started
132
+
133
+
It takes just a few seconds to get up and running with **Pain001**. You can install Pain001 from PyPI with pip or your favourite package manager:
134
+
135
+
Open your terminal and run the following command to add the latest version:
125
136
126
137
```sh
127
-
pip install pain001
138
+
python -m pip install pain001
128
139
```
129
140
130
-
Add the -U switch to update to the current version, if `pain001` is already
131
-
installed.
141
+
Add the -U switch to update to the current version, if `pain001` is already installed.
142
+
143
+
```sh
144
+
python -m pip install -U pain001
145
+
```
132
146
133
147
## Quick Start
134
148
135
-
After installation, you can run **Pain001** directly from the command line.
136
-
Simply call the main module pain001 with the paths of your:
149
+
After installation, you can run **Pain001** directly from the command line. Simply call the main module pain001 with the paths of your:
137
150
138
-
-**XML template file** containing the various parameters you want to pass from
139
-
your Data file,
151
+
-**XML template file** containing the various parameters you want to pass from your Data file,
140
152
-**XSD schema file** to validate the generated XML file, and
141
-
-**Data file (CSV or SQLite)** containing the payment instructions that you
142
-
want to submit.
153
+
-**Data file (CSV or SQLite)** containing the payment instructions that you want to submit.
143
154
144
155
Here’s how you would do that:
145
156
@@ -158,15 +169,22 @@ When running **Pain001**, you will need to specify four arguments:
158
169
- An `xml_message_type`: This is the type of XML message you want to generate.
159
170
160
171
The currently supported types are:
172
+
161
173
- pain.001.001.03
162
174
- pain.001.001.04
163
175
- pain.001.001.05
176
+
- pain.001.001.06
177
+
- pain.001.001.07
178
+
- pain.001.001.08
164
179
- pain.001.001.09
180
+
165
181
- An `xml_template_file_path`: This is the path to the XML template file you
166
182
are using that contains variables that will be replaced by the values in your
167
183
Data file.
184
+
168
185
- An `xsd_schema_file_path`: This is the path to the XSD schema file you are
169
186
using to validate the generated XML file.
187
+
170
188
- A `data_file_path`: This is the path to the CSV or SQLite Data file you want
[banner]: https://kura.pro/pain001/images/banners/banner-pain001.svg'Pain001, A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Or SQlite Data Files.'
Copy file name to clipboardexpand all lines: TEMPLATE.md
+37-6
Original file line number
Diff line number
Diff line change
@@ -19,16 +19,47 @@ above.
19
19
20
20
## Installation
21
21
22
-
It takes just a few seconds to get up and running with **Pain001**. You can
23
-
install Pain001 from PyPI with pip or your favourite package manager:
22
+
We recommend creating a virtual environment to install **Pain001**. This will ensure that the package is installed in an isolated environment and will not affect other projects. To install **Pain001** in a virtual environment, follow these steps:
24
23
25
-
Open your terminal and run the following command:
24
+
### Install `virtualenv`
26
25
27
26
```sh
28
-
pip install pain001
27
+
python -m pip install virtualenv
29
28
```
30
29
31
-
Add the -U switch to update to the current version, if `pain001` is already
32
-
installed.
30
+
### Create a Virtual Environment
31
+
32
+
```sh
33
+
python -m venv venv
34
+
```
35
+
36
+
| Code | Explanation |
37
+
|---|---|
38
+
|`-m`| executes module `venv`|
39
+
|`env`| name of the virtual environment |
40
+
41
+
### Activate environment
42
+
43
+
```sh
44
+
source venv/bin/activate
45
+
```
46
+
47
+
### Getting Started
48
+
49
+
It takes just a few seconds to get up and running with **Pain001**. You can install Pain001 from PyPI with pip or your favourite package manager:
50
+
51
+
Open your terminal and run the following command to add the latest version:
52
+
53
+
```sh
54
+
python -m pip install pain001
55
+
```
56
+
57
+
Add the -U switch to update to the current version, if `pain001` is already installed.
58
+
59
+
```sh
60
+
python -m pip install -U pain001
61
+
```
33
62
34
63
[banner]: https://kura.pro/pain001/images/banners/banner-pain001.svg'Pain001, A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Or SQlite Data Files.'
0 commit comments