ruby_ufebs 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ufebs/documents/package_response.rb +59 -0
- data/lib/ufebs/documents/payment_response.rb +57 -0
- data/lib/ufebs/version.rb +1 -1
- data/lib/ufebs.rb +12 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b26e315abe1ba3846ac7362ab810fcec51c7a26
|
4
|
+
data.tar.gz: ae6b218f92527545fd7a2802c5a14e2dad6a5787
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85d3cbfad527726ed2c74d240d8cfdda6d837fa2240c3175b212836a39bff643057ae977d0157a74dddcf25e1e68655657a79e9e8bf4f64c2b9c5bc7caa7ce41
|
7
|
+
data.tar.gz: f4c2b875afbe21fa5feed68e178efa788bc58890ba72d76b3aa92cc8f9b3792717c9112585c10f789fffd313390559fe5919892498c0c16b12b4e61393db73c1
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require_relative 'payment_response'
|
2
|
+
require_relative '../entities/session'
|
3
|
+
|
4
|
+
module Ufebs
|
5
|
+
module Documents
|
6
|
+
class Package
|
7
|
+
include HappyMapper
|
8
|
+
register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
|
9
|
+
tag 'PacketEPD'
|
10
|
+
namespace 'ed'
|
11
|
+
|
12
|
+
attribute :ed_date, String, tag: 'EDDate'
|
13
|
+
attribute :ed_author, String, tag: 'EDAuthor'
|
14
|
+
attribute :ed_receiver, String, tag: 'EDReceiver'
|
15
|
+
attribute :number, String, tag: 'EDNo'
|
16
|
+
attribute :quantity, String, tag: 'EDQuantity'
|
17
|
+
attribute :sum, String, tag: 'Sum'
|
18
|
+
attribute :system_code, String, tag: 'SystemCode'
|
19
|
+
|
20
|
+
has_many :payment_orders, Ufebs::Documents::PaymentOrder
|
21
|
+
has_one :session, ::Ufebs::Entities::Session, tag: 'Session', state_when_nil: false
|
22
|
+
|
23
|
+
def initialize(payment_orders=[], params = {})
|
24
|
+
@payment_orders = payment_orders
|
25
|
+
@ed_date = Date.parse(params.fetch(:ed_date){Time.now}.to_s).strftime('%Y-%m-%d')
|
26
|
+
@ed_author = params[:ed_author]
|
27
|
+
@ed_receiver = params[:ed_receiver]
|
28
|
+
@number = params[:number]
|
29
|
+
@quantity = params[:quantity] || payment_orders.size
|
30
|
+
@sum = params[:sum]
|
31
|
+
@system_code = '01'
|
32
|
+
super()
|
33
|
+
end
|
34
|
+
|
35
|
+
def to_xml(encoding: 'UTF-8')
|
36
|
+
super(Nokogiri::XML::Builder.new(:encoding => encoding)).to_xml
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# <?xml version="1.0" encoding="WINDOWS-1251"?>
|
43
|
+
# <PacketESID xmlns="urn:cbr-ru:ed:v2.0" EDAuthor="4583001999" EDCreationTime="13:33:08" EDDate="2018-02-23" EDNo="1070230" EDReceiver="4525420000">
|
44
|
+
# <dsig:SigValue xmlns:dsig="urn:cbr-ru:dsig:v1.1">MIIBaQYJKoZIhvcNAQcCoIIBWjCCAVYCAQExDjAMBggqhQMHAQECAgUAMAsGCSqGSIb3DQEHATGCATIwggEuAgEBMGAwTDELMAkGA1UEBhMCUlUxCzAJBgNVBAgTAjAwMQ8wDQYDVQQHEwZSVEdTQlIxDTALBgNVBAoTBEdDS0kxEDAOBgNVBAMTB0FETUlOQ0ECEEBQFMCd4KlDNKW6RlhblsQwDAYIKoUDBwEBAgIFAKBpMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE4MDIyNzEzMzIzMlowLwYJKoZIhvcNAQkEMSIEIPretuTeA+Uosyhj6ROUT66yYTuZF+aaXclhxXXKmPxdMAwGCCqFAwcBAQEBBQAEQD/Ah3zv5DZv13fsX1Pcqd3Z7YFls14j+4rnYkrRuU31oR1clc4YUG1Lg71Hrp7q/uErXapd33FrjKyxO7Dvfxo=</dsig:SigValue>
|
45
|
+
# <InitialPacketED EDAuthor="4525420000" EDDate="2018-02-23" EDNo="5"/>
|
46
|
+
# <Session>
|
47
|
+
# <SessionID>6</SessionID>
|
48
|
+
# </Session>
|
49
|
+
# <ED206 Acc="30101810945250000420" BICCorr="044525000" CorrAcc="40101810845250010102" DC="1" EDAuthor="4583001999" EDDate="2018-02-23" EDNo="1070231" EDReceiver="4525420000" Sum="381" SystemCode="01" TransDate="2018-02-23" TransTime="13:33:08">
|
50
|
+
# <AccDoc AccDocDate="2018-02-23" AccDocNo="441"/>
|
51
|
+
# <EDRefID EDAuthor="4525420000" EDDate="2018-02-23" EDNo="6"/>
|
52
|
+
# <ProcessingDetails CreditDate="2018-02-23" DebitDate="2018-02-23"/>
|
53
|
+
# </ED206>
|
54
|
+
# <ED206 Acc="30101810945250000420" BICCorr="044525000" CorrAcc="40101810045250010041" DC="1" EDAuthor="4583001999" EDDate="2018-02-23" EDNo="1070232" EDReceiver="4525420000" Sum="680700" SystemCode="01" TransDate="2018-02-23" TransTime="13:33:08">
|
55
|
+
# <AccDoc AccDocDate="2018-02-23" AccDocNo="459"/>
|
56
|
+
# <EDRefID EDAuthor="4525420000" EDDate="2018-02-23" EDNo="7"/>
|
57
|
+
# <ProcessingDetails CreditDate="2018-02-23" DebitDate="2018-02-23"/>
|
58
|
+
# </ED206>
|
59
|
+
# </PacketESID>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Ufebs
|
2
|
+
module Documents
|
3
|
+
class PaymentResponse
|
4
|
+
include HappyMapper
|
5
|
+
|
6
|
+
register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
|
7
|
+
tag 'ED206'
|
8
|
+
namespace 'ed'
|
9
|
+
|
10
|
+
attribute :acc, String, tag: 'Acc'
|
11
|
+
attribute :bic_corr, String, tag: 'BICCorr'
|
12
|
+
attribute :corr_acc, String, tag: 'CorrAcc'
|
13
|
+
attribute :dc, String, tag: 'DC'
|
14
|
+
attribute :ed_author, String, tag: 'EDAuthor'
|
15
|
+
attribute :ed_date, String, tag: 'EDDate'
|
16
|
+
attribute :ed_no, String, tag: 'EDNo'
|
17
|
+
attribute :ed_receiver, String, tag: 'EDReceiver'
|
18
|
+
attribute :sum, String, tag: 'Sum'
|
19
|
+
attribute :system_code, String, tag: 'SystemCode'
|
20
|
+
attribute :trans_date, String, tag: 'TransDate'
|
21
|
+
attribute :trans_time, String, tag: 'TransTime'
|
22
|
+
|
23
|
+
has_one :acc_doc, ::Ufebs::Entities::AccDoc, tag: 'AccDoc'
|
24
|
+
has_one :ed_ref_id, ::Ufebs::Entities::EdRefId, tag: 'EDRefID'
|
25
|
+
has_one :processing_details, ::Ufebs::Entities::ProcessingDetails, tag: 'ProcessingDetails'
|
26
|
+
|
27
|
+
def initialize(params = {})
|
28
|
+
params.each do |key, value|
|
29
|
+
case key
|
30
|
+
when :acc_doc
|
31
|
+
@acc_doc = value.is_a?(Hash) ? ::Ufebs::Entities::AccDoc.new(value) : acc_doc
|
32
|
+
when :ed_ref_id
|
33
|
+
@ed_ref_id = value.is_a?(Hash) ? ::Ufebs::Entities::EdRefId.new(value) : acc_doc
|
34
|
+
when :processing_details
|
35
|
+
@processing_details = value.is_a?(Hash) ? ::Ufebs::Entities::ProcessingDetails.new(value) : acc_doc
|
36
|
+
else instance_variable_set("@#{key}".to_sym, value)
|
37
|
+
end
|
38
|
+
|
39
|
+
super()
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
# <ED206 Acc="30101810945250000420"
|
46
|
+
# BICCorr="044525000"
|
47
|
+
# CorrAcc="40101810045250010041"
|
48
|
+
# DC="1" EDAuthor="4583001999"
|
49
|
+
# EDDate="2018-02-23" EDNo="1070232"
|
50
|
+
# EDReceiver="4525420000" Sum="680700"
|
51
|
+
# SystemCode="01"
|
52
|
+
# TransDate="2018-02-23"
|
53
|
+
# TransTime="13:33:08">
|
54
|
+
# <AccDoc AccDocDate="2018-02-23" AccDocNo="459"/>
|
55
|
+
# <EDRefID EDAuthor="4525420000" EDDate="2018-02-23" EDNo="7"/>
|
56
|
+
# <ProcessingDetails CreditDate="2018-02-23" DebitDate="2018-02-23"/>
|
57
|
+
# </ED206>
|
data/lib/ufebs/version.rb
CHANGED
data/lib/ufebs.rb
CHANGED
@@ -155,10 +155,21 @@ module Ufebs
|
|
155
155
|
params.is_a?(Hash) ? Ufebs::Documents::PaymentOrder.new(params) : Ufebs::Documents::PaymentOrder.parse(params)
|
156
156
|
end
|
157
157
|
|
158
|
-
def
|
158
|
+
def PacketEPD(payment_eds, params)
|
159
159
|
Ufebs::Documents::Package.new(payment_eds, params)
|
160
160
|
end
|
161
161
|
|
162
|
+
def ED206(params)
|
163
|
+
return Ufebs::Documents::PaymentResponse.new(params) if params.is_a?(Hash)
|
164
|
+
Ufebs::Documents::PaymentResponse.parse(params)
|
165
|
+
end
|
166
|
+
|
167
|
+
def ED205(params)
|
168
|
+
end
|
169
|
+
|
170
|
+
def packetESID
|
171
|
+
end
|
172
|
+
|
162
173
|
def validate(doc)
|
163
174
|
doc = Nokogiri::XML(doc) if doc.is_a?(String)
|
164
175
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_ufebs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evgeniy Burdaev
|
@@ -424,7 +424,9 @@ files:
|
|
424
424
|
- lib/ufebs.rb
|
425
425
|
- lib/ufebs/configuration.rb
|
426
426
|
- lib/ufebs/documents/package.rb
|
427
|
+
- lib/ufebs/documents/package_response.rb
|
427
428
|
- lib/ufebs/documents/payment_order.rb
|
429
|
+
- lib/ufebs/documents/payment_response.rb
|
428
430
|
- lib/ufebs/entities/acc_doc.rb
|
429
431
|
- lib/ufebs/entities/bank.rb
|
430
432
|
- lib/ufebs/entities/departmental_info.rb
|