sps_king 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -23
- data/README.md +13 -0
- data/cliff.toml +3 -3
- data/lib/sps_king/message/credit_transfer.rb +17 -2
- data/lib/sps_king/structured_remittance_information.rb +1 -1
- data/lib/sps_king/version.rb +1 -1
- data/spec/lib/sps_king/message/credit_transfer_spec.rb +31 -2
- data/spec/lib/sps_king/structured_remittance_information_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0bbc6291838df10ef7290cb3e04e1c97d573c92f67e13073e0734743a7d93fa7
|
4
|
+
data.tar.gz: 9611dd93cbfa199e0d32e50f39f6a9d77c4cc952a64a1d20d191d4644ecb0beb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e50e84dac80865f798fe6bbbbfb4582d2500346d87f9e28420a1381c5cc7843db5d8999892fc4d41c34c83fff0cbfd24cf10dafbb13cee6966bac854aa7d59e
|
7
|
+
data.tar.gz: d6ccf85250954c8e84df1146bf4c59d07d0f0eb99f313fef315bd7e0b4a5a31e8cf204fa4bec4c320d33e289661532346533147b08a9bc60e4ad35828f78ef87
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,20 @@
|
|
1
|
-
## What's Changed
|
1
|
+
## What's Changed in v0.5.0
|
2
|
+
* Add support for QRR type in structured remittance information by @tobischo in [#10](https://github.com/viafintech/sps_king/pull/10)
|
3
|
+
* Allow structured remittance information optionally for credits
|
4
|
+
* Bump version to 0.5.0
|
5
|
+
* Add support for QRR as value for proprietary
|
6
|
+
* Fix changelog links
|
7
|
+
|
8
|
+
## What's Changed in v0.4.0
|
9
|
+
* Bump version to 0.4.0
|
10
|
+
* Make charge bearer optional instead of constant set to `SLEV` by @tobischo in [#7](https://github.com/viafintech/sps_king/pull/7)
|
2
11
|
* Make charge bearer optional instead of constant set to `SLEV`
|
3
12
|
|
13
|
+
**Full Changelog**: https://github.com/viafintech/sps_king/compare/v0.3.1...v0.4.0
|
14
|
+
|
4
15
|
## What's Changed in v0.3.1
|
5
16
|
* Bump version to 0.3.1
|
6
|
-
*
|
17
|
+
* Fix default currency on transactions by @tobischo in [#5](https://github.com/viafintech/sps_king/pull/5)
|
7
18
|
* Revert to old gemfile definition
|
8
19
|
* Re-add bundle install step
|
9
20
|
* Fix indentation
|
@@ -11,36 +22,39 @@
|
|
11
22
|
* Add newer ruby versions to test matrix
|
12
23
|
* Fix default currency on transactions
|
13
24
|
|
14
|
-
**Full Changelog**: https://github.com
|
25
|
+
**Full Changelog**: https://github.com/viafintech/sps_king/compare/v0.3.0...v0.3.1
|
15
26
|
|
16
27
|
## What's Changed in v0.3.0
|
17
28
|
* Bump gem version
|
18
29
|
* Update tested activemodel versions
|
19
30
|
* Update test ruby version to 3.0
|
20
31
|
|
21
|
-
**Full Changelog**: https://github.com
|
32
|
+
**Full Changelog**: https://github.com/viafintech/sps_king/compare/v0.2.0...v0.3.0
|
22
33
|
|
23
34
|
## What's Changed in v0.2.0
|
24
|
-
*
|
25
|
-
* Stick to ruby 2.7 support for now
|
26
|
-
* Fix CI setup
|
27
|
-
* Bump required ruby version to 2.7
|
28
|
-
*
|
29
|
-
* Update version to 0.1.1
|
30
|
-
* Add missing gemfiles for testing
|
31
|
-
* Remove coveralls dependency
|
32
|
-
*
|
33
|
-
* Update copyright notice and author mail address
|
34
|
-
* Add comment pointing to sepa_king for sepa files
|
35
|
-
* Fix gem description for next release
|
36
|
-
|
37
|
-
|
35
|
+
* Bump required ruby version to 2.7 by @martinseener in [#3](https://github.com/viafintech/sps_king/pull/3)
|
36
|
+
* Stick to ruby 2.7 support for now by @tobischo
|
37
|
+
* Fix CI setup by @tobischo
|
38
|
+
* Bump required ruby version to 2.7 by @tobischo
|
39
|
+
* Remove coveralls dependency by @martinseener in [#2](https://github.com/viafintech/sps_king/pull/2)
|
40
|
+
* Update version to 0.1.1 by @tobischo
|
41
|
+
* Add missing gemfiles for testing by @tobischo
|
42
|
+
* Remove coveralls dependency by @tobischo
|
43
|
+
* Update copyright notice and author mail address by @martinseener in [#1](https://github.com/viafintech/sps_king/pull/1)
|
44
|
+
* Update copyright notice and author mail address by @tobischo
|
45
|
+
* Add comment pointing to sepa_king for sepa files by @tobischo
|
46
|
+
* Fix gem description for next release by @tobischo
|
47
|
+
|
48
|
+
## New Contributors
|
49
|
+
* @martinseener made their first contribution in [#3](https://github.com/viafintech/sps_king/pull/3)
|
50
|
+
|
51
|
+
**Full Changelog**: https://github.com/viafintech/sps_king/compare/v0.1.0...v0.2.0
|
38
52
|
|
39
53
|
## What's Changed in v0.1.0
|
40
|
-
* Add .gem to gitignore
|
41
|
-
* Adapt example account holder
|
42
|
-
* Fix status badges
|
43
|
-
* Fix copyright notice
|
44
|
-
* Initial implementation after fork from sepa_king gem
|
54
|
+
* Add .gem to gitignore by @tobischo
|
55
|
+
* Adapt example account holder by @tobischo
|
56
|
+
* Fix status badges by @tobischo
|
57
|
+
* Fix copyright notice by @tobischo
|
58
|
+
* Initial implementation after fork from sepa_king gem by @tobischo
|
45
59
|
|
46
60
|
<!-- generated by git-cliff -->
|
data/README.md
CHANGED
@@ -184,6 +184,19 @@ sct.add_transaction(
|
|
184
184
|
# String, max. 140 char
|
185
185
|
remittance_information: 'Rechnung vom 22.08.2013',
|
186
186
|
|
187
|
+
# OPTIONAL: Structured remittance information, in German "Strukturierter Verwendungszweck". Required for e.g. Swiss QR transfers
|
188
|
+
# StructuredRemittanceInformation
|
189
|
+
structured_remittance_information: SPS::StructuredRemittanceInformation.new(
|
190
|
+
# Defines how the reference field should be interpreted for Swiss Direct Debits
|
191
|
+
# One of these strings:
|
192
|
+
# 'IPI' ("IPI-Verwendungszweck")
|
193
|
+
# 'QRR' ("QR-Referenz")
|
194
|
+
proprietary: 'QRR',
|
195
|
+
# if proprietary is 'IPI': 20 character IPI remittance
|
196
|
+
# if proprietary is 'QRR': 27 character QR reference
|
197
|
+
reference: '000008207791225857421286694'
|
198
|
+
),
|
199
|
+
|
187
200
|
# OPTIONAL: Requested execution date, in German "Ausführungstermin"
|
188
201
|
# Date
|
189
202
|
requested_date: Date.new(2013,9,5),
|
data/cliff.toml
CHANGED
@@ -132,9 +132,24 @@ module SPS
|
|
132
132
|
builder.IBAN(transaction.iban)
|
133
133
|
end
|
134
134
|
end
|
135
|
-
if transaction.remittance_information
|
135
|
+
if transaction.remittance_information || transaction.structured_remittance_information
|
136
136
|
builder.RmtInf do
|
137
|
-
|
137
|
+
if transaction.remittance_information
|
138
|
+
builder.Ustrd(transaction.remittance_information)
|
139
|
+
end
|
140
|
+
|
141
|
+
if transaction.structured_remittance_information
|
142
|
+
builder.Strd do
|
143
|
+
builder.CdtrRefInf do
|
144
|
+
builder.Tp do
|
145
|
+
builder.CdOrPrtry do
|
146
|
+
builder.Prtry(transaction.structured_remittance_information.proprietary)
|
147
|
+
end
|
148
|
+
end
|
149
|
+
builder.Ref(transaction.structured_remittance_information.reference)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
138
153
|
end
|
139
154
|
end
|
140
155
|
end
|
@@ -6,7 +6,7 @@ module SPS
|
|
6
6
|
attr_accessor :proprietary,
|
7
7
|
:reference
|
8
8
|
|
9
|
-
validates_inclusion_of :proprietary, in: %w(ESR IPI)
|
9
|
+
validates_inclusion_of :proprietary, in: %w(ESR IPI QRR)
|
10
10
|
validates_length_of :reference, within: 1..35
|
11
11
|
|
12
12
|
convert :proprietary, :reference, to: :text
|
data/lib/sps_king/version.rb
CHANGED
@@ -273,8 +273,6 @@ describe SPS::CreditTransfer do
|
|
273
273
|
end
|
274
274
|
|
275
275
|
it 'should contain payment_information with <ChrgBr>' do
|
276
|
-
puts subject
|
277
|
-
|
278
276
|
expect(subject)
|
279
277
|
.to have_xml('//Document/CstmrCdtTrfInitn/PmtInf[1]/ChrgBr', charge_bearer)
|
280
278
|
end
|
@@ -366,6 +364,37 @@ describe SPS::CreditTransfer do
|
|
366
364
|
)
|
367
365
|
end
|
368
366
|
end
|
367
|
+
|
368
|
+
context 'with structured remittance information given' do
|
369
|
+
subject do
|
370
|
+
sct = credit_transfer
|
371
|
+
|
372
|
+
sct.add_transaction(
|
373
|
+
name: 'Contoso AG',
|
374
|
+
iban: 'CH5481230000001998736',
|
375
|
+
bic: 'RAIFCH22',
|
376
|
+
amount: 102.50,
|
377
|
+
structured_remittance_information: SPS::StructuredRemittanceInformation.new(
|
378
|
+
proprietary: 'QRR',
|
379
|
+
reference: '185744810000000000200800628'
|
380
|
+
)
|
381
|
+
)
|
382
|
+
|
383
|
+
sct.to_xml
|
384
|
+
end
|
385
|
+
|
386
|
+
it 'should create valid XML file' do
|
387
|
+
expect(subject).to validate_against('pain.001.001.03.ch.02.xsd')
|
388
|
+
end
|
389
|
+
|
390
|
+
it 'should contain <Prtry>' do
|
391
|
+
expect(subject)
|
392
|
+
.to have_xml(
|
393
|
+
'//Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf[1]/RmtInf/Strd/CdtrRefInf/Tp/CdOrPrtry/Prtry',
|
394
|
+
'QRR'
|
395
|
+
)
|
396
|
+
end
|
397
|
+
end
|
369
398
|
end
|
370
399
|
end
|
371
400
|
end
|
@@ -12,7 +12,7 @@ describe SPS::StructuredRemittanceInformation do
|
|
12
12
|
|
13
13
|
describe :proprietary do
|
14
14
|
it 'should accept valid value' do
|
15
|
-
expect(SPS::StructuredRemittanceInformation).to accept('ESR', 'IPI', for: :proprietary)
|
15
|
+
expect(SPS::StructuredRemittanceInformation).to accept('ESR', 'IPI', 'QRR', for: :proprietary)
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'should not accept invalid value' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sps_king
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Schoknecht
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|