paypal-express 0.2.5 → 0.2.6
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/VERSION +1 -1
- data/lib/paypal/payment/request.rb +7 -1
- data/spec/paypal/payment/request_spec.rb +16 -7
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.6
|
@@ -28,13 +28,19 @@ module Paypal
|
|
28
28
|
v.blank?
|
29
29
|
end
|
30
30
|
if self.items.present?
|
31
|
-
params[:"PAYMENTREQUEST_#{index}_ITEMAMT"] = Util.formatted_amount(
|
31
|
+
params[:"PAYMENTREQUEST_#{index}_ITEMAMT"] = Util.formatted_amount(self.items_amount)
|
32
32
|
self.items.each_with_index do |item, item_index|
|
33
33
|
params.merge! item.to_params(index, item_index)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
params
|
37
37
|
end
|
38
|
+
|
39
|
+
def items_amount
|
40
|
+
self.items.inject(0.0) do |total, item|
|
41
|
+
total += item.quantity * item.amount.to_f
|
42
|
+
end
|
43
|
+
end
|
38
44
|
end
|
39
45
|
end
|
40
46
|
end
|
@@ -3,15 +3,20 @@ require 'spec_helper.rb'
|
|
3
3
|
describe Paypal::Payment::Request do
|
4
4
|
let :instant_request do
|
5
5
|
Paypal::Payment::Request.new(
|
6
|
-
:amount =>
|
6
|
+
:amount => 23.8,
|
7
7
|
:currency_code => :JPY,
|
8
8
|
:description => 'Instant Payment Request',
|
9
9
|
:notify_url => 'http://merchant.example.com/notify',
|
10
10
|
:items => [{
|
11
11
|
:quantity => 2,
|
12
12
|
:name => 'Item1',
|
13
|
-
:description => 'Awesome Item!',
|
13
|
+
:description => 'Awesome Item 1!',
|
14
14
|
:amount => 10.25
|
15
|
+
}, {
|
16
|
+
:quantity => 3,
|
17
|
+
:name => 'Item2',
|
18
|
+
:description => 'Awesome Item 2!',
|
19
|
+
:amount => 1.1
|
15
20
|
}]
|
16
21
|
)
|
17
22
|
end
|
@@ -26,7 +31,7 @@ describe Paypal::Payment::Request do
|
|
26
31
|
|
27
32
|
describe '.new' do
|
28
33
|
it 'should handle Instant Payment parameters' do
|
29
|
-
instant_request.amount.should ==
|
34
|
+
instant_request.amount.should == 23.8
|
30
35
|
instant_request.currency_code.should == :JPY
|
31
36
|
instant_request.description.should == 'Instant Payment Request'
|
32
37
|
instant_request.notify_url.should == 'http://merchant.example.com/notify'
|
@@ -42,15 +47,19 @@ describe Paypal::Payment::Request do
|
|
42
47
|
describe '#to_params' do
|
43
48
|
it 'should handle Instant Payment parameters' do
|
44
49
|
instant_request.to_params.should == {
|
45
|
-
:PAYMENTREQUEST_0_AMT => "
|
50
|
+
:PAYMENTREQUEST_0_AMT => "23.80",
|
46
51
|
:PAYMENTREQUEST_0_CURRENCYCODE => :JPY,
|
47
52
|
:PAYMENTREQUEST_0_DESC => "Instant Payment Request",
|
48
53
|
:PAYMENTREQUEST_0_NOTIFYURL => "http://merchant.example.com/notify",
|
49
|
-
:PAYMENTREQUEST_0_ITEMAMT => "
|
54
|
+
:PAYMENTREQUEST_0_ITEMAMT => "23.80",
|
50
55
|
:L_PAYMENTREQUEST_0_NAME0 => "Item1",
|
51
|
-
:L_PAYMENTREQUEST_0_DESC0 => "Awesome Item!",
|
56
|
+
:L_PAYMENTREQUEST_0_DESC0 => "Awesome Item 1!",
|
52
57
|
:L_PAYMENTREQUEST_0_AMT0 => "10.25",
|
53
|
-
:L_PAYMENTREQUEST_0_QTY0 => 2
|
58
|
+
:L_PAYMENTREQUEST_0_QTY0 => 2,
|
59
|
+
:L_PAYMENTREQUEST_0_NAME1 => "Item2",
|
60
|
+
:L_PAYMENTREQUEST_0_DESC1 => "Awesome Item 2!",
|
61
|
+
:L_PAYMENTREQUEST_0_AMT1 => "1.10",
|
62
|
+
:L_PAYMENTREQUEST_0_QTY1 => 3
|
54
63
|
}
|
55
64
|
end
|
56
65
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paypal-express
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 6
|
10
|
+
version: 0.2.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- nov matake
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-21 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|