qonto_ofx 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +68 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +60 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +34 -0
  9. data/Rakefile +11 -0
  10. data/bin/qonto_ofx +24 -0
  11. data/bin/setup +8 -0
  12. data/lib/api_gateway.rb +47 -0
  13. data/lib/base_validator.rb +17 -0
  14. data/lib/converter.rb +158 -0
  15. data/lib/ofx_validator.rb +17 -0
  16. data/lib/organization_validator.rb +17 -0
  17. data/lib/qonto_ofx/version.rb +3 -0
  18. data/lib/transactions_listing_validator.rb +17 -0
  19. data/qonto_ofx.gemspec +32 -0
  20. data/qonto_organization_schema.json +63 -0
  21. data/qonto_transactions_schema.json +175 -0
  22. data/schema/.DS_Store +0 -0
  23. data/schema/OFX2_Protocol.xsd +783 -0
  24. data/schema/OFX3_Protocol_dotNET.xsd +691 -0
  25. data/schema/OFX_Banking.xsd +119 -0
  26. data/schema/OFX_Banking_Message_Wrappers.xsd +399 -0
  27. data/schema/OFX_Banking_Messages.xsd +431 -0
  28. data/schema/OFX_BillPay.xsd +223 -0
  29. data/schema/OFX_BillPay_Message_Wrappers.xsd +343 -0
  30. data/schema/OFX_BillPay_Messages.xsd +412 -0
  31. data/schema/OFX_BillerDelivery.xsd +263 -0
  32. data/schema/OFX_BillerDelivery_Message_Wrappers.xsd +295 -0
  33. data/schema/OFX_BillerDelivery_Messages.xsd +259 -0
  34. data/schema/OFX_BillerDirectory.xsd +132 -0
  35. data/schema/OFX_BillerDirectory_Message_Wrappers.xsd +56 -0
  36. data/schema/OFX_BillerDirectory_Messages.xsd +86 -0
  37. data/schema/OFX_Common.xsd +2329 -0
  38. data/schema/OFX_CreditCard.xsd +45 -0
  39. data/schema/OFX_CreditCard_Message_Wrappers.xsd +88 -0
  40. data/schema/OFX_CreditCard_Messages.xsd +102 -0
  41. data/schema/OFX_Email.xsd +25 -0
  42. data/schema/OFX_Email_Message_Wrappers.xsd +129 -0
  43. data/schema/OFX_Email_Messages.xsd +72 -0
  44. data/schema/OFX_Image_Message_Wrappers.xsd +31 -0
  45. data/schema/OFX_Image_Messages.xsd +35 -0
  46. data/schema/OFX_InterTransfer.xsd +24 -0
  47. data/schema/OFX_InterTransfer_Message_Wrappers.xsd +195 -0
  48. data/schema/OFX_InterTransfer_Messages.xsd +256 -0
  49. data/schema/OFX_Investment.xsd +1358 -0
  50. data/schema/OFX_Investment_Message_Wrappers.xsd +162 -0
  51. data/schema/OFX_Investment_Messages.xsd +149 -0
  52. data/schema/OFX_Loan_Message_Wrappers.xsd +1 -0
  53. data/schema/OFX_Loan_Messages.xsd +124 -0
  54. data/schema/OFX_Loans.xsd +200 -0
  55. data/schema/OFX_Messages.xsd +18 -0
  56. data/schema/OFX_Profile.xsd +959 -0
  57. data/schema/OFX_Profile_Message_Wrappers.xsd +55 -0
  58. data/schema/OFX_Profile_Messages.xsd +96 -0
  59. data/schema/OFX_SecuritiesList.xsd +357 -0
  60. data/schema/OFX_SecuritiesList_Message_Wrappers.xsd +55 -0
  61. data/schema/OFX_SecuritiesList_Messages.xsd +55 -0
  62. data/schema/OFX_Signon.xsd +243 -0
  63. data/schema/OFX_Signon_Message_Wrappers.xsd +120 -0
  64. data/schema/OFX_Signon_Messages.xsd +211 -0
  65. data/schema/OFX_Signup.xsd +114 -0
  66. data/schema/OFX_Signup_Message_Wrappers.xsd +222 -0
  67. data/schema/OFX_Signup_Messages.xsd +153 -0
  68. data/schema/OFX_Tax1098.xsd +123 -0
  69. data/schema/OFX_Tax1098_Message_Wrappers.xsd +52 -0
  70. data/schema/OFX_Tax1098_Messages.xsd +65 -0
  71. data/schema/OFX_Tax1099.xsd +371 -0
  72. data/schema/OFX_Tax1099_Message_Wrappers.xsd +52 -0
  73. data/schema/OFX_Tax1099_Messages.xsd +50 -0
  74. data/schema/OFX_TaxW2.xsd +204 -0
  75. data/schema/OFX_TaxW2_Message_Wrappers.xsd +52 -0
  76. data/schema/OFX_TaxW2_Messages.xsd +58 -0
  77. data/schema/OFX_TypeDefinitions.xsd +98 -0
  78. data/schema/OFX_WireTransfer.xsd +88 -0
  79. data/schema/OFX_WireTransfer_Message_Wrappers.xsd +101 -0
  80. data/schema/OFX_WireTransfer_Messages.xsd +116 -0
  81. data/test/sample/ofx/invalid.xml +34 -0
  82. data/test/sample/ofx/malformed.xml +38 -0
  83. data/test/sample/ofx/test_result.xml +101 -0
  84. data/test/sample/ofx/valid.xml +38 -0
  85. data/test/sample/organization/invalid_format.txt +1 -0
  86. data/test/sample/organization/malformed.txt +1 -0
  87. data/test/sample/organization/valid_one_account.txt +1 -0
  88. data/test/sample/organization/valid_two_accounts.txt +1 -0
  89. data/test/sample/transactions/corp-1234-bank-account-1-FR0000000000000000000000001.txt +60 -0
  90. data/test/sample/transactions/corp-1234-bank-account-2-FR0000000000000000000000002-p1.txt +28 -0
  91. data/test/sample/transactions/corp-1234-bank-account-2-FR0000000000000000000000002-p2.txt +28 -0
  92. data/test/sample/transactions/invalid_format.txt +1 -0
  93. data/test/sample/transactions/malformed.txt +1 -0
  94. data/test/sample/transactions/valid.txt +1 -0
  95. data/test/test_converter.rb +51 -0
  96. data/test/test_ofx_validator.rb +25 -0
  97. data/test/test_organization_validator.rb +28 -0
  98. data/test/test_transactions_listing_validator.rb +23 -0
  99. metadata +314 -0
@@ -0,0 +1,343 @@
1
+ <?xml version="1.0" encoding="utf-8" standalone="no"?>
2
+
3
+ <!--
4
+
5
+ Open Financial Exchange Specification (c)1996-2003 ("Specification") by all of its publishers:
6
+ CheckFree Corp., Intuit Inc., and Microsoft Corporation. All rights reserved.
7
+
8
+ Revision History:
9
+
10
+ Version Date Editor Email Addr Short Description
11
+ p18 2002-02-11 altenburgd@businesslogic.com Initial revision
12
+ p21 2002-03-17 altenburgd@businesslogic.com Renamed "Account" to "AbstractAccount"
13
+ Renamed "SyncRequest" to "AbstractSyncRequest"
14
+ Renamed "SyncResponse" to "AbstractSyncResponse"
15
+ Renamed "TransactionRequest" to "AbstractTransactionRequest"
16
+ Renamed "TransactionResponse" to "AbstractTransactionResponse"
17
+ p21 2002-03-17 altenburgd@businesslogic.com Changed elementFormDefault to "unqualified"
18
+ Changed namespace to "http://ofx.net/types/2003/04"
19
+
20
+ -->
21
+
22
+ <xsd:schema
23
+ elementFormDefault="unqualified"
24
+ targetNamespace="http://ofx.net/types/2003/04" xmlns:ofx="http://ofx.net/types/2003/04" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
25
+ <xsd:include schemaLocation="OFX_BillPay_Messages.xsd"/>
26
+ <xsd:complexType name="PayeeSyncRequest">
27
+ <xsd:annotation>
28
+ <xsd:documentation>
29
+ The OFX element "PAYEESYNCRQ" is of type "PayeeSyncRequest"
30
+ </xsd:documentation>
31
+ </xsd:annotation>
32
+
33
+ <xsd:complexContent>
34
+ <xsd:extension base="ofx:AbstractSyncRequest">
35
+ <xsd:sequence>
36
+ <xsd:element name="PAYEETRNRQ" type="ofx:PayeeTransactionRequest" minOccurs="0" maxOccurs="unbounded"/>
37
+ </xsd:sequence>
38
+ </xsd:extension>
39
+ </xsd:complexContent>
40
+ </xsd:complexType>
41
+
42
+ <xsd:complexType name="PayeeSyncResponse">
43
+ <xsd:annotation>
44
+ <xsd:documentation>
45
+ The OFX element "PAYEESYNCRS" is of type "PayeeSyncResponse"
46
+ </xsd:documentation>
47
+ </xsd:annotation>
48
+
49
+ <xsd:complexContent>
50
+ <xsd:extension base="ofx:AbstractSyncResponse">
51
+ <xsd:sequence>
52
+ <xsd:element name="PAYEETRNRS" type="ofx:PayeeTransactionResponse" minOccurs="0" maxOccurs="unbounded"/>
53
+ </xsd:sequence>
54
+ </xsd:extension>
55
+ </xsd:complexContent>
56
+ </xsd:complexType>
57
+
58
+ <xsd:complexType name="PayeeTransactionRequest">
59
+ <xsd:annotation>
60
+ <xsd:documentation>
61
+ The OFX element "PAYEETRNRQ" is of type "PayeeTransactionRequest"
62
+ </xsd:documentation>
63
+ </xsd:annotation>
64
+
65
+ <xsd:complexContent>
66
+ <xsd:extension base="ofx:AbstractTransactionRequest">
67
+ <xsd:sequence>
68
+ <xsd:choice>
69
+ <xsd:element name="PAYEERQ" type="ofx:PayeeRequest"/>
70
+ <xsd:element name="PAYEEMODRQ" type="ofx:PayeeModRequest"/>
71
+ <xsd:element name="PAYEEDELRQ" type="ofx:PayeeDeleteRequest"/>
72
+ </xsd:choice>
73
+ </xsd:sequence>
74
+ </xsd:extension>
75
+ </xsd:complexContent>
76
+ </xsd:complexType>
77
+
78
+ <xsd:complexType name="PayeeTransactionResponse">
79
+ <xsd:annotation>
80
+ <xsd:documentation>
81
+ The OFX element "PAYEETRNRS" is of type "PayeeTransactionResponse"
82
+ </xsd:documentation>
83
+ </xsd:annotation>
84
+
85
+ <xsd:complexContent>
86
+ <xsd:extension base="ofx:AbstractTransactionResponse">
87
+ <xsd:sequence>
88
+ <xsd:choice minOccurs="0">
89
+ <xsd:element name="PAYEERS" type="ofx:PayeeResponse"/>
90
+ <xsd:element name="PAYEEMODRS" type="ofx:PayeeModResponse"/>
91
+ <xsd:element name="PAYEEDELRS" type="ofx:PayeeDeleteResponse"/>
92
+ </xsd:choice>
93
+ </xsd:sequence>
94
+ </xsd:extension>
95
+ </xsd:complexContent>
96
+ </xsd:complexType>
97
+
98
+ <xsd:complexType name="PaymentInquiryTransactionRequest">
99
+ <xsd:annotation>
100
+ <xsd:documentation>
101
+ The OFX element "PMTINQTRNRQ" is of type "PaymentInquiryTransactionRequest"
102
+ </xsd:documentation>
103
+ </xsd:annotation>
104
+
105
+ <xsd:complexContent>
106
+ <xsd:extension base="ofx:AbstractTransactionRequest">
107
+ <xsd:sequence>
108
+ <xsd:element name="PMTINQRQ" type="ofx:PaymentInquiryRequest"/>
109
+ </xsd:sequence>
110
+ </xsd:extension>
111
+ </xsd:complexContent>
112
+ </xsd:complexType>
113
+
114
+ <xsd:complexType name="PaymentInquiryTransactionResponse">
115
+ <xsd:annotation>
116
+ <xsd:documentation>
117
+ The OFX element "PMTINQTRNRS" is of type "PaymentInquiryTransactionResponse"
118
+ </xsd:documentation>
119
+ </xsd:annotation>
120
+
121
+ <xsd:complexContent>
122
+ <xsd:extension base="ofx:AbstractTransactionResponse">
123
+ <xsd:sequence>
124
+ <xsd:element name="PMTINQRS" type="ofx:PaymentInquiryResponse" minOccurs="0"/>
125
+ </xsd:sequence>
126
+ </xsd:extension>
127
+ </xsd:complexContent>
128
+ </xsd:complexType>
129
+
130
+ <xsd:complexType name="PaymentMailTransactionRequest">
131
+ <xsd:annotation>
132
+ <xsd:documentation>
133
+ The OFX element "PMTMAILTRNRQ" is of type "PaymentMailTransactionRequest"
134
+ </xsd:documentation>
135
+ </xsd:annotation>
136
+
137
+ <xsd:complexContent>
138
+ <xsd:extension base="ofx:AbstractTransactionRequest">
139
+ <xsd:sequence>
140
+ <xsd:element name="PMTMAILRQ" type="ofx:PaymentMailRequest"/>
141
+ </xsd:sequence>
142
+ </xsd:extension>
143
+ </xsd:complexContent>
144
+ </xsd:complexType>
145
+
146
+ <xsd:complexType name="PaymentMailTransactionResponse">
147
+ <xsd:annotation>
148
+ <xsd:documentation>
149
+ The OFX element "PMTMAILTRNRS" is of type "PaymentMailTransactionResponse"
150
+ </xsd:documentation>
151
+ </xsd:annotation>
152
+
153
+ <xsd:complexContent>
154
+ <xsd:extension base="ofx:AbstractTransactionResponse">
155
+ <xsd:sequence>
156
+ <xsd:element name="PMTMAILRS" type="ofx:PaymentMailResponse" minOccurs="0"/>
157
+ </xsd:sequence>
158
+ </xsd:extension>
159
+ </xsd:complexContent>
160
+ </xsd:complexType>
161
+
162
+ <xsd:complexType name="PaymentSyncRequest">
163
+ <xsd:annotation>
164
+ <xsd:documentation>
165
+ The OFX element "PMTSYNCRQ" is of type "PaymentSyncRequest"
166
+ </xsd:documentation>
167
+ </xsd:annotation>
168
+
169
+ <xsd:complexContent>
170
+ <xsd:extension base="ofx:AbstractSyncRequest">
171
+ <xsd:sequence>
172
+ <xsd:element name="BANKACCTFROM" type="ofx:BankAccount"/>
173
+ <xsd:element name="PMTTRNRQ" type="ofx:PaymentTransactionRequest" minOccurs="0" maxOccurs="unbounded"/>
174
+ </xsd:sequence>
175
+ </xsd:extension>
176
+ </xsd:complexContent>
177
+ </xsd:complexType>
178
+
179
+ <xsd:complexType name="PaymentSyncResponse">
180
+ <xsd:annotation>
181
+ <xsd:documentation>
182
+ The OFX element "PMTSYNCRS" is of type "PaymentSyncResponse"
183
+ </xsd:documentation>
184
+ </xsd:annotation>
185
+
186
+ <xsd:complexContent>
187
+ <xsd:extension base="ofx:AbstractSyncResponse">
188
+ <xsd:sequence>
189
+ <xsd:element name="BANKACCTFROM" type="ofx:BankAccount"/>
190
+ <xsd:element name="PMTTRNRS" type="ofx:PaymentTransactionResponse" minOccurs="0" maxOccurs="unbounded"/>
191
+ </xsd:sequence>
192
+ </xsd:extension>
193
+ </xsd:complexContent>
194
+ </xsd:complexType>
195
+
196
+ <xsd:complexType name="PaymentTransactionRequest">
197
+ <xsd:annotation>
198
+ <xsd:documentation>
199
+ The OFX element "PMTTRNRQ" is of type "PaymentTransactionRequest"
200
+ </xsd:documentation>
201
+ </xsd:annotation>
202
+
203
+ <xsd:complexContent>
204
+ <xsd:extension base="ofx:AbstractTransactionRequest">
205
+ <xsd:sequence>
206
+ <xsd:choice>
207
+ <xsd:element name="PMTRQ" type="ofx:PaymentRequest"/>
208
+ <xsd:element name="PMTMODRQ" type="ofx:PaymentModRequest"/>
209
+ <xsd:element name="PMTCANCRQ" type="ofx:PaymentCancelRequest"/>
210
+ </xsd:choice>
211
+ </xsd:sequence>
212
+ </xsd:extension>
213
+ </xsd:complexContent>
214
+ </xsd:complexType>
215
+
216
+ <xsd:complexType name="PaymentTransactionResponse">
217
+ <xsd:annotation>
218
+ <xsd:documentation>
219
+ The OFX element "PMTTRNRS" is of type "PaymentTransactionResponse"
220
+ </xsd:documentation>
221
+ </xsd:annotation>
222
+
223
+ <xsd:complexContent>
224
+ <xsd:extension base="ofx:AbstractTransactionResponse">
225
+ <xsd:sequence>
226
+ <xsd:choice minOccurs="0">
227
+ <xsd:element name="PMTRS" type="ofx:PaymentResponse"/>
228
+ <xsd:element name="PMTMODRS" type="ofx:PaymentModResponse"/>
229
+ <xsd:element name="PMTCANCRS" type="ofx:PaymentCancelResponse"/>
230
+ </xsd:choice>
231
+ </xsd:sequence>
232
+ </xsd:extension>
233
+ </xsd:complexContent>
234
+ </xsd:complexType>
235
+
236
+ <xsd:complexType name="RecurringPaymentSyncRequest">
237
+ <xsd:annotation>
238
+ <xsd:documentation>
239
+ The OFX element "RECPMTSYNCRQ" is of type "RecurringPaymentSyncRequest"
240
+ </xsd:documentation>
241
+ </xsd:annotation>
242
+
243
+ <xsd:complexContent>
244
+ <xsd:extension base="ofx:AbstractSyncRequest">
245
+ <xsd:sequence>
246
+ <xsd:element name="BANKACCTFROM" type="ofx:BankAccount"/>
247
+ <xsd:element name="RECPMTTRNRQ" type="ofx:RecurringPaymentTransactionRequest" minOccurs="0" maxOccurs="unbounded"/>
248
+ </xsd:sequence>
249
+ </xsd:extension>
250
+ </xsd:complexContent>
251
+ </xsd:complexType>
252
+
253
+ <xsd:complexType name="RecurringPaymentSyncResponse">
254
+ <xsd:annotation>
255
+ <xsd:documentation>
256
+ The OFX element "RECPMTSYNCRS" is of type "RecurringPaymentSyncResponse"
257
+ </xsd:documentation>
258
+ </xsd:annotation>
259
+
260
+ <xsd:complexContent>
261
+ <xsd:extension base="ofx:AbstractSyncResponse">
262
+ <xsd:sequence>
263
+ <xsd:element name="BANKACCTFROM" type="ofx:BankAccount"/>
264
+ <xsd:element name="RECPMTTRNRS" type="ofx:RecurringPaymentTransactionResponse" minOccurs="0" maxOccurs="unbounded"/>
265
+ </xsd:sequence>
266
+ </xsd:extension>
267
+ </xsd:complexContent>
268
+ </xsd:complexType>
269
+ <xsd:complexType name="RecurringPaymentTransactionRequest">
270
+ <xsd:annotation>
271
+ <xsd:documentation>
272
+ The OFX element "RECPMTTRNRQ" is of type "RecurringPaymentTransactionRequest"
273
+ </xsd:documentation>
274
+ </xsd:annotation>
275
+
276
+ <xsd:complexContent>
277
+ <xsd:extension base="ofx:AbstractTransactionRequest">
278
+ <xsd:sequence>
279
+ <xsd:choice>
280
+ <xsd:element name="RECPMTRQ" type="ofx:RecurringPaymentRequest"/>
281
+ <xsd:element name="RECPMTMODRQ" type="ofx:RecurringPaymentModRequest"/>
282
+ <xsd:element name="RECPMTCANCRQ" type="ofx:RecurringPaymentCancelRequest"/>
283
+ </xsd:choice>
284
+ </xsd:sequence>
285
+ </xsd:extension>
286
+ </xsd:complexContent>
287
+ </xsd:complexType>
288
+
289
+ <xsd:complexType name="RecurringPaymentTransactionResponse">
290
+ <xsd:annotation>
291
+ <xsd:documentation>
292
+ The OFX element "RECPMTTRNRS" is of type "RecurringPaymentTransactionResponse"
293
+ </xsd:documentation>
294
+ </xsd:annotation>
295
+
296
+ <xsd:complexContent>
297
+ <xsd:extension base="ofx:AbstractTransactionResponse">
298
+ <xsd:sequence>
299
+ <xsd:choice minOccurs="0">
300
+ <xsd:element name="RECPMTRS" type="ofx:RecurringPaymentResponse"/>
301
+ <xsd:element name="RECPMTMODRS" type="ofx:RecurringPaymentModResponse"/>
302
+ <xsd:element name="RECPMTCANCRS" type="ofx:RecurringPaymentCancelResponse"/>
303
+ </xsd:choice>
304
+ </xsd:sequence>
305
+ </xsd:extension>
306
+ </xsd:complexContent>
307
+ </xsd:complexType>
308
+
309
+ <xsd:complexType name="PaymentMailSyncRequest">
310
+ <xsd:annotation>
311
+ <xsd:documentation>
312
+ The OFX element "PMTMAILSYNCRQ" is of type "PaymentMailSyncRequest"
313
+ </xsd:documentation>
314
+ </xsd:annotation>
315
+
316
+ <xsd:complexContent>
317
+ <xsd:extension base="ofx:AbstractSyncRequest">
318
+ <xsd:sequence>
319
+ <xsd:element name="INCIMAGES" type="ofx:BooleanType"/>
320
+ <xsd:element name="USEHTML" type="ofx:BooleanType"/>
321
+ <xsd:element name="PMTMAILTRNRQ" type="ofx:PaymentMailTransactionRequest" minOccurs="0" maxOccurs="unbounded"/>
322
+ </xsd:sequence>
323
+ </xsd:extension>
324
+ </xsd:complexContent>
325
+ </xsd:complexType>
326
+
327
+ <xsd:complexType name="PaymentMailSyncResponse">
328
+ <xsd:annotation>
329
+ <xsd:documentation>
330
+ The OFX element "PMTMAILSYNCRS" is of type "PaymentMailSyncResponse"
331
+ </xsd:documentation>
332
+ </xsd:annotation>
333
+
334
+ <xsd:complexContent>
335
+ <xsd:extension base="ofx:AbstractSyncResponse">
336
+ <xsd:sequence>
337
+ <xsd:element name="PMTMAILTRNRS" type="ofx:PaymentMailTransactionResponse" minOccurs="0" maxOccurs="unbounded"/>
338
+ </xsd:sequence>
339
+ </xsd:extension>
340
+ </xsd:complexContent>
341
+
342
+ </xsd:complexType>
343
+ </xsd:schema>