tonyla-paypal_adaptive 0.1.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.
- data/LICENSE +20 -0
- data/README.markdown +127 -0
- data/Rakefile +56 -0
- data/VERSION +1 -0
- data/cacert.pem +3987 -0
- data/config/paypal_adaptive.yml +31 -0
- data/lib/config.rb +74 -0
- data/lib/ipn_notification.rb +37 -0
- data/lib/pay_request_schema.json +39 -0
- data/lib/paypal_adaptive.rb +4 -0
- data/lib/request.rb +102 -0
- data/lib/response.rb +38 -0
- data/templates/paypal_ipn.rb +25 -0
- data/test/data/invalid_chain_pay_request.json +13 -0
- data/test/data/invalid_parallel_pay_request.json +13 -0
- data/test/data/invalid_preapproval.json +12 -0
- data/test/data/invalid_simple_pay_request_1.json +8 -0
- data/test/data/valid_chain_pay_request.json +12 -0
- data/test/data/valid_parallel_pay_request.json +14 -0
- data/test/data/valid_preapproval.json +11 -0
- data/test/data/valid_simple_pay_request_1.json +9 -0
- data/test/test_helper.rb +7 -0
- data/test/unit/config_test.rb +24 -0
- data/test/unit/pay_request_schema_test.rb +49 -0
- data/test/unit/pay_request_test.rb +104 -0
- data/test/unit/payment_details_test.rb +34 -0
- data/test/unit/preapproval_test.rb +43 -0
- data/tonyla-paypal_adaptive.gemspec +77 -0
- metadata +123 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PaymentDetailsTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@pay_request = PaypalAdaptive::Request.new("test")
|
6
|
+
@payment_details_request = PaypalAdaptive::Request.new("test")
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_payment_details
|
10
|
+
puts "-------"
|
11
|
+
puts "payment details"
|
12
|
+
data_filepath = File.join(File.dirname(__FILE__),"..", "data","valid_chain_pay_request.json")
|
13
|
+
|
14
|
+
data = read_json_file(data_filepath)
|
15
|
+
pp_response = @pay_request.pay(data)
|
16
|
+
puts "redirect url to\n #{pp_response.approve_paypal_payment_url}"
|
17
|
+
|
18
|
+
unless pp_response.success?
|
19
|
+
puts pp_response.errors
|
20
|
+
end
|
21
|
+
|
22
|
+
assert pp_response.success?
|
23
|
+
|
24
|
+
data = {"requestEnvelope"=>{"errorLanguage"=>"en_US"}, "payKey" => pp_response['payKey']}
|
25
|
+
|
26
|
+
response = @payment_details_request.payment_details(data)
|
27
|
+
assert_equal 'CREATED', response['status']
|
28
|
+
end
|
29
|
+
|
30
|
+
def read_json_file(filepath)
|
31
|
+
File.open(filepath, "rb"){|f| JSON.parse(f.read)}
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PreapprovalTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@preapproval_request = PaypalAdaptive::Request.new("test")
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_preapproval
|
9
|
+
puts "-------"
|
10
|
+
puts "valid test"
|
11
|
+
data_filepath = File.join(File.dirname(__FILE__),"..", "data","valid_preapproval.json")
|
12
|
+
|
13
|
+
data = read_json_file(data_filepath)
|
14
|
+
p data
|
15
|
+
|
16
|
+
pp_response = @preapproval_request.preapproval(data)
|
17
|
+
puts "preapproval code is #{pp_response['preapprovalKey']}"
|
18
|
+
|
19
|
+
assert pp_response.success?
|
20
|
+
assert_not_nil pp_response.preapproval_paypal_payment_url
|
21
|
+
assert_not_nil pp_response['preapprovalKey']
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def test_invalid_preapproval
|
26
|
+
puts "-------"
|
27
|
+
puts "invalid"
|
28
|
+
data_filepath = File.join(File.dirname(__FILE__),"..", "data","invalid_preapproval.json")
|
29
|
+
|
30
|
+
data = read_json_file(data_filepath)
|
31
|
+
pp_response = @preapproval_request.preapproval(data)
|
32
|
+
puts "error message is #{pp_response.error_message}"
|
33
|
+
|
34
|
+
assert pp_response.success? == false
|
35
|
+
assert_nil pp_response.preapproval_paypal_payment_url
|
36
|
+
assert_nil pp_response['preapprovalKey']
|
37
|
+
end
|
38
|
+
|
39
|
+
def read_json_file(filepath)
|
40
|
+
File.open(filepath, "rb"){|f| JSON.parse(f.read)}
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{tonyla-paypal_adaptive}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Tommy Chheng", "Tony La"]
|
12
|
+
s.date = %q{2011-05-21}
|
13
|
+
s.description = %q{Lightweight wrapper for Paypal's Adaptive Payments API.}
|
14
|
+
s.email = %q{tonyla@pingg.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.markdown"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
"LICENSE",
|
21
|
+
"README.markdown",
|
22
|
+
"Rakefile",
|
23
|
+
"VERSION",
|
24
|
+
"cacert.pem",
|
25
|
+
"config/paypal_adaptive.yml",
|
26
|
+
"lib/config.rb",
|
27
|
+
"lib/ipn_notification.rb",
|
28
|
+
"lib/pay_request_schema.json",
|
29
|
+
"lib/paypal_adaptive.rb",
|
30
|
+
"lib/request.rb",
|
31
|
+
"lib/response.rb",
|
32
|
+
"tonyla-paypal_adaptive.gemspec",
|
33
|
+
"templates/paypal_ipn.rb",
|
34
|
+
"test/data/invalid_chain_pay_request.json",
|
35
|
+
"test/data/invalid_parallel_pay_request.json",
|
36
|
+
"test/data/invalid_preapproval.json",
|
37
|
+
"test/data/invalid_simple_pay_request_1.json",
|
38
|
+
"test/data/valid_chain_pay_request.json",
|
39
|
+
"test/data/valid_parallel_pay_request.json",
|
40
|
+
"test/data/valid_preapproval.json",
|
41
|
+
"test/data/valid_simple_pay_request_1.json",
|
42
|
+
"test/test_helper.rb",
|
43
|
+
"test/unit/config_test.rb",
|
44
|
+
"test/unit/pay_request_schema_test.rb",
|
45
|
+
"test/unit/pay_request_test.rb",
|
46
|
+
"test/unit/payment_details_test.rb",
|
47
|
+
"test/unit/preapproval_test.rb"
|
48
|
+
]
|
49
|
+
s.homepage = %q{http://github.com/tc/paypal_adaptive}
|
50
|
+
s.require_paths = ["lib"]
|
51
|
+
s.rubygems_version = %q{1.6.2}
|
52
|
+
s.summary = %q{initial import}
|
53
|
+
s.test_files = [
|
54
|
+
"test/test_helper.rb",
|
55
|
+
"test/unit/config_test.rb",
|
56
|
+
"test/unit/pay_request_schema_test.rb",
|
57
|
+
"test/unit/pay_request_test.rb",
|
58
|
+
"test/unit/payment_details_test.rb",
|
59
|
+
"test/unit/preapproval_test.rb"
|
60
|
+
]
|
61
|
+
|
62
|
+
if s.respond_to? :specification_version then
|
63
|
+
s.specification_version = 3
|
64
|
+
|
65
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
66
|
+
s.add_development_dependency(%q<json>, [">= 0"])
|
67
|
+
s.add_development_dependency(%q<jsonschema>, [">= 0"])
|
68
|
+
else
|
69
|
+
s.add_dependency(%q<json>, [">= 0"])
|
70
|
+
s.add_dependency(%q<jsonschema>, [">= 0"])
|
71
|
+
end
|
72
|
+
else
|
73
|
+
s.add_dependency(%q<json>, [">= 0"])
|
74
|
+
s.add_dependency(%q<jsonschema>, [">= 0"])
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
metadata
ADDED
@@ -0,0 +1,123 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tonyla-paypal_adaptive
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Tommy Chheng
|
13
|
+
- Tony La
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-05-21 00:00:00 -04:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: json
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: jsonschema
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 0
|
44
|
+
version: "0"
|
45
|
+
type: :development
|
46
|
+
version_requirements: *id002
|
47
|
+
description: Lightweight wrapper for Paypal's Adaptive Payments API.
|
48
|
+
email: tonyla@pingg.com
|
49
|
+
executables: []
|
50
|
+
|
51
|
+
extensions: []
|
52
|
+
|
53
|
+
extra_rdoc_files:
|
54
|
+
- LICENSE
|
55
|
+
- README.markdown
|
56
|
+
files:
|
57
|
+
- LICENSE
|
58
|
+
- README.markdown
|
59
|
+
- Rakefile
|
60
|
+
- VERSION
|
61
|
+
- cacert.pem
|
62
|
+
- config/paypal_adaptive.yml
|
63
|
+
- lib/config.rb
|
64
|
+
- lib/ipn_notification.rb
|
65
|
+
- lib/pay_request_schema.json
|
66
|
+
- lib/paypal_adaptive.rb
|
67
|
+
- lib/request.rb
|
68
|
+
- lib/response.rb
|
69
|
+
- tonyla-paypal_adaptive.gemspec
|
70
|
+
- templates/paypal_ipn.rb
|
71
|
+
- test/data/invalid_chain_pay_request.json
|
72
|
+
- test/data/invalid_parallel_pay_request.json
|
73
|
+
- test/data/invalid_preapproval.json
|
74
|
+
- test/data/invalid_simple_pay_request_1.json
|
75
|
+
- test/data/valid_chain_pay_request.json
|
76
|
+
- test/data/valid_parallel_pay_request.json
|
77
|
+
- test/data/valid_preapproval.json
|
78
|
+
- test/data/valid_simple_pay_request_1.json
|
79
|
+
- test/test_helper.rb
|
80
|
+
- test/unit/config_test.rb
|
81
|
+
- test/unit/pay_request_schema_test.rb
|
82
|
+
- test/unit/pay_request_test.rb
|
83
|
+
- test/unit/payment_details_test.rb
|
84
|
+
- test/unit/preapproval_test.rb
|
85
|
+
has_rdoc: true
|
86
|
+
homepage: http://github.com/tc/paypal_adaptive
|
87
|
+
licenses: []
|
88
|
+
|
89
|
+
post_install_message:
|
90
|
+
rdoc_options: []
|
91
|
+
|
92
|
+
require_paths:
|
93
|
+
- lib
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
version: "0"
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
version: "0"
|
110
|
+
requirements: []
|
111
|
+
|
112
|
+
rubyforge_project:
|
113
|
+
rubygems_version: 1.3.7
|
114
|
+
signing_key:
|
115
|
+
specification_version: 3
|
116
|
+
summary: initial import
|
117
|
+
test_files:
|
118
|
+
- test/test_helper.rb
|
119
|
+
- test/unit/config_test.rb
|
120
|
+
- test/unit/pay_request_schema_test.rb
|
121
|
+
- test/unit/pay_request_test.rb
|
122
|
+
- test/unit/payment_details_test.rb
|
123
|
+
- test/unit/preapproval_test.rb
|