wirecard_giropay 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d924b7754643dbc8c3b6f34a034747386462c1a2
4
- data.tar.gz: 8bc81f9dd0d6223bda3b609828210362336ff818
3
+ metadata.gz: 225732a648e032ef8f62b9c295eeff6fa9ee2930
4
+ data.tar.gz: 9a214f120130a257dc492e7d06cc149dff9fe264
5
5
  SHA512:
6
- metadata.gz: 3ca5398b67eb464e8c076549a4fd2713d6d54eefc964c342c16fd246ea04df6c6cb92a26da01e24d9f696ea3ccf7e85720f751869f2bfa205badf4cc1af542e3
7
- data.tar.gz: f19f1b9d0ee80ca7ad7df4b18829c060a1a0240c7d28efaae58c71985c31ec03215b6789f7529805c3889033b70528ce51ac5de3dbbc688b5d9be4565e90815c
6
+ metadata.gz: 3ed0fc184113b1132cae1934635c08f798833148e8c8175618e8d92ac6f67a84a1a84a70773efdfb0a2962b0f9c0d8e7aec5b01bc28f8750af481179ee1a0388
7
+ data.tar.gz: 05462c3ec17f7697746a91aa6db37580774852559f6f12991d86143df506d14544d079788988409dbd7c098e14a38c40bc8266f9ae88d0974633d872e47db670
@@ -3,6 +3,7 @@ require 'typhoeus'
3
3
  require 'wirecard_giropay/version'
4
4
  require 'wirecard_giropay/request'
5
5
  require 'wirecard_giropay/response'
6
+ require 'wirecard_giropay/notification_response'
6
7
  require 'wirecard_giropay/gateway'
7
8
  require 'wirecard_giropay/testing'
8
9
 
@@ -0,0 +1,32 @@
1
+ module WirecardGiropay
2
+ class NotificationResponse
3
+
4
+ def initialize(xml)
5
+ @xml = xml
6
+ end
7
+
8
+ def self.from_xml(xml)
9
+ new xml
10
+ end
11
+
12
+ def success?
13
+ status_code == 'O10'
14
+ end
15
+
16
+ def failed?
17
+ status_code == 'O30'
18
+ end
19
+
20
+ private
21
+
22
+ def status_code
23
+ @status_code ||= xml_doc.xpath('//Notification/ReferenceStatusCode').text
24
+ end
25
+
26
+ def xml_doc
27
+ @xml_doc ||= Nokogiri::XML @xml
28
+ end
29
+
30
+ end
31
+ end
32
+
@@ -1,3 +1,3 @@
1
1
  module WirecardGiropay
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ module WirecardGiropay
4
+ describe NotificationResponse do
5
+
6
+ def read_sample_file(file)
7
+ File.read File.expand_path('../../../support/' + file, __FILE__)
8
+ end
9
+
10
+ let(:notification_success_xml) { read_sample_file 'sample_notification_success.xml' }
11
+ let(:notification_reject_xml) { read_sample_file 'sample_notification_rejection.xml' }
12
+
13
+ describe '#success?' do
14
+ context 'for a successful payment' do
15
+ let(:response) { NotificationResponse.from_xml notification_success_xml }
16
+
17
+ it('returns true') { expect(response.success?).to eq true }
18
+ end
19
+
20
+ context 'for a rejected payment' do
21
+ let(:response) { NotificationResponse.from_xml notification_reject_xml }
22
+
23
+ it('returns false') { expect(response.success?).to eq false }
24
+ end
25
+ end
26
+
27
+ describe '#failed?' do
28
+ context 'for a rejected payment' do
29
+ let(:response) { NotificationResponse.from_xml notification_reject_xml }
30
+
31
+ it('returns true') { expect(response.failed?).to eq true }
32
+ end
33
+
34
+ context 'for a successful payment' do
35
+ let(:response) { NotificationResponse.from_xml notification_success_xml }
36
+
37
+ it('returns false') { expect(response.failed?).to eq false }
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,62 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Notification>
3
+ <BusinessCaseSignature>000000316D073C58</BusinessCaseSignature>
4
+ <ReferenceJobID />
5
+ <ReferenceFunctionID />
6
+ <ReferenceTransactionID>720109</ReferenceTransactionID>
7
+ <ReferenceNotificationUrl>https://www.betterplace.org/de/wirecard_giropay/720109/notification</ReferenceNotificationUrl>
8
+ <ReferenceAlternateNotificationUrl>mailto:developers@betterplace.org</ReferenceAlternateNotificationUrl>
9
+ <ReferenceDescriptor>2A0HC00PXU Spende via betterplace.org Skateistan Afghanistan</ReferenceDescriptor>
10
+ <Amount>2300</Amount>
11
+ <Currency>EUR</Currency>
12
+ <ConfirmationTimeStamp>2015-04-27T11:52:12.154+02:00</ConfirmationTimeStamp>
13
+ <ReferenceStatusCode>O30</ReferenceStatusCode>
14
+ <ReferenceStatusMessage>REJECTED</ReferenceStatusMessage>
15
+ <ReferenceReasonCode>O3080</ReferenceReasonCode>
16
+ <ReferenceReasonMessage>Cancelled by account holder.</ReferenceReasonMessage>
17
+ <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
18
+ <SignedInfo>
19
+ <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
20
+ <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
21
+ <Reference URI="">
22
+ <Transforms>
23
+ <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
24
+ </Transforms>
25
+ <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
26
+ <DigestValue>uFfGXZIRCpijPOwfmf+aDwKcjfY=</DigestValue>
27
+ </Reference>
28
+ </SignedInfo>
29
+ <SignatureValue>PI6QDZO66sfihQ0QCWaWRymUh2c7XCQ9cnuHsFYfolhEpdEow9GoJ/Q/iDBxJG0LfaH5gY0rlWRJ
30
+ v7n/UTyN6fpNdOVGLlHdluYEC7JJGd8XcJSjNY29E2DR7IgJ2EtwzMv0shloESUPYqskXrCHmIn7
31
+ tqn6PrkQqIUKd1JqIX72Mm2zw4+t5H1Twosp0IAi2aQ5hz0GjJkSq72KLDdSnum4LH3+d4J55A9g
32
+ XieDHI4ut/Gv6zftqJpRCOe/rAGeTNMTDGslpn74XofhDkRK8VCd6OXnxXpDmCjQr5IUOmmIDbVz
33
+ ifafAcy2lK+xrvBfo48d1qMVDSrm2ATil9vI+A==</SignatureValue>
34
+ <KeyInfo>
35
+ <X509Data>
36
+ <X509SubjectName>CN=sign.wirecard.com, OU=IT, O=Wirecard AG, L=Grasbrunn, ST=Bavaria, C=DE</X509SubjectName>
37
+ <X509Certificate>MIIEsjCCBBugAwIBAgIQWvgqwPeheleU/MmlO31IPTANBgkqhkiG9w0BAQUFADCBujEfMB0GA1UE
38
+ ChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAxBgNV
39
+ BAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNA
40
+ d3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBW
41
+ ZXJpU2lnbjAeFw0wOTAzMzEwMDAwMDBaFw0xMTAzMzEyMzU5NTlaMHIxCzAJBgNVBAYTAkRFMRAw
42
+ DgYDVQQIEwdCYXZhcmlhMRIwEAYDVQQHFAlHcmFzYnJ1bm4xFDASBgNVBAoUC1dpcmVjYXJkIEFH
43
+ MQswCQYDVQQLFAJJVDEaMBgGA1UEAxQRc2lnbi53aXJlY2FyZC5jb20wggEiMA0GCSqGSIb3DQEB
44
+ AQUAA4IBDwAwggEKAoIBAQDBFZJr2limXRIWmK515WXCSBnFnb4mkwGag5i3xXfoI5L7hbCFwk6o
45
+ Hdzb8r3+LnYXcpcCgs7A0PFyJiEM7DSu57KPSN64HjBgSisxZALNGedjwo8yQpxFOgsAUgaZTSzj
46
+ meyTVpaBmKoDiGykwJTJCvzhmX8SqjgU/tu5yu5K4lXV98L3k2QLnsnIWFDHD44hQtae/spX/kmk
47
+ aE+aJF+Jjefz1LYmJ9Uc9DVXSruUPyo2rloNvfqqEvxyoAjl/My+AWoA99AH8itjl9VF99XzXZnD
48
+ UT4axBWcTA5lGrwlsk1GXpAlA8fqK9aqqFC25+pfLOr2nE4/wuxITfDphNXlAgMBAAGjggF6MIIB
49
+ djAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3JsLnZl
50
+ cmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBEBgNVHSAEPTA7MDkGC2CG
51
+ SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwKAYD
52
+ VR0lBCEwHwYJYIZIAYb4QgQBBggrBgEFBQcDAQYIKwYBBQUHAwIwNAYIKwYBBQUHAQEEKDAmMCQG
53
+ CCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBa
54
+ MFgwVhYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYkaHR0
55
+ cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEBBQUAA4GBABMDpSYR
56
+ eTqDJaq2DGACPAzsUDR6cFqU11JsOzDABpAlvqeHcHaVVGPax44u5cCm2SZQ2z5NRx/R1PqjHBSH
57
+ 7F5/QnuWvTRCGEtX05HM3weuol+Aa5v7qJSeqqMUzqgEV/QwKZA2DqWGdMELsc8p1Qb3hdBEEjuI
58
+ 5Ang/QP1deXt</X509Certificate>
59
+ </X509Data>
60
+ </KeyInfo>
61
+ </Signature>
62
+ </Notification>
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <Notification>
3
3
  <BusinessCaseSignature>9490000000ABC</BusinessCaseSignature>
4
- <ReferenceJobID >JN7d31b875-1e9d-4383-a4c6-f4645d7b32b8</ReferenceJobID>
5
- <ReferenceFunctionID >FN7d31b875-1e9d-4383-a4c6-f4645d7b32b8</ReferenceFunctionID>
4
+ <ReferenceJobID>JN7d31b875-1e9d-4383-a4c6-f4645d7b32b8</ReferenceJobID>
5
+ <ReferenceFunctionID>FN7d31b875-1e9d-4383-a4c6-f4645d7b32b8</ReferenceFunctionID>
6
6
  <ReferenceTransactionID>7d31b875-1e9d-4383-a4c6-f4645d7b32b8</ReferenceTransactionID>
7
7
  <ReferenceNotificationUrl>https://www.merchant.com/notification</ReferenceNotificationUrl>
8
8
  <ReferenceAlternateNotificationUrl>mailto:notification@merchant.com</ReferenceAlternateNotificationUrl>
@@ -67,4 +67,4 @@
67
67
  </X509Data>
68
68
  </KeyInfo>
69
69
  </Signature>
70
- </Notification>
70
+ </Notification>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wirecard_giropay
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - betterplace developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-12 00:00:00.000000000 Z
11
+ date: 2015-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -123,16 +123,19 @@ files:
123
123
  - Rakefile
124
124
  - lib/wirecard_giropay.rb
125
125
  - lib/wirecard_giropay/gateway.rb
126
+ - lib/wirecard_giropay/notification_response.rb
126
127
  - lib/wirecard_giropay/request.rb
127
128
  - lib/wirecard_giropay/response.rb
128
129
  - lib/wirecard_giropay/testing.rb
129
130
  - lib/wirecard_giropay/version.rb
130
131
  - spec/lib/wirecard_giropay/gateway_spec.rb
132
+ - spec/lib/wirecard_giropay/notification_response_spec.rb
131
133
  - spec/lib/wirecard_giropay/request_spec.rb
132
134
  - spec/lib/wirecard_giropay/response_spec.rb
133
135
  - spec/lib/wirecard_giropay_spec.rb
134
136
  - spec/spec_helper.rb
135
137
  - spec/support/redirect.html
138
+ - spec/support/sample_notification_rejection.xml
136
139
  - spec/support/sample_notification_success.xml
137
140
  - spec/support/sample_redirect.html
138
141
  - spec/support/sample_request.xml
@@ -161,17 +164,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
164
  version: '0'
162
165
  requirements: []
163
166
  rubyforge_project:
164
- rubygems_version: 2.2.2
167
+ rubygems_version: 2.4.5
165
168
  signing_key:
166
169
  specification_version: 4
167
170
  summary: Wirecard Giropay implementation
168
171
  test_files:
169
172
  - spec/lib/wirecard_giropay/gateway_spec.rb
173
+ - spec/lib/wirecard_giropay/notification_response_spec.rb
170
174
  - spec/lib/wirecard_giropay/request_spec.rb
171
175
  - spec/lib/wirecard_giropay/response_spec.rb
172
176
  - spec/lib/wirecard_giropay_spec.rb
173
177
  - spec/spec_helper.rb
174
178
  - spec/support/redirect.html
179
+ - spec/support/sample_notification_rejection.xml
175
180
  - spec/support/sample_notification_success.xml
176
181
  - spec/support/sample_redirect.html
177
182
  - spec/support/sample_request.xml