nfg-client 1.0.0 → 1.0.1
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 +8 -8
- data/LICENSE.md +1 -1
- data/README.md +10 -0
- data/Rakefile +6 -0
- data/lib/nfg-client/client.rb +18 -9
- data/lib/nfg-client/utils.rb +72 -19
- data/lib/nfg-client/version.rb +1 -1
- data/nfg-client.gemspec +1 -0
- data/spec/remote/nfg-client_remote_spec.rb +115 -0
- data/spec/spec_helper.rb +8 -0
- data/spec/support/api_parameters.rb +134 -0
- data/spec/unit/create_cof_spec.rb +34 -0
- data/spec/unit/delete_donor_cof_spec.rb +32 -0
- data/spec/unit/get_donation_report_spec.rb +35 -0
- data/spec/unit/get_donor_cofs_spec.rb +36 -0
- data/spec/unit/get_donor_donation_history_spec.rb +35 -0
- data/spec/unit/get_fee_spec.rb +32 -0
- data/spec/unit/make_cof_donation_spec.rb +39 -0
- data/spec/unit/make_donation_add_cof_spec.rb +39 -0
- data/spec/unit/response_stubs/create_cof_stubs.rb +46 -0
- data/spec/unit/response_stubs/delete_donor_cof_stubs.rb +42 -0
- data/spec/unit/response_stubs/get_donation_report_stubs.rb +99 -0
- data/spec/unit/response_stubs/get_donor_cofs_stubs.rb +66 -0
- data/spec/unit/response_stubs/get_donor_donation_history_stubs.rb +62 -0
- data/spec/unit/response_stubs/get_fee_stubs.rb +49 -0
- data/spec/unit/response_stubs/make_cof_donation_stubs.rb +46 -0
- data/spec/unit/response_stubs/make_donation_add_cof_stubs.rb +47 -0
- data/spec/unit/response_stubs/spec_response_helpers.rb +16 -0
- metadata +54 -4
- data/spec/nfg_client_spec.rb +0 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/create_cof_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.create_cof(create_cof_params) }
|
7
|
+
describe "#create_cof" do
|
8
|
+
context "with a successful response" do
|
9
|
+
it "should return a hash with a new COFId" do
|
10
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_create_cof_response('ISUDUD')))
|
11
|
+
expect(subject['StatusCode']).to eq('Success')
|
12
|
+
expect(subject['DonorToken']).to eq('ISUDUD')
|
13
|
+
expect(subject['COFId']).to eq('1111111')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context "with a server error" do
|
18
|
+
it "should return an UnexpectedError" do
|
19
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
20
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "with an unsuccessful response" do
|
25
|
+
it "should return the appropriate error with new COFid" do
|
26
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_create_cof_response('ISUDUD')))
|
27
|
+
expect(subject['StatusCode']).to eq('ChargeFailed')
|
28
|
+
expect(subject['DonorToken']).to eq('ISUDUD')
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/delete_donor_cof_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.delete_donor_cof(delete_donor_cof_params) }
|
7
|
+
describe "#delete_donor_cof" do
|
8
|
+
context "with a successful response" do
|
9
|
+
it "should return a hash with a status code of success" do
|
10
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_delete_donor_cof_response))
|
11
|
+
expect(subject['StatusCode']).to eq('Success')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
context "with a server error" do
|
16
|
+
it "should return an UnexpectedError" do
|
17
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
18
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "with an unsuccessful response" do
|
23
|
+
it "should return the appropriate error with new COFid" do
|
24
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_delete_donor_cof_response))
|
25
|
+
expect(subject['StatusCode']).to eq('ValidationFailed')
|
26
|
+
expect(subject['Message']).to eq('COFAlreadyDeleted - Attempt made to delete a Card on File that has already been deleted')
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/get_donation_report_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.get_donation_report(get_donation_report_params) }
|
7
|
+
|
8
|
+
describe "#get_donation_report" do
|
9
|
+
context "with a successful response" do
|
10
|
+
it "should return a hash with a new TotalChargeAmount" do
|
11
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_get_donation_report_response))
|
12
|
+
expect(subject['StatusCode']).to eq('Success')
|
13
|
+
expect(subject['ReturnCount']).to eq("2")
|
14
|
+
expect(subject['ReportResults'].length).to eq(2)
|
15
|
+
expect(subject['ReportResults'].first['ChargeId']).to eq('123587')
|
16
|
+
expect(subject['ReportResults'].last['ChargeId']).to eq('5555846')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "with a server error" do
|
21
|
+
it "should return an UnexpectedError" do
|
22
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
23
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context "with an unsuccessful response" do
|
28
|
+
it "should return the appropriate error with new COFid" do
|
29
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_get_donation_report_response))
|
30
|
+
expect(subject['StatusCode']).to eq('ValidationFailed')
|
31
|
+
expect(subject['ReportResults'].length).to eq(0)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/get_donor_cofs_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.get_donor_cofs(get_donor_cofs_params) }
|
7
|
+
describe "#get_donor_cofs" do
|
8
|
+
context "with a successful response" do
|
9
|
+
it "should return a hash with a an array of COFs" do
|
10
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_get_donor_cofs_response('ISUDUD')))
|
11
|
+
expect(subject['StatusCode']).to eq('Success')
|
12
|
+
expect(subject['DonorToken']).to eq('ISUDUD')
|
13
|
+
expect(subject['Cards'].length).to eq(2)
|
14
|
+
expect(subject['Cards'].first['COFId']).to eq('33333333')
|
15
|
+
expect(subject['Cards'].last['COFId']).to eq('44444444')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "with a server error" do
|
20
|
+
it "should return an UnexpectedError" do
|
21
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
22
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context "with an unsuccessful response" do
|
27
|
+
it "should return the appropriate error with the DonorToken" do
|
28
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_get_donor_cofs_response('ISUDUD')))
|
29
|
+
expect(subject['StatusCode']).to eq('ValidationFailed')
|
30
|
+
expect(subject['DonorToken']).to eq('ISUDUD')
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/get_donor_donation_history_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.get_donor_donation_history(get_donor_donation_history_params) }
|
7
|
+
|
8
|
+
describe "#get_donor_donation_history" do
|
9
|
+
context "with a successful response" do
|
10
|
+
it "should return a hash with a new TotalChargeAmount" do
|
11
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_get_donor_donation_history_response))
|
12
|
+
expect(subject['StatusCode']).to eq('Success')
|
13
|
+
expect(subject['DonorToken']).to eq('1828282')
|
14
|
+
expect(subject['Donations'].length).to eq(2)
|
15
|
+
expect(subject['Donations'].first['ChargeId']).to eq('292929')
|
16
|
+
expect(subject['Donations'].last['ChargeId']).to eq('8939399')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "with a server error" do
|
21
|
+
it "should return an UnexpectedError" do
|
22
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
23
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context "with an unsuccessful response" do
|
28
|
+
it "should return the appropriate error with new COFid" do
|
29
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_get_donor_donation_history_response))
|
30
|
+
expect(subject['StatusCode']).to eq('Success')
|
31
|
+
expect(subject['Donations'].length).to eq(0)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/get_fee_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.get_fee(get_fee_params) }
|
7
|
+
|
8
|
+
describe "#get_fee" do
|
9
|
+
context "with a successful response" do
|
10
|
+
it "should return a hash with a new TotalChargeAmount" do
|
11
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_get_fee_response))
|
12
|
+
expect(subject['StatusCode']).to eq('Success')
|
13
|
+
expect(subject['TotalChargeAmount']).to eq("110.00")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context "with a server error" do
|
18
|
+
it "should return an UnexpectedError" do
|
19
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
20
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "with an unsuccessful response" do
|
25
|
+
it "should return the appropriate error with new COFid" do
|
26
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_get_fee_response))
|
27
|
+
expect(subject['StatusCode']).to eq('ValidationFailed')
|
28
|
+
expect(subject['TotalChargeAmount']).to eq('0.0')
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/make_cof_donation_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.make_cof_donation(make_cof_donation_params) }
|
7
|
+
|
8
|
+
describe "#make_cof_donation" do
|
9
|
+
context "with a successful response" do
|
10
|
+
it "should return a hash with a new COFId" do
|
11
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_make_cof_donation_response))
|
12
|
+
expect(subject['StatusCode']).to eq('Success')
|
13
|
+
expect(subject['COFId']).to eq('1111111')
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should return a hash with a transaction Id" do
|
17
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_make_cof_donation_response))
|
18
|
+
expect(subject['StatusCode']).to eq('Success')
|
19
|
+
expect(subject['ChargeId']).to eq('3333333')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context "with a server error" do
|
24
|
+
it "should return an UnexpectedError" do
|
25
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
26
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "with an unsuccessful response" do
|
31
|
+
it "should return the appropriate error with new COFid" do
|
32
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_make_cof_donation_response))
|
33
|
+
expect(subject['StatusCode']).to eq('ChargeFailed')
|
34
|
+
expect(subject['DonorToken']).to_not be
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/response_stubs/make_donation_add_cof_stubs'
|
3
|
+
|
4
|
+
describe NFGClient::Client do
|
5
|
+
let(:nfg_client) { NFGClient.new('aiduuad', 'aooaid', 'sosois', 'ksidi', true) }
|
6
|
+
subject { nfg_client.make_donation_add_cof(make_donation_add_cof_params) }
|
7
|
+
|
8
|
+
describe "#make_donation_add_cof" do
|
9
|
+
context "with a successful response" do
|
10
|
+
it "should return a hash with a new COFId" do
|
11
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_make_donation_add_cof_response('ISUDUD')))
|
12
|
+
expect(subject['StatusCode']).to eq('Success')
|
13
|
+
expect(subject['COFId']).to eq('1111111')
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should return a hash with a transaction Id" do
|
17
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_make_donation_add_cof_response('ISUDUD')))
|
18
|
+
expect(subject['StatusCode']).to eq('Success')
|
19
|
+
expect(subject['ChargeId']).to eq('3333333')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context "with a server error" do
|
24
|
+
it "should return an UnexpectedError" do
|
25
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('500',server_error_response))
|
26
|
+
expect(subject['StatusCode']).to eq('UnexpectedError')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "with an unsuccessful response" do
|
31
|
+
it "should return the appropriate error with new COFid" do
|
32
|
+
nfg_client.expects(:ssl_post).returns(nfg_response('200',unsuccessful_make_donation_add_cof_response('ISUDUD')))
|
33
|
+
expect(subject['StatusCode']).to eq('ChargeFailed')
|
34
|
+
expect(subject['DonorToken']).to_not be
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'unit/response_stubs/spec_response_helpers'
|
2
|
+
|
3
|
+
def successful_create_cof_response(donor_token)
|
4
|
+
<<-XML
|
5
|
+
<?xml version="1.0" encoding="utf-8"?>
|
6
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
7
|
+
<soap:Body>
|
8
|
+
<CreateCOFResponse xmlns="http://api.networkforgood.org/partnerdonationservice">
|
9
|
+
<CreateCOFResult>
|
10
|
+
<DonorToken>#{donor_token}</DonorToken>
|
11
|
+
<CofId>1111111</CofId>
|
12
|
+
<StatusCode>Success</StatusCode>
|
13
|
+
<Message></Message>
|
14
|
+
<ErrorDetails></ErrorDetails>
|
15
|
+
<CallDuration>0.051235</CallDuration>
|
16
|
+
</CreateCOFResult>
|
17
|
+
</CreateCOFResponse>
|
18
|
+
</soap:Body>
|
19
|
+
</soap:Envelope>
|
20
|
+
XML
|
21
|
+
end
|
22
|
+
|
23
|
+
def unsuccessful_create_cof_response(donor_token)
|
24
|
+
<<-XML
|
25
|
+
<?xml version="1.0" encoding="utf-8"?>
|
26
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
27
|
+
<soap:Body>
|
28
|
+
<CreateCOFResponse xmlns="http://api.networkforgood.org/partnerdonationservice">
|
29
|
+
<CreateCOFResult>
|
30
|
+
<DonorToken>#{donor_token}</DonorToken>
|
31
|
+
<StatusCode>ChargeFailed</StatusCode>
|
32
|
+
<CofId></CofId>
|
33
|
+
<Message>InvalidCreditCardNumber - Credit Card Number failed validation</Message>
|
34
|
+
<ErrorDetails>
|
35
|
+
<ErrorInfo>
|
36
|
+
<ErrCode>InvalidCreditCardNumber</ErrCode>
|
37
|
+
<ErrData></ErrData>
|
38
|
+
</ErrorInfo>
|
39
|
+
</ErrorDetails>
|
40
|
+
<CallDuration>0.051235</CallDuration>
|
41
|
+
</CreateCOFResult>
|
42
|
+
</CreateCOFResponse>
|
43
|
+
</soap:Body>
|
44
|
+
</soap:Envelope>
|
45
|
+
XML
|
46
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'unit/response_stubs/spec_response_helpers'
|
2
|
+
|
3
|
+
def successful_delete_donor_cof_response
|
4
|
+
<<-XML
|
5
|
+
<?xml version="1.0" encoding="utf-8"?>
|
6
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
7
|
+
<soap:Body>
|
8
|
+
<DeleteDonorCOFResponse xmlns="http://api.networkforgood.org/partnerdonationservice">
|
9
|
+
<DeleteDonorCOFResult>
|
10
|
+
<StatusCode>Success</StatusCode>
|
11
|
+
<Message></Message>
|
12
|
+
<ErrorDetails></ErrorDetails>
|
13
|
+
<CallDuration>0.051235</CallDuration>
|
14
|
+
</DeleteDonorCOFResult>
|
15
|
+
</DeleteDonorCOFResponse>
|
16
|
+
</soap:Body>
|
17
|
+
</soap:Envelope>
|
18
|
+
XML
|
19
|
+
end
|
20
|
+
|
21
|
+
def unsuccessful_delete_donor_cof_response
|
22
|
+
<<-XML
|
23
|
+
<?xml version="1.0" encoding="utf-8"?>
|
24
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
25
|
+
<soap:Body>
|
26
|
+
<DeleteDonorCOFResponse xmlns="http://api.networkforgood.org/partnerdonationservice">
|
27
|
+
<DeleteDonorCOFResult>
|
28
|
+
<StatusCode>ValidationFailed</StatusCode>
|
29
|
+
<Message>COFAlreadyDeleted - Attempt made to delete a Card on File that has already been deleted</Message>
|
30
|
+
<ErrorDetails>
|
31
|
+
<ErrorInfo>
|
32
|
+
<ErrCode>COFAlreadyDeleted</ErrCode>
|
33
|
+
<ErrData></ErrData>
|
34
|
+
</ErrorInfo>
|
35
|
+
</ErrorDetails>
|
36
|
+
<CallDuration>0.051235</CallDuration>
|
37
|
+
</DeleteDonorCOFResult>
|
38
|
+
</DeleteDonorCOFResponse>
|
39
|
+
</soap:Body>
|
40
|
+
</soap:Envelope>
|
41
|
+
XML
|
42
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'unit/response_stubs/spec_response_helpers'
|
2
|
+
|
3
|
+
def successful_get_donation_report_response
|
4
|
+
<<-XML
|
5
|
+
<?xml version="1.0" encoding="utf-8"?>
|
6
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
7
|
+
<soap:Body>
|
8
|
+
<GetDonationReportResponse xmlns="http://api.networkforgood.org/partnerdonationservice">
|
9
|
+
<GetDonationReportResult>
|
10
|
+
<ReportResults>
|
11
|
+
<DonationReportResult>
|
12
|
+
<Source>GiveCorps</Source>
|
13
|
+
<Campaign>GivingDay</Campaign>
|
14
|
+
<ChargeId>123587</ChargeId>
|
15
|
+
<ShareWithCharity>Yes</ShareWithCharity>
|
16
|
+
<DonorEmail>jimmy@smith.com</DonorEmail>
|
17
|
+
<DonorFirstName>Jimmy</DonorFirstName>
|
18
|
+
<DonorLastName>Smith</DonorLastName>
|
19
|
+
<DonorAddress1>123 This Street</DonorAddress1>
|
20
|
+
<DonorAddress2></DonorAddress2>
|
21
|
+
<DonorCity>Baltimore</DonorCity>
|
22
|
+
<DonorState>MD</DonorState>
|
23
|
+
<DonorZip>21210</DonorZip>
|
24
|
+
<DonorCountry>US</DonorCountry>
|
25
|
+
<DonorPhone>410-555-5555</DonorPhone>
|
26
|
+
<Designation>Annual Giving</Designation>
|
27
|
+
<DonateInName></DonateInName>
|
28
|
+
<RecurringPeriod></RecurringPeriod>
|
29
|
+
<EventDate></EventDate>
|
30
|
+
<NpoEIN>45-454545</NpoEIN>
|
31
|
+
<NpoName>My Charity</NpoName>
|
32
|
+
<ChargeStatus>Accepted</ChargeStatus>
|
33
|
+
<ChargeAmount>100.00</ChargeAmount>
|
34
|
+
<NpoTPC>0.00</NpoTPC>
|
35
|
+
<DonationItemAmount>100.00</DonationItemAmount>
|
36
|
+
<TotalDonationAmount>100.00</TotalDonationAmount>
|
37
|
+
<HistoryRecordId>132588</HistoryRecordId>
|
38
|
+
</DonationReportResult>
|
39
|
+
<DonationReportResult>
|
40
|
+
<Source>GiveCorps</Source>
|
41
|
+
<Campaign>Christmas</Campaign>
|
42
|
+
<ChargeId>5555846</ChargeId>
|
43
|
+
<ShareWithCharity>No</ShareWithCharity>
|
44
|
+
<DonorEmail>janet@smith.com</DonorEmail>
|
45
|
+
<DonorFirstName>Janet</DonorFirstName>
|
46
|
+
<DonorLastName>Smith</DonorLastName>
|
47
|
+
<DonorAddress1>456 That Street</DonorAddress1>
|
48
|
+
<DonorAddress2></DonorAddress2>
|
49
|
+
<DonorCity>Glen Burnie</DonorCity>
|
50
|
+
<DonorState>MD</DonorState>
|
51
|
+
<DonorZip>21564</DonorZip>
|
52
|
+
<DonorCountry>US</DonorCountry>
|
53
|
+
<DonorPhone>410-444-5585</DonorPhone>
|
54
|
+
<Designation>Boat Race</Designation>
|
55
|
+
<DonateInName>Doris Smith</DonateInName>
|
56
|
+
<RecurringPeriod>Monthly</RecurringPeriod>
|
57
|
+
<EventDate></EventDate>
|
58
|
+
<NpoEIN>56-89898</NpoEIN>
|
59
|
+
<NpoName>Great Foundation</NpoName>
|
60
|
+
<ChargeStatus>Accepted</ChargeStatus>
|
61
|
+
<ChargeAmount>50.00</ChargeAmount>
|
62
|
+
<NpoTPC>2.50</NpoTPC>
|
63
|
+
<DonationItemAmount>50.00</DonationItemAmount>
|
64
|
+
<TotalDonationAmount>50.00</TotalDonationAmount>
|
65
|
+
<HistoryRecordId>12355</HistoryRecordId>
|
66
|
+
</DonationReportResult>
|
67
|
+
</ReportResults>
|
68
|
+
<ReturnCount>2</ReturnCount>
|
69
|
+
<ErrorDetails/>
|
70
|
+
<Message/>
|
71
|
+
<CallDuration>0.0312504</CallDuration>
|
72
|
+
<StatusCode>Success</StatusCode>
|
73
|
+
</GetDonationReportResult>
|
74
|
+
</GetDonationReportResponse>
|
75
|
+
</soap:Body>
|
76
|
+
</soap:Envelope>
|
77
|
+
XML
|
78
|
+
end
|
79
|
+
|
80
|
+
def unsuccessful_get_donation_report_response
|
81
|
+
<<-XML
|
82
|
+
<?xml version="1.0" encoding="utf-8"?>
|
83
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
84
|
+
<soap:Body>
|
85
|
+
<GetDonationReportResponse xmlns="http://api.networkforgood.org/partnerdonationservice">
|
86
|
+
<GetDonationReportResult>
|
87
|
+
<Message>Report query range is greater than 24 hours.</Message>
|
88
|
+
<CallDuration>0.0312504</CallDuration>
|
89
|
+
<StatusCode>ValidationFailed</StatusCode>
|
90
|
+
<ReportResults/>
|
91
|
+
<ReturnCount>0</ReturnCount>
|
92
|
+
<ErrorDetails/>
|
93
|
+
</GetDonationReportResult>
|
94
|
+
</GetDonationReportResponse>
|
95
|
+
</soap:Body>
|
96
|
+
</soap:Envelope>
|
97
|
+
XML
|
98
|
+
end
|
99
|
+
|