sepa 0.0.16 → 0.0.17
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/README.md +11 -1
- data/lib/sepa/base.rb +13 -6
- data/lib/sepa/direct_debit_order.rb +7 -2
- data/lib/sepa/payments_initiation/financial_identification_scheme_name_1_choice.rb +7 -0
- data/lib/sepa/payments_initiation/financial_institution_identification.rb +2 -1
- data/lib/sepa/payments_initiation/generic_financial_identification_1.rb +12 -0
- data/lib/sepa/version.rb +1 -1
- data/spec/sepa/direct_debit_order_spec.rb +62 -9
- data/spec/sepa/expected-grphdr-time-format.xml +8 -0
- data/spec/sepa/expected_customer_direct_debit_initiation_v02.xml +68 -4
- data/spec/sepa/expected_customer_direct_debit_initiation_v02_with_remittance_information.xml +68 -4
- data/spec/sepa/expected_customer_direct_debit_initiation_v04.xml +86 -4
- data/spec/sepa/expected_customer_direct_debit_initiation_v04_with_org_id.xml +86 -4
- data/spec/sepa/payments_initiation/financial_identification_scheme_name_1_choice_spec.rb +9 -0
- data/spec/sepa/payments_initiation/generic_financial_identification_1_spec.rb +9 -0
- data/spec/sepa/payments_initiation/pain00800104/customer_direct_debit_initiation_spec.rb +17 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 316f7e846361f530cd610c4a7855b4a4d5caedc7
|
4
|
+
data.tar.gz: c21e65546b876eb0f243c0aa35c79cf425142d18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17cb2181595f131b274636a22cef58f1dab35d4efe0534cd98462d10a9852e3e474cd715998a06fee7eec7394ab3dca938a418c22159a47a036178b5aa5c1188
|
7
|
+
data.tar.gz: bd89541c1a0b919301ba8fb6d4aecad8d54193f7344789a11b277c715fad849a529f0e7a069cc803406067e6ae59aac27308b6d9a35bdd463a59adb6d258bc97
|
data/README.md
CHANGED
@@ -73,8 +73,18 @@ a message-id.
|
|
73
73
|
The last line returns a string that you will then need to send to your bank one way or another. For example, you might use an EBICS client. Or your bank might provide
|
74
74
|
software to send the file. Or perhaps you can upload it via their website.
|
75
75
|
|
76
|
+
If your bank expects a particular time format, do this (for example)
|
77
|
+
|
78
|
+
Sepa::Base.time_format = "%Y-%m-%dT%H:%M:%SZ" # btw, this is the default value
|
79
|
+
|
80
|
+
This sets a class variable, which is effectively a global, non-thread-safe variable, so this might change in the future, in case we need to support usage where multiple clients need to generate XML with different time format requirements.
|
81
|
+
|
76
82
|
## History
|
77
83
|
|
84
|
+
0.0.17
|
85
|
+
* Use 'NOTPROVIDED' instead of BIC (requirement from ABN-AMRO Netherlands) (thanks @joostkuif)
|
86
|
+
* Support various ruby kinds of number (thanks @TheConstructor)
|
87
|
+
* Configurable time format string for time elements (so far, only CstmrDrctDbtInitn/GrpHdr/CreDtTm)
|
78
88
|
0.0.16 BigDecimal to avoid floating-point rounding errors (w/thanks to @joostkuif), support RemittanceInformation (w/thanks to @TheConstructor)
|
79
89
|
0.0.15 Ruby 1.8.7 compatibility
|
80
90
|
|
@@ -91,4 +101,4 @@ Other message types are totally welcome.
|
|
91
101
|
## Contributors
|
92
102
|
|
93
103
|
Author: [Conan Dalton](http://www.conandalton.net), aka [conanite](https://github.com/conanite)
|
94
|
-
With thanks to [corny](https://github.com/corny), [TheConstructor](https://github.com/TheConstructor), [joostkuif](https://github.com/joostkuif)
|
104
|
+
With thanks to [corny](https://github.com/corny), [TheConstructor](https://github.com/TheConstructor), [joostkuif](https://github.com/joostkuif), [digineo](https://github.com/digineo)
|
data/lib/sepa/base.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
require 'bigdecimal'
|
3
2
|
module Sepa
|
4
3
|
class Base
|
5
4
|
include Aduki::Initializer
|
6
5
|
|
6
|
+
@@time_format = "%Y-%m-%dT%H:%M:%SZ"
|
7
7
|
@@attribute_defs = Hash.new { |h,k| h[k] = [] }
|
8
8
|
|
9
9
|
def build_xml_attributes names
|
@@ -19,9 +19,12 @@ module Sepa
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def normalize str
|
22
|
-
|
23
|
-
return
|
24
|
-
|
22
|
+
# Integer like Fixnum and Bignum can directly be returned
|
23
|
+
return str if str.is_a? Integer
|
24
|
+
# Check for Numeric to exclude String, but handle Float, BigDecimal, Rational, ... we don't mind.
|
25
|
+
# Kernel#sprintf could handle all to_f implementers, if to_f does not throw an exception
|
26
|
+
return ('%.2f' % str) if str.is_a?(Numeric) && str.respond_to?(:to_f)
|
27
|
+
# For String we need to replace illegal characters by an appropriate alternative
|
25
28
|
replacements = {
|
26
29
|
'à' => 'a', 'é' => 'e', 'è' => 'e',
|
27
30
|
'û' => 'u', 'î' => 'i', 'ô' => 'o', 'ü' => 'u', 'ï' => 'i', 'ö' => 'o',
|
@@ -29,7 +32,7 @@ module Sepa
|
|
29
32
|
'À' => 'A', 'Á' => 'A', 'Ü' => 'U', 'Ï' => 'I', 'Ö' => 'O', 'ß' => 'ss'
|
30
33
|
}
|
31
34
|
str = replacements.to_a.
|
32
|
-
inject(str) { |s, kv| s.gsub(kv[0], kv[1]) }.
|
35
|
+
inject(str.to_s) { |s, kv| s.gsub(kv[0], kv[1]) }.
|
33
36
|
gsub(/[^a-zA-Z0-9_@ \.,()'+\/\?-]/, '')
|
34
37
|
end
|
35
38
|
|
@@ -50,7 +53,7 @@ module Sepa
|
|
50
53
|
end
|
51
54
|
end
|
52
55
|
elsif meta[:type] == Time
|
53
|
-
v = item.is_a?(String) ? item : item.strftime(
|
56
|
+
v = item.is_a?(String) ? item : item.strftime(@@time_format)
|
54
57
|
builder.__send__(meta[:tag], v, attributes)
|
55
58
|
elsif meta[:type] == Date
|
56
59
|
v = item.is_a?(String) ? item : item.strftime("%Y-%m-%d")
|
@@ -99,5 +102,9 @@ module Sepa
|
|
99
102
|
attr_accessor name
|
100
103
|
aduki(name => member_type) if member_type
|
101
104
|
end
|
105
|
+
|
106
|
+
def self.time_format= new_format
|
107
|
+
@@time_format = new_format
|
108
|
+
end
|
102
109
|
end
|
103
110
|
end
|
@@ -236,8 +236,13 @@ class Sepa::DirectDebitOrder
|
|
236
236
|
def to_properties prefix, opts
|
237
237
|
bic_tag = ( opts[:pain_008_001_version] == "04" ? "bic_fi" : "bic" )
|
238
238
|
|
239
|
-
|
240
|
-
"#{prefix}
|
239
|
+
if swift.nil?
|
240
|
+
{ "#{prefix}_account.identification.iban" => iban.gsub(/\s/, ''),
|
241
|
+
"#{prefix}_agent.financial_institution_identification.other.identification" => "NOTPROVIDED" }
|
242
|
+
else
|
243
|
+
{ "#{prefix}_account.identification.iban" => iban.gsub(/\s/, ''),
|
244
|
+
"#{prefix}_agent.financial_institution_identification.#{bic_tag}" => swift }
|
245
|
+
end
|
241
246
|
end
|
242
247
|
end
|
243
248
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "sepa/payments_initiation/postal_address"
|
2
|
+
require "sepa/payments_initiation/generic_financial_identification_1"
|
2
3
|
|
3
4
|
class Sepa::PaymentsInitiation::FinancialInstitutionIdentification < Sepa::Base
|
4
5
|
definition "Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme."
|
@@ -6,5 +7,5 @@ class Sepa::PaymentsInitiation::FinancialInstitutionIdentification < Sepa::Base
|
|
6
7
|
attribute :bic, "BIC"
|
7
8
|
attribute :name, "Nm"
|
8
9
|
attribute :postal_address, "PstlAdr", Sepa::PaymentsInitiation::PostalAddress
|
9
|
-
|
10
|
+
attribute :other, "Othr", Sepa::PaymentsInitiation::GenericFinancialIdentification1
|
10
11
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'sepa/payments_initiation/financial_identification_scheme_name_1_choice'
|
2
|
+
|
3
|
+
class Sepa::PaymentsInitiation::GenericFinancialIdentification1 < Sepa::Base
|
4
|
+
definition "Unique identification of an agent, as assigned by an institution, using an identification scheme."
|
5
|
+
attribute :identification, "Id"
|
6
|
+
attribute :scheme_name , "SchmeNm", Sepa::PaymentsInitiation::FinancialIdentificationSchemeName1Choice
|
7
|
+
attribute :issuer , "Issr"
|
8
|
+
|
9
|
+
def empty?
|
10
|
+
[identification, issuer].join.strip == '' && (scheme_name == nil || scheme_name.empty?)
|
11
|
+
end
|
12
|
+
end
|
data/lib/sepa/version.rb
CHANGED
@@ -2,27 +2,44 @@
|
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
4
|
require "time"
|
5
|
+
require 'bigdecimal'
|
6
|
+
require 'rational'
|
5
7
|
|
6
8
|
describe Sepa::DirectDebitOrder do
|
7
9
|
|
8
|
-
|
10
|
+
AMOUNTS = {
|
11
|
+
:Float => [1231.31, 1133.33, 1732.32, 1034.34, 1935.35, 1236.36, 1235.42, 1236.78],
|
12
|
+
:BigDecimal => [BigDecimal.new('1231.31'), BigDecimal.new('1133.33'), BigDecimal.new('1732.32'), BigDecimal.new('1034.34'), BigDecimal.new('1935.35'), BigDecimal.new('1236.36'), BigDecimal.new('1235.42'), BigDecimal.new('1236.78')],
|
13
|
+
:Rational => [Rational(123131, 100), Rational(113333, 100), Rational(173232, 100), Rational(103434, 100), Rational(193535, 100), Rational(123636, 100), Rational(123542, 100), Rational(123678, 100)],
|
14
|
+
}
|
15
|
+
|
16
|
+
|
17
|
+
def order sepa_identifier_class, numeric_class = :Float, remittance_information = false
|
18
|
+
amounts = AMOUNTS[numeric_class]
|
19
|
+
|
9
20
|
bank_account0 = Sepa::DirectDebitOrder::BankAccount.new "FRZIZIPAPARAZZI345789", "FRZZPPKOOKOO"
|
10
21
|
debtor0 = Sepa::DirectDebitOrder::Party.new "DALTON/CONANMR", "64, Livva de Getamire", nil, "30005", "RENNES", "France", "Conan DALTON", "01234567890", "conan@dalton.sepa.i.hope.this.works"
|
11
22
|
mandate0 = Sepa::DirectDebitOrder::MandateInformation.new("mandate-id-0", Date.parse("2010-11-18"), "RCUR")
|
12
|
-
dd00 = Sepa::DirectDebitOrder::DirectDebit.new debtor0, bank_account0, "MONECOLE REG F13789 PVT 3",
|
13
|
-
dd01 = Sepa::DirectDebitOrder::DirectDebit.new debtor0, bank_account0, "MONECOLE REG F13791 PVT 3",
|
23
|
+
dd00 = Sepa::DirectDebitOrder::DirectDebit.new debtor0, bank_account0, "MONECOLE REG F13789 PVT 3", amounts[0], "EUR", mandate0, remittance_information ? "Transaction 3" : nil
|
24
|
+
dd01 = Sepa::DirectDebitOrder::DirectDebit.new debtor0, bank_account0, "MONECOLE REG F13791 PVT 3", amounts[1], "EUR", mandate0, remittance_information ? "We take your money" : nil
|
14
25
|
|
15
26
|
bank_account1 = Sepa::DirectDebitOrder::BankAccount.new "FRQUIQUIWIGWAM947551", "FRQQWIGGA"
|
16
27
|
debtor1 = Sepa::DirectDebitOrder::Party.new "ADAMS/SAMUELMR", "256, Livva de Getamire", nil, "75048", "BERLIN", "Germany", "Samuel ADAMS", "09876543210", "samuel@adams.sepa.i.hope.this.works"
|
17
28
|
mandate1 = Sepa::DirectDebitOrder::MandateInformation.new("mandate-id-1", Date.parse("2012-01-19"), "FRST")
|
18
|
-
dd10 = Sepa::DirectDebitOrder::DirectDebit.new debtor1, bank_account1, "MONECOLE REG F13790 PVT 3",
|
19
|
-
dd11 = Sepa::DirectDebitOrder::DirectDebit.new debtor1, bank_account1, "MONECOLE REG F13792 PVT 3",
|
29
|
+
dd10 = Sepa::DirectDebitOrder::DirectDebit.new debtor1, bank_account1, "MONECOLE REG F13790 PVT 3", amounts[2], "EUR", mandate1, remittance_information ? "An important transaction" : nil
|
30
|
+
dd11 = Sepa::DirectDebitOrder::DirectDebit.new debtor1, bank_account1, "MONECOLE REG F13792 PVT 3", amounts[3], "EUR", mandate1, remittance_information ? "Thank you, for the money" : nil
|
20
31
|
|
21
32
|
bank_account2 = Sepa::DirectDebitOrder::BankAccount.new " FR QU IQ UI WI GW\tAM 947 551 ", "FRQQWIGGA"
|
22
33
|
debtor2 = Sepa::DirectDebitOrder::Party.new "Mr. James Joyce", "512, Livva de Meet Agir", nil, "75099", "LONDON", "Angleterre", "Johann S. BACH", "09876543210", "js@bach.sepa.i.hope.this.works"
|
23
34
|
mandate2 = Sepa::DirectDebitOrder::MandateInformation.new("mandate-id-2", Date.parse("2013-06-08"), "RCUR")
|
24
|
-
dd20 = Sepa::DirectDebitOrder::DirectDebit.new debtor2, bank_account2, "MONECOLE REG F13793 PVT 3",
|
25
|
-
dd21 = Sepa::DirectDebitOrder::DirectDebit.new debtor2, bank_account2, "MONECOLE REG F13794 PVT 3",
|
35
|
+
dd20 = Sepa::DirectDebitOrder::DirectDebit.new debtor2, bank_account2, "MONECOLE REG F13793 PVT 3", amounts[4], "EUR", mandate2, remittance_information ? "Another one" : nil
|
36
|
+
dd21 = Sepa::DirectDebitOrder::DirectDebit.new debtor2, bank_account2, "MONECOLE REG F13794 PVT 3", amounts[5], "EUR", mandate2, remittance_information ? "Final transaction" : nil
|
37
|
+
|
38
|
+
bank_account3 = Sepa::DirectDebitOrder::BankAccount.new "NLQUIQUIWIGWAM947551", nil
|
39
|
+
debtor3 = Sepa::DirectDebitOrder::Party.new "R Epelsteeltje", "Spuistraat 42", nil, "75099", "Amsterdam", "Netherlands", "Ron Epelsteeltje", "01234567890", "ron@epelsteeltje.sepa.i.hope.this.works"
|
40
|
+
mandate3 = Sepa::DirectDebitOrder::MandateInformation.new("mandate-id-3", Date.parse("2014-01-23"), "RCUR")
|
41
|
+
dd30 = Sepa::DirectDebitOrder::DirectDebit.new debtor3, bank_account3, "MONECOLE REG F13795 PVT 3", amounts[6], "EUR", mandate3
|
42
|
+
dd31 = Sepa::DirectDebitOrder::DirectDebit.new debtor3, bank_account3, "MONECOLE REG F13796 PVT 3", amounts[7], "EUR", mandate3
|
26
43
|
|
27
44
|
sepa_now = Time.local(1992, 2, 28, 18, 30, 0, 0, 0)
|
28
45
|
Time.stub(:now).and_return sepa_now
|
@@ -30,7 +47,7 @@ describe Sepa::DirectDebitOrder do
|
|
30
47
|
creditor = Sepa::DirectDebitOrder::Party.new "Mon École", "3, Livva de Getamire", nil, "75022", "Paris", "Frankreich", "M. le Directeur", "+33 999 999 999", "directeur@monecole.softify.com"
|
31
48
|
creditor_account = Sepa::DirectDebitOrder::BankAccount.new "FRGOO GOOY ADDA 9999 999", "FRGGYELLOW99"
|
32
49
|
sepa_identifier = sepa_identifier_class.new "FR123ZZZ010203"
|
33
|
-
payment = Sepa::DirectDebitOrder::CreditorPayment.new creditor, creditor_account, "MONECOLE_PAYMENTS_20130703", Date.parse("2013-07-10"), sepa_identifier, [dd00, dd01, dd10, dd11, dd20, dd21]
|
50
|
+
payment = Sepa::DirectDebitOrder::CreditorPayment.new creditor, creditor_account, "MONECOLE_PAYMENTS_20130703", Date.parse("2013-07-10"), sepa_identifier, [dd00, dd01, dd10, dd11, dd20, dd21, dd30, dd31]
|
34
51
|
|
35
52
|
initiator = Sepa::DirectDebitOrder::Party.new "SOFTIFY SARL", "289, Livva de Getamire", nil, "75021", "Paris", "FR", "M. Le Gérant", "+33 111 111 111", "gerant@softify.bigbang"
|
36
53
|
|
@@ -46,8 +63,26 @@ describe Sepa::DirectDebitOrder do
|
|
46
63
|
xml.should == expected
|
47
64
|
end
|
48
65
|
|
66
|
+
it "should produce v02 xml corresponding to the given inputs and BigDecimal amounts" do
|
67
|
+
o = order Sepa::DirectDebitOrder::PrivateSepaIdentifier, :BigDecimal
|
68
|
+
xml = o.to_xml :pain_008_001_version => "02"
|
69
|
+
xml = check_doc_header_02 xml
|
70
|
+
expected = File.read(File.expand_path("../expected_customer_direct_debit_initiation_v02.xml", __FILE__))
|
71
|
+
expected.force_encoding(Encoding::UTF_8) if expected.respond_to? :force_encoding
|
72
|
+
xml.should == expected
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should produce v02 xml corresponding to the given inputs and Rational amounts" do
|
76
|
+
o = order Sepa::DirectDebitOrder::PrivateSepaIdentifier, :Rational
|
77
|
+
xml = o.to_xml :pain_008_001_version => "02"
|
78
|
+
xml = check_doc_header_02 xml
|
79
|
+
expected = File.read(File.expand_path("../expected_customer_direct_debit_initiation_v02.xml", __FILE__))
|
80
|
+
expected.force_encoding(Encoding::UTF_8) if expected.respond_to? :force_encoding
|
81
|
+
xml.should == expected
|
82
|
+
end
|
83
|
+
|
49
84
|
it "should produce v02 xml corresponding to the given inputs with unstructured remittance information" do
|
50
|
-
o = order Sepa::DirectDebitOrder::PrivateSepaIdentifier, true
|
85
|
+
o = order Sepa::DirectDebitOrder::PrivateSepaIdentifier, :Float, true
|
51
86
|
xml = o.to_xml :pain_008_001_version => "02"
|
52
87
|
xml = check_doc_header_02 xml
|
53
88
|
expected = File.read(File.expand_path("../expected_customer_direct_debit_initiation_v02_with_remittance_information.xml", __FILE__))
|
@@ -64,6 +99,24 @@ describe Sepa::DirectDebitOrder do
|
|
64
99
|
xml.should == expected
|
65
100
|
end
|
66
101
|
|
102
|
+
it "should produce v04 xml corresponding to the given inputs and BigDecimal amounts" do
|
103
|
+
o = order Sepa::DirectDebitOrder::PrivateSepaIdentifier, :BigDecimal
|
104
|
+
xml = o.to_xml :pain_008_001_version => "04"
|
105
|
+
xml = check_doc_header_04 xml
|
106
|
+
expected = File.read(File.expand_path("../expected_customer_direct_debit_initiation_v04.xml", __FILE__))
|
107
|
+
expected.force_encoding(Encoding::UTF_8) if expected.respond_to? :force_encoding
|
108
|
+
xml.should == expected
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should produce v04 xml corresponding to the given inputs and Rational amounts" do
|
112
|
+
o = order Sepa::DirectDebitOrder::PrivateSepaIdentifier, :Rational
|
113
|
+
xml = o.to_xml :pain_008_001_version => "04"
|
114
|
+
xml = check_doc_header_04 xml
|
115
|
+
expected = File.read(File.expand_path("../expected_customer_direct_debit_initiation_v04.xml", __FILE__))
|
116
|
+
expected.force_encoding(Encoding::UTF_8) if expected.respond_to? :force_encoding
|
117
|
+
xml.should == expected
|
118
|
+
end
|
119
|
+
|
67
120
|
it "should produce v04 xml corresponding to the given inputs with an organisation identifier for the creditor" do
|
68
121
|
o = order Sepa::DirectDebitOrder::OrganisationSepaIdentifier
|
69
122
|
xml = o.to_xml :pain_008_001_version => "04"
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<GrpHdr>
|
5
5
|
<MsgId>MSG0001</MsgId>
|
6
6
|
<CreDtTm>1992-02-28T18:30:00Z</CreDtTm>
|
7
|
-
<NbOfTxs>
|
8
|
-
<CtrlSum>
|
7
|
+
<NbOfTxs>8</NbOfTxs>
|
8
|
+
<CtrlSum>10775.21</CtrlSum>
|
9
9
|
<InitgPty>
|
10
10
|
<Nm>SOFTIFY SARL</Nm>
|
11
11
|
</InitgPty>
|
@@ -120,8 +120,8 @@
|
|
120
120
|
<PmtInf>
|
121
121
|
<PmtInfId>MONECOLE_PAYMENTS_20130703-RCUR</PmtInfId>
|
122
122
|
<PmtMtd>DD</PmtMtd>
|
123
|
-
<NbOfTxs>
|
124
|
-
<CtrlSum>
|
123
|
+
<NbOfTxs>6</NbOfTxs>
|
124
|
+
<CtrlSum>8008.55</CtrlSum>
|
125
125
|
<PmtTpInf>
|
126
126
|
<SvcLvl>
|
127
127
|
<Cd>SEPA</Cd>
|
@@ -281,6 +281,70 @@
|
|
281
281
|
</Id>
|
282
282
|
</DbtrAcct>
|
283
283
|
</DrctDbtTxInf>
|
284
|
+
<DrctDbtTxInf>
|
285
|
+
<PmtId>
|
286
|
+
<EndToEndId>MONECOLE REG F13795 PVT 3</EndToEndId>
|
287
|
+
</PmtId>
|
288
|
+
<InstdAmt Ccy="EUR">1235.42</InstdAmt>
|
289
|
+
<DrctDbtTx>
|
290
|
+
<MndtRltdInf>
|
291
|
+
<MndtId>mandate-id-3</MndtId>
|
292
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
293
|
+
</MndtRltdInf>
|
294
|
+
</DrctDbtTx>
|
295
|
+
<DbtrAgt>
|
296
|
+
<FinInstnId>
|
297
|
+
<Othr>
|
298
|
+
<Id>NOTPROVIDED</Id>
|
299
|
+
</Othr>
|
300
|
+
</FinInstnId>
|
301
|
+
</DbtrAgt>
|
302
|
+
<Dbtr>
|
303
|
+
<Nm>R Epelsteeltje</Nm>
|
304
|
+
<PstlAdr>
|
305
|
+
<Ctry>NL</Ctry>
|
306
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
307
|
+
<AdrLine>75099 Amsterdam</AdrLine>
|
308
|
+
</PstlAdr>
|
309
|
+
</Dbtr>
|
310
|
+
<DbtrAcct>
|
311
|
+
<Id>
|
312
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
313
|
+
</Id>
|
314
|
+
</DbtrAcct>
|
315
|
+
</DrctDbtTxInf>
|
316
|
+
<DrctDbtTxInf>
|
317
|
+
<PmtId>
|
318
|
+
<EndToEndId>MONECOLE REG F13796 PVT 3</EndToEndId>
|
319
|
+
</PmtId>
|
320
|
+
<InstdAmt Ccy="EUR">1236.78</InstdAmt>
|
321
|
+
<DrctDbtTx>
|
322
|
+
<MndtRltdInf>
|
323
|
+
<MndtId>mandate-id-3</MndtId>
|
324
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
325
|
+
</MndtRltdInf>
|
326
|
+
</DrctDbtTx>
|
327
|
+
<DbtrAgt>
|
328
|
+
<FinInstnId>
|
329
|
+
<Othr>
|
330
|
+
<Id>NOTPROVIDED</Id>
|
331
|
+
</Othr>
|
332
|
+
</FinInstnId>
|
333
|
+
</DbtrAgt>
|
334
|
+
<Dbtr>
|
335
|
+
<Nm>R Epelsteeltje</Nm>
|
336
|
+
<PstlAdr>
|
337
|
+
<Ctry>NL</Ctry>
|
338
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
339
|
+
<AdrLine>75099 Amsterdam</AdrLine>
|
340
|
+
</PstlAdr>
|
341
|
+
</Dbtr>
|
342
|
+
<DbtrAcct>
|
343
|
+
<Id>
|
344
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
345
|
+
</Id>
|
346
|
+
</DbtrAcct>
|
347
|
+
</DrctDbtTxInf>
|
284
348
|
</PmtInf>
|
285
349
|
</CstmrDrctDbtInitn>
|
286
350
|
</Document>
|
data/spec/sepa/expected_customer_direct_debit_initiation_v02_with_remittance_information.xml
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
<GrpHdr>
|
5
5
|
<MsgId>MSG0001</MsgId>
|
6
6
|
<CreDtTm>1992-02-28T18:30:00Z</CreDtTm>
|
7
|
-
<NbOfTxs>
|
8
|
-
<CtrlSum>
|
7
|
+
<NbOfTxs>8</NbOfTxs>
|
8
|
+
<CtrlSum>10775.21</CtrlSum>
|
9
9
|
<InitgPty>
|
10
10
|
<Nm>SOFTIFY SARL</Nm>
|
11
11
|
</InitgPty>
|
@@ -126,8 +126,8 @@
|
|
126
126
|
<PmtInf>
|
127
127
|
<PmtInfId>MONECOLE_PAYMENTS_20130703-RCUR</PmtInfId>
|
128
128
|
<PmtMtd>DD</PmtMtd>
|
129
|
-
<NbOfTxs>
|
130
|
-
<CtrlSum>
|
129
|
+
<NbOfTxs>6</NbOfTxs>
|
130
|
+
<CtrlSum>8008.55</CtrlSum>
|
131
131
|
<PmtTpInf>
|
132
132
|
<SvcLvl>
|
133
133
|
<Cd>SEPA</Cd>
|
@@ -299,6 +299,70 @@
|
|
299
299
|
<Ustrd>Final transaction</Ustrd>
|
300
300
|
</RmtInf>
|
301
301
|
</DrctDbtTxInf>
|
302
|
+
<DrctDbtTxInf>
|
303
|
+
<PmtId>
|
304
|
+
<EndToEndId>MONECOLE REG F13795 PVT 3</EndToEndId>
|
305
|
+
</PmtId>
|
306
|
+
<InstdAmt Ccy="EUR">1235.42</InstdAmt>
|
307
|
+
<DrctDbtTx>
|
308
|
+
<MndtRltdInf>
|
309
|
+
<MndtId>mandate-id-3</MndtId>
|
310
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
311
|
+
</MndtRltdInf>
|
312
|
+
</DrctDbtTx>
|
313
|
+
<DbtrAgt>
|
314
|
+
<FinInstnId>
|
315
|
+
<Othr>
|
316
|
+
<Id>NOTPROVIDED</Id>
|
317
|
+
</Othr>
|
318
|
+
</FinInstnId>
|
319
|
+
</DbtrAgt>
|
320
|
+
<Dbtr>
|
321
|
+
<Nm>R Epelsteeltje</Nm>
|
322
|
+
<PstlAdr>
|
323
|
+
<Ctry>NL</Ctry>
|
324
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
325
|
+
<AdrLine>75099 Amsterdam</AdrLine>
|
326
|
+
</PstlAdr>
|
327
|
+
</Dbtr>
|
328
|
+
<DbtrAcct>
|
329
|
+
<Id>
|
330
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
331
|
+
</Id>
|
332
|
+
</DbtrAcct>
|
333
|
+
</DrctDbtTxInf>
|
334
|
+
<DrctDbtTxInf>
|
335
|
+
<PmtId>
|
336
|
+
<EndToEndId>MONECOLE REG F13796 PVT 3</EndToEndId>
|
337
|
+
</PmtId>
|
338
|
+
<InstdAmt Ccy="EUR">1236.78</InstdAmt>
|
339
|
+
<DrctDbtTx>
|
340
|
+
<MndtRltdInf>
|
341
|
+
<MndtId>mandate-id-3</MndtId>
|
342
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
343
|
+
</MndtRltdInf>
|
344
|
+
</DrctDbtTx>
|
345
|
+
<DbtrAgt>
|
346
|
+
<FinInstnId>
|
347
|
+
<Othr>
|
348
|
+
<Id>NOTPROVIDED</Id>
|
349
|
+
</Othr>
|
350
|
+
</FinInstnId>
|
351
|
+
</DbtrAgt>
|
352
|
+
<Dbtr>
|
353
|
+
<Nm>R Epelsteeltje</Nm>
|
354
|
+
<PstlAdr>
|
355
|
+
<Ctry>NL</Ctry>
|
356
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
357
|
+
<AdrLine>75099 Amsterdam</AdrLine>
|
358
|
+
</PstlAdr>
|
359
|
+
</Dbtr>
|
360
|
+
<DbtrAcct>
|
361
|
+
<Id>
|
362
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
363
|
+
</Id>
|
364
|
+
</DbtrAcct>
|
365
|
+
</DrctDbtTxInf>
|
302
366
|
</PmtInf>
|
303
367
|
</CstmrDrctDbtInitn>
|
304
368
|
</Document>
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<GrpHdr>
|
5
5
|
<MsgId>MSG0001</MsgId>
|
6
6
|
<CreDtTm>1992-02-28T18:30:00Z</CreDtTm>
|
7
|
-
<NbOfTxs>
|
8
|
-
<CtrlSum>
|
7
|
+
<NbOfTxs>8</NbOfTxs>
|
8
|
+
<CtrlSum>10775.21</CtrlSum>
|
9
9
|
<InitgPty>
|
10
10
|
<Nm>SOFTIFY SARL</Nm>
|
11
11
|
<PstlAdr>
|
@@ -24,8 +24,8 @@
|
|
24
24
|
<PmtInf>
|
25
25
|
<PmtInfId>MONECOLE_PAYMENTS_20130703</PmtInfId>
|
26
26
|
<PmtMtd>DD</PmtMtd>
|
27
|
-
<NbOfTxs>
|
28
|
-
<CtrlSum>
|
27
|
+
<NbOfTxs>8</NbOfTxs>
|
28
|
+
<CtrlSum>10775.21</CtrlSum>
|
29
29
|
<PmtTpInf>
|
30
30
|
<SvcLvl>
|
31
31
|
<Cd>SEPA</Cd>
|
@@ -304,6 +304,88 @@
|
|
304
304
|
</Id>
|
305
305
|
</DbtrAcct>
|
306
306
|
</DrctDbtTxInf>
|
307
|
+
<DrctDbtTxInf>
|
308
|
+
<PmtId>
|
309
|
+
<EndToEndId>MONECOLE REG F13795 PVT 3</EndToEndId>
|
310
|
+
</PmtId>
|
311
|
+
<PmtTpInf>
|
312
|
+
<SeqTp>RCUR</SeqTp>
|
313
|
+
</PmtTpInf>
|
314
|
+
<InstdAmt Ccy="EUR">1235.42</InstdAmt>
|
315
|
+
<DrctDbtTx>
|
316
|
+
<MndtRltdInf>
|
317
|
+
<MndtId>mandate-id-3</MndtId>
|
318
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
319
|
+
</MndtRltdInf>
|
320
|
+
</DrctDbtTx>
|
321
|
+
<DbtrAgt>
|
322
|
+
<FinInstnId>
|
323
|
+
<Othr>
|
324
|
+
<Id>NOTPROVIDED</Id>
|
325
|
+
</Othr>
|
326
|
+
</FinInstnId>
|
327
|
+
</DbtrAgt>
|
328
|
+
<Dbtr>
|
329
|
+
<Nm>R Epelsteeltje</Nm>
|
330
|
+
<PstlAdr>
|
331
|
+
<PstCd>75099</PstCd>
|
332
|
+
<TwnNm>Amsterdam</TwnNm>
|
333
|
+
<Ctry>NL</Ctry>
|
334
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
335
|
+
</PstlAdr>
|
336
|
+
<CtctDtls>
|
337
|
+
<Nm>Ron Epelsteeltje</Nm>
|
338
|
+
<PhneNb>01234567890</PhneNb>
|
339
|
+
<EmailAdr>ron@epelsteeltje.sepa.i.hope.this.works</EmailAdr>
|
340
|
+
</CtctDtls>
|
341
|
+
</Dbtr>
|
342
|
+
<DbtrAcct>
|
343
|
+
<Id>
|
344
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
345
|
+
</Id>
|
346
|
+
</DbtrAcct>
|
347
|
+
</DrctDbtTxInf>
|
348
|
+
<DrctDbtTxInf>
|
349
|
+
<PmtId>
|
350
|
+
<EndToEndId>MONECOLE REG F13796 PVT 3</EndToEndId>
|
351
|
+
</PmtId>
|
352
|
+
<PmtTpInf>
|
353
|
+
<SeqTp>RCUR</SeqTp>
|
354
|
+
</PmtTpInf>
|
355
|
+
<InstdAmt Ccy="EUR">1236.78</InstdAmt>
|
356
|
+
<DrctDbtTx>
|
357
|
+
<MndtRltdInf>
|
358
|
+
<MndtId>mandate-id-3</MndtId>
|
359
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
360
|
+
</MndtRltdInf>
|
361
|
+
</DrctDbtTx>
|
362
|
+
<DbtrAgt>
|
363
|
+
<FinInstnId>
|
364
|
+
<Othr>
|
365
|
+
<Id>NOTPROVIDED</Id>
|
366
|
+
</Othr>
|
367
|
+
</FinInstnId>
|
368
|
+
</DbtrAgt>
|
369
|
+
<Dbtr>
|
370
|
+
<Nm>R Epelsteeltje</Nm>
|
371
|
+
<PstlAdr>
|
372
|
+
<PstCd>75099</PstCd>
|
373
|
+
<TwnNm>Amsterdam</TwnNm>
|
374
|
+
<Ctry>NL</Ctry>
|
375
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
376
|
+
</PstlAdr>
|
377
|
+
<CtctDtls>
|
378
|
+
<Nm>Ron Epelsteeltje</Nm>
|
379
|
+
<PhneNb>01234567890</PhneNb>
|
380
|
+
<EmailAdr>ron@epelsteeltje.sepa.i.hope.this.works</EmailAdr>
|
381
|
+
</CtctDtls>
|
382
|
+
</Dbtr>
|
383
|
+
<DbtrAcct>
|
384
|
+
<Id>
|
385
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
386
|
+
</Id>
|
387
|
+
</DbtrAcct>
|
388
|
+
</DrctDbtTxInf>
|
307
389
|
</PmtInf>
|
308
390
|
</CstmrDrctDbtInitn>
|
309
391
|
</Document>
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<GrpHdr>
|
5
5
|
<MsgId>MSG0001</MsgId>
|
6
6
|
<CreDtTm>1992-02-28T18:30:00Z</CreDtTm>
|
7
|
-
<NbOfTxs>
|
8
|
-
<CtrlSum>
|
7
|
+
<NbOfTxs>8</NbOfTxs>
|
8
|
+
<CtrlSum>10775.21</CtrlSum>
|
9
9
|
<InitgPty>
|
10
10
|
<Nm>SOFTIFY SARL</Nm>
|
11
11
|
<PstlAdr>
|
@@ -24,8 +24,8 @@
|
|
24
24
|
<PmtInf>
|
25
25
|
<PmtInfId>MONECOLE_PAYMENTS_20130703</PmtInfId>
|
26
26
|
<PmtMtd>DD</PmtMtd>
|
27
|
-
<NbOfTxs>
|
28
|
-
<CtrlSum>
|
27
|
+
<NbOfTxs>8</NbOfTxs>
|
28
|
+
<CtrlSum>10775.21</CtrlSum>
|
29
29
|
<PmtTpInf>
|
30
30
|
<SvcLvl>
|
31
31
|
<Cd>SEPA</Cd>
|
@@ -304,6 +304,88 @@
|
|
304
304
|
</Id>
|
305
305
|
</DbtrAcct>
|
306
306
|
</DrctDbtTxInf>
|
307
|
+
<DrctDbtTxInf>
|
308
|
+
<PmtId>
|
309
|
+
<EndToEndId>MONECOLE REG F13795 PVT 3</EndToEndId>
|
310
|
+
</PmtId>
|
311
|
+
<PmtTpInf>
|
312
|
+
<SeqTp>RCUR</SeqTp>
|
313
|
+
</PmtTpInf>
|
314
|
+
<InstdAmt Ccy="EUR">1235.42</InstdAmt>
|
315
|
+
<DrctDbtTx>
|
316
|
+
<MndtRltdInf>
|
317
|
+
<MndtId>mandate-id-3</MndtId>
|
318
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
319
|
+
</MndtRltdInf>
|
320
|
+
</DrctDbtTx>
|
321
|
+
<DbtrAgt>
|
322
|
+
<FinInstnId>
|
323
|
+
<Othr>
|
324
|
+
<Id>NOTPROVIDED</Id>
|
325
|
+
</Othr>
|
326
|
+
</FinInstnId>
|
327
|
+
</DbtrAgt>
|
328
|
+
<Dbtr>
|
329
|
+
<Nm>R Epelsteeltje</Nm>
|
330
|
+
<PstlAdr>
|
331
|
+
<PstCd>75099</PstCd>
|
332
|
+
<TwnNm>Amsterdam</TwnNm>
|
333
|
+
<Ctry>NL</Ctry>
|
334
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
335
|
+
</PstlAdr>
|
336
|
+
<CtctDtls>
|
337
|
+
<Nm>Ron Epelsteeltje</Nm>
|
338
|
+
<PhneNb>01234567890</PhneNb>
|
339
|
+
<EmailAdr>ron@epelsteeltje.sepa.i.hope.this.works</EmailAdr>
|
340
|
+
</CtctDtls>
|
341
|
+
</Dbtr>
|
342
|
+
<DbtrAcct>
|
343
|
+
<Id>
|
344
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
345
|
+
</Id>
|
346
|
+
</DbtrAcct>
|
347
|
+
</DrctDbtTxInf>
|
348
|
+
<DrctDbtTxInf>
|
349
|
+
<PmtId>
|
350
|
+
<EndToEndId>MONECOLE REG F13796 PVT 3</EndToEndId>
|
351
|
+
</PmtId>
|
352
|
+
<PmtTpInf>
|
353
|
+
<SeqTp>RCUR</SeqTp>
|
354
|
+
</PmtTpInf>
|
355
|
+
<InstdAmt Ccy="EUR">1236.78</InstdAmt>
|
356
|
+
<DrctDbtTx>
|
357
|
+
<MndtRltdInf>
|
358
|
+
<MndtId>mandate-id-3</MndtId>
|
359
|
+
<DtOfSgntr>2014-01-23</DtOfSgntr>
|
360
|
+
</MndtRltdInf>
|
361
|
+
</DrctDbtTx>
|
362
|
+
<DbtrAgt>
|
363
|
+
<FinInstnId>
|
364
|
+
<Othr>
|
365
|
+
<Id>NOTPROVIDED</Id>
|
366
|
+
</Othr>
|
367
|
+
</FinInstnId>
|
368
|
+
</DbtrAgt>
|
369
|
+
<Dbtr>
|
370
|
+
<Nm>R Epelsteeltje</Nm>
|
371
|
+
<PstlAdr>
|
372
|
+
<PstCd>75099</PstCd>
|
373
|
+
<TwnNm>Amsterdam</TwnNm>
|
374
|
+
<Ctry>NL</Ctry>
|
375
|
+
<AdrLine>Spuistraat 42</AdrLine>
|
376
|
+
</PstlAdr>
|
377
|
+
<CtctDtls>
|
378
|
+
<Nm>Ron Epelsteeltje</Nm>
|
379
|
+
<PhneNb>01234567890</PhneNb>
|
380
|
+
<EmailAdr>ron@epelsteeltje.sepa.i.hope.this.works</EmailAdr>
|
381
|
+
</CtctDtls>
|
382
|
+
</Dbtr>
|
383
|
+
<DbtrAcct>
|
384
|
+
<Id>
|
385
|
+
<IBAN>NLQUIQUIWIGWAM947551</IBAN>
|
386
|
+
</Id>
|
387
|
+
</DbtrAcct>
|
388
|
+
</DrctDbtTxInf>
|
307
389
|
</PmtInf>
|
308
390
|
</CstmrDrctDbtInitn>
|
309
391
|
</Document>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Sepa::PaymentsInitiation::FinancialIdentificationSchemeName1Choice do
|
6
|
+
it "should be empty by default" do
|
7
|
+
Sepa::PaymentsInitiation::FinancialIdentificationSchemeName1Choice.new({ }).should be_empty
|
8
|
+
end
|
9
|
+
end
|
@@ -81,4 +81,21 @@ describe Sepa::PaymentsInitiation::Pain00800104::CustomerDirectDebitInitiation d
|
|
81
81
|
expected.force_encoding(Encoding::UTF_8) if expected.respond_to? :force_encoding
|
82
82
|
xml.should == expected
|
83
83
|
end
|
84
|
+
|
85
|
+
it "should format time using configured time_format" do
|
86
|
+
short_props = {
|
87
|
+
"group_header.creation_date_time" => Time.new(1992, 02, 28, 18, 30, 22)
|
88
|
+
}
|
89
|
+
|
90
|
+
begin
|
91
|
+
Sepa::Base.time_format = "%Y-%m-%dT%H:%M"
|
92
|
+
xml = Sepa::PaymentsInitiation::Pain00800104::CustomerDirectDebitInitiation.new(short_props).generate_xml(:pain_008_001_version => '04')
|
93
|
+
xml = check_doc_header_04 xml
|
94
|
+
expected = File.read(File.expand_path("../../../expected-grphdr-time-format.xml", __FILE__))
|
95
|
+
expected.force_encoding(Encoding::UTF_8) if expected.respond_to? :force_encoding
|
96
|
+
xml.should == expected
|
97
|
+
ensure
|
98
|
+
Sepa::Base.time_format = "%Y-%m-%dT%H:%M:%SZ"
|
99
|
+
end
|
100
|
+
end
|
84
101
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sepa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Conan Dalton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -107,8 +107,10 @@ files:
|
|
107
107
|
- lib/sepa/payments_initiation/cash_account_type_choice.rb
|
108
108
|
- lib/sepa/payments_initiation/category_purpose_choice.rb
|
109
109
|
- lib/sepa/payments_initiation/contact_details.rb
|
110
|
+
- lib/sepa/payments_initiation/financial_identification_scheme_name_1_choice.rb
|
110
111
|
- lib/sepa/payments_initiation/financial_institution_identification.rb
|
111
112
|
- lib/sepa/payments_initiation/generic_account_identification.rb
|
113
|
+
- lib/sepa/payments_initiation/generic_financial_identification_1.rb
|
112
114
|
- lib/sepa/payments_initiation/generic_organisation_identification_1.rb
|
113
115
|
- lib/sepa/payments_initiation/generic_person_identification_1.rb
|
114
116
|
- lib/sepa/payments_initiation/local_instrument_choice.rb
|
@@ -140,11 +142,14 @@ files:
|
|
140
142
|
- sepa.gemspec
|
141
143
|
- spec/sepa/direct_debit_order_spec.rb
|
142
144
|
- spec/sepa/direct_debit_properties.yml
|
145
|
+
- spec/sepa/expected-grphdr-time-format.xml
|
143
146
|
- spec/sepa/expected-simple.xml
|
144
147
|
- spec/sepa/expected_customer_direct_debit_initiation_v02.xml
|
145
148
|
- spec/sepa/expected_customer_direct_debit_initiation_v02_with_remittance_information.xml
|
146
149
|
- spec/sepa/expected_customer_direct_debit_initiation_v04.xml
|
147
150
|
- spec/sepa/expected_customer_direct_debit_initiation_v04_with_org_id.xml
|
151
|
+
- spec/sepa/payments_initiation/financial_identification_scheme_name_1_choice_spec.rb
|
152
|
+
- spec/sepa/payments_initiation/generic_financial_identification_1_spec.rb
|
148
153
|
- spec/sepa/payments_initiation/pain00800104/customer_direct_debit_initiation_spec.rb
|
149
154
|
- spec/spec_helper.rb
|
150
155
|
homepage: https://github.com/conanite/sepa
|
@@ -175,10 +180,13 @@ summary: 'pain.008.001.04 and pain.008.001.02 CustomerDirectDebitInitiation ISO2
|
|
175
180
|
test_files:
|
176
181
|
- spec/sepa/direct_debit_order_spec.rb
|
177
182
|
- spec/sepa/direct_debit_properties.yml
|
183
|
+
- spec/sepa/expected-grphdr-time-format.xml
|
178
184
|
- spec/sepa/expected-simple.xml
|
179
185
|
- spec/sepa/expected_customer_direct_debit_initiation_v02.xml
|
180
186
|
- spec/sepa/expected_customer_direct_debit_initiation_v02_with_remittance_information.xml
|
181
187
|
- spec/sepa/expected_customer_direct_debit_initiation_v04.xml
|
182
188
|
- spec/sepa/expected_customer_direct_debit_initiation_v04_with_org_id.xml
|
189
|
+
- spec/sepa/payments_initiation/financial_identification_scheme_name_1_choice_spec.rb
|
190
|
+
- spec/sepa/payments_initiation/generic_financial_identification_1_spec.rb
|
183
191
|
- spec/sepa/payments_initiation/pain00800104/customer_direct_debit_initiation_spec.rb
|
184
192
|
- spec/spec_helper.rb
|