webpay 2.3.0 → 2.3.1

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: 188092b3058c63d8eab3b701aa0e7ffcccbec5f4
4
- data.tar.gz: cb6faf9a38e95164e1ca21142ea7ec81bb69335a
3
+ metadata.gz: c927ca24f603b3b182f7001148cb32839dbda14e
4
+ data.tar.gz: 063d18639d6a65db61d86d4e70fbb09b746d580c
5
5
  SHA512:
6
- metadata.gz: 6a29018c83c4bba873bd84f2c37dc0b42cac4abd8453559b7a09c399ef4e9f56a7739201e09abe43effc77a54065ae6d6b77966e952ac8b9d02f8a5d43128485
7
- data.tar.gz: e4a6023906009fa1d357a1301021e7d77c93190683fead2d0d84b3c392f4f9afce4061d6ee2687e5262cfe177c3e23dd7339c18eb9bedce61c90a89101014b7c
6
+ metadata.gz: 16cc7aaed7e03c44ea73b601c034609d7736e03b2b6688310cef13176211d319cd443a249130b6ac9e6bfc7f9048c8c6623a1af6e6a256d302844049e09002ba
7
+ data.tar.gz: a9d269f913a2ddd4082ce5538234aa0852b4bc23818979494ec57d251d8e2af89cba558d347dbd1cff895f05de98ec0797f9e6375e70ee2528840b165d0dc11b
data/.travis.yml CHANGED
@@ -3,7 +3,7 @@ rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
5
  - jruby-head
6
- - rbx-2.1.1
6
+ - #rbx-2.1.1
7
7
  gemfile:
8
8
  - gemfiles/no_doc_gems
9
9
  script: "bundle exec rake"
data/lib/webpay.rb CHANGED
@@ -19,6 +19,7 @@ module WebPay
19
19
  autoload(:Charge, 'webpay/charge')
20
20
  autoload(:Customer, 'webpay/customer')
21
21
  autoload(:Event, 'webpay/event')
22
+ autoload(:Fee, 'webpay/fee')
22
23
  autoload(:Token, 'webpay/token')
23
24
  autoload(:Shop, 'webpay/shop')
24
25
  autoload(:ResponseConverter, 'webpay/response_converter')
data/lib/webpay/fee.rb ADDED
@@ -0,0 +1,13 @@
1
+ module WebPay
2
+
3
+ # Object for API response hash object with <code>hash['object'] = fee</code>.
4
+ # Fee is not accessible as an API endpoint
5
+ class Fee < Entity
6
+
7
+ # Check equality with rhs
8
+ # @return [Boolean] true only if rhs is the same object
9
+ def ==(other)
10
+ self.equal?(other)
11
+ end
12
+ end
13
+ end
@@ -11,10 +11,15 @@ module WebPay
11
11
  case attributes['object']
12
12
  when 'card'
13
13
  Card.new(attributes)
14
+ when 'fee'
15
+ Fee.new(attributes)
14
16
  when 'charge'
15
17
  if attributes['card']
16
18
  attributes['card'] = convert(attributes['card'])
17
19
  end
20
+ if attributes['fees']
21
+ attributes['fees'] = attributes['fees'].map { |fee| convert(fee) }
22
+ end
18
23
  Charge.new(attributes)
19
24
  when 'customer'
20
25
  if attributes['active_card']
@@ -1,5 +1,5 @@
1
1
  module WebPay
2
2
 
3
3
  # Version of WebPay gem
4
- VERSION = "2.3.0"
4
+ VERSION = "2.3.1"
5
5
  end
@@ -1,39 +1,37 @@
1
- HTTP/1.1 200 OK
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 05:37:38 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 200 OK
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "1ef28b71a9c2922209c711d6337dc268"
10
- Cache-Control: must-revalidate, private, max-age=0
11
- X-Request-Id: d70772065116ff711cb28778dabd50ed
12
- X-Runtime: 0.023629
13
- X-Rack-Cache: miss
14
-
1
+ HTTP/1.1 200 OK
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "d62affbd4db0c10ce2244cc7d5a05249"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: c53aade07e31b8c4cc03c18bfe5ee086
7
+ X-Runtime: 0.013481
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 02:43:46 GMT
10
+ Content-Length: 3067
11
+ Connection: Keep-Alive
12
+
15
13
  {
16
14
  "object": "list",
17
15
  "url": "/v1/charges",
18
- "count": 11,
16
+ "count": 4,
19
17
  "data": [
20
18
  {
21
- "id": "ch_2X01NDedxdrRcA3",
19
+ "id": "ch_511apkasx749bfE",
22
20
  "object": "charge",
23
21
  "livemode": false,
24
22
  "currency": "jpy",
25
- "description": "Test Charge from Java",
23
+ "description": "Test Charge",
26
24
  "amount": 1000,
27
25
  "amount_refunded": 0,
28
- "customer": "cus_fgR4vI92r54I6oK",
29
- "created": 1378617627,
30
- "paid": true,
26
+ "customer": "cus_5119ShaAgbLyfwS",
27
+ "created": 1397443228,
28
+ "paid": false,
31
29
  "refunded": false,
32
30
  "failure_message": null,
33
31
  "card": {
34
32
  "object": "card",
35
- "exp_year": 2014,
36
- "exp_month": 11,
33
+ "exp_year": 2016,
34
+ "exp_month": 9,
37
35
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
38
36
  "name": "KEI KUBO",
39
37
  "country": "JP",
@@ -41,62 +39,101 @@ X-Rack-Cache: miss
41
39
  "cvc_check": "pass",
42
40
  "last4": "4242"
43
41
  },
44
- "captured": true,
45
- "expire_time": 1379222427
42
+ "captured": false,
43
+ "expire_time": 1398048028,
44
+ "fees": [
45
+
46
+ ]
46
47
  },
47
48
  {
48
- "id": "ch_2SS17Oh1r8d2djE",
49
+ "id": "ch_5119xE4mH4zA9p9",
49
50
  "object": "charge",
50
51
  "livemode": false,
51
52
  "currency": "jpy",
52
- "description": "Test Charge from Java",
53
+ "description": "Test Charge",
53
54
  "amount": 1000,
54
55
  "amount_refunded": 0,
55
- "customer": null,
56
- "created": 1378609168,
56
+ "customer": "cus_5119ShaAgbLyfwS",
57
+ "created": 1397443215,
57
58
  "paid": true,
58
59
  "refunded": false,
59
60
  "failure_message": null,
60
61
  "card": {
61
62
  "object": "card",
62
- "exp_year": 2015,
63
- "exp_month": 12,
63
+ "exp_year": 2016,
64
+ "exp_month": 9,
64
65
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
65
- "name": "YUUKO SHIONJI",
66
+ "name": "KEI KUBO",
66
67
  "country": "JP",
67
68
  "type": "Visa",
68
69
  "cvc_check": "pass",
69
70
  "last4": "4242"
70
71
  },
71
72
  "captured": true,
72
- "expire_time": null
73
+ "expire_time": null,
74
+ "fees": [
75
+ {
76
+ "object": "fee",
77
+ "transaction_type": "payment",
78
+ "transaction_fee": 0,
79
+ "rate": 35.0,
80
+ "amount": 350,
81
+ "created": 1397443216
82
+ }
83
+ ]
73
84
  },
74
85
  {
75
- "id": "ch_2SS4fK4IL96535y",
86
+ "id": "ch_5112dr0Mu5Kyd2I",
76
87
  "object": "charge",
77
88
  "livemode": false,
78
89
  "currency": "jpy",
79
- "description": "Test Charge from Java",
90
+ "description": "Test Charge",
80
91
  "amount": 1000,
81
- "amount_refunded": 0,
82
- "customer": "cus_fgR4vI92r54I6oK",
83
- "created": 1378607167,
92
+ "amount_refunded": 400,
93
+ "customer": null,
94
+ "created": 1397442849,
84
95
  "paid": true,
85
96
  "refunded": false,
86
97
  "failure_message": null,
87
98
  "card": {
88
99
  "object": "card",
89
- "exp_year": 2014,
90
- "exp_month": 11,
100
+ "exp_year": 2015,
101
+ "exp_month": 12,
91
102
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
92
- "name": "KEI KUBO",
103
+ "name": "YUUKO SHIONJI",
93
104
  "country": "JP",
94
105
  "type": "Visa",
95
106
  "cvc_check": "pass",
96
107
  "last4": "4242"
97
108
  },
98
109
  "captured": true,
99
- "expire_time": null
110
+ "expire_time": null,
111
+ "fees": [
112
+ {
113
+ "object": "fee",
114
+ "transaction_type": "payment",
115
+ "transaction_fee": 0,
116
+ "rate": 35.0,
117
+ "amount": 350,
118
+ "created": 1397442849
119
+ },
120
+ {
121
+ "object": "fee",
122
+ "transaction_type": "refund",
123
+ "transaction_fee": 0,
124
+ "rate": 35.0,
125
+ "amount": -350,
126
+ "created": 1397443154
127
+ },
128
+ {
129
+ "object": "fee",
130
+ "transaction_type": "payment",
131
+ "transaction_fee": 0,
132
+ "rate": 35.0,
133
+ "amount": 210,
134
+ "created": 1397443154
135
+ }
136
+ ]
100
137
  }
101
138
  ]
102
139
  }
@@ -1,34 +1,32 @@
1
- HTTP/1.1 200 OK
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 05:22:08 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 200 OK
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "2672411c723a31aaf67ed4fa6ac0aad4"
10
- Cache-Control: max-age=0, private, must-revalidate
11
- X-Request-Id: ce69847ff19fc25f9376d2affc8e8a44
12
- X-Runtime: 0.063278
13
- X-Rack-Cache: invalidate, pass
14
-
1
+ HTTP/1.1 200 OK
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "55751ab0623ce3649f648ce9161a340e"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: e57b763f56b9212d2aac3d5204303b59
7
+ X-Runtime: 0.471463
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 02:58:16 GMT
10
+ Content-Length: 785
11
+ Connection: Keep-Alive
12
+
15
13
  {
16
- "id": "ch_2X01NDedxdrRcA3",
14
+ "id": "ch_5113hA4L51yj8TF",
17
15
  "object": "charge",
18
16
  "livemode": false,
19
17
  "currency": "jpy",
20
- "description": "Test Charge from Java",
18
+ "description": "Test Charge",
21
19
  "amount": 1000,
22
20
  "amount_refunded": 0,
23
- "customer": "cus_fgR4vI92r54I6oK",
24
- "created": 1378617627,
21
+ "customer": "cus_5119ShaAgbLyfwS",
22
+ "created": 1397444145,
25
23
  "paid": true,
26
24
  "refunded": false,
27
25
  "failure_message": null,
28
26
  "card": {
29
27
  "object": "card",
30
- "exp_year": 2014,
31
- "exp_month": 11,
28
+ "exp_year": 2016,
29
+ "exp_month": 9,
32
30
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
33
31
  "name": "KEI KUBO",
34
32
  "country": "JP",
@@ -37,5 +35,15 @@ X-Rack-Cache: invalidate, pass
37
35
  "last4": "4242"
38
36
  },
39
37
  "captured": true,
40
- "expire_time": 1379222427
38
+ "expire_time": 1398048945,
39
+ "fees": [
40
+ {
41
+ "object": "fee",
42
+ "transaction_type": "payment",
43
+ "transaction_fee": 0,
44
+ "rate": 3.25,
45
+ "amount": 33,
46
+ "created": 1397444296
47
+ }
48
+ ]
41
49
  }
@@ -1,27 +1,25 @@
1
- HTTP/1.1 201 Created
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 02:59:29 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 201 Created
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "12298cbfe1c3cc7943d352edc90582ae"
10
- Cache-Control: max-age=0, private, must-revalidate
11
- X-Request-Id: 7f97fc1c9cbdf3ca648d0460bd381b93
12
- X-Runtime: 0.078686
13
- X-Rack-Cache: invalidate, pass
14
-
1
+ HTTP/1.1 201 Created
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "52660afa817770efa680c8d997b48917"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: ddf1900c75deac499d2ca9f3cccf59ff
7
+ X-Runtime: 0.982683
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 02:55:29 GMT
10
+ Content-Length: 768
11
+ Connection: Keep-Alive
12
+
15
13
  {
16
- "id": "ch_2SS17Oh1r8d2djE",
14
+ "id": "ch_5112dw9eYekJc2s",
17
15
  "object": "charge",
18
16
  "livemode": false,
19
17
  "currency": "jpy",
20
- "description": "Test Charge from Java",
18
+ "description": "Test Charge",
21
19
  "amount": 1000,
22
20
  "amount_refunded": 0,
23
21
  "customer": null,
24
- "created": 1378609168,
22
+ "created": 1397444129,
25
23
  "paid": true,
26
24
  "refunded": false,
27
25
  "failure_message": null,
@@ -37,5 +35,15 @@ X-Rack-Cache: invalidate, pass
37
35
  "last4": "4242"
38
36
  },
39
37
  "captured": true,
40
- "expire_time": null
38
+ "expire_time": null,
39
+ "fees": [
40
+ {
41
+ "object": "fee",
42
+ "transaction_type": "payment",
43
+ "transaction_fee": 0,
44
+ "rate": 3.25,
45
+ "amount": 33,
46
+ "created": 1397444129
47
+ }
48
+ ]
41
49
  }
@@ -1,34 +1,32 @@
1
- HTTP/1.1 201 Created
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 02:26:07 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 201 Created
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "2fdfa89815507564c93a11caffc5c609"
10
- Cache-Control: max-age=0, private, must-revalidate
11
- X-Request-Id: afd5d071121b5b0ca28b1e1ad96ec40a
12
- X-Runtime: 0.129481
13
- X-Rack-Cache: invalidate, pass
14
-
1
+ HTTP/1.1 201 Created
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "97bd4ad52cf1430cc212a9f6140a4b27"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: b323af770f1e1a78cd752ef0ae740e63
7
+ X-Runtime: 0.520140
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 02:55:38 GMT
10
+ Content-Length: 779
11
+ Connection: Keep-Alive
12
+
15
13
  {
16
- "id": "ch_2SS4fK4IL96535y",
14
+ "id": "ch_5112KydVn9zId7h",
17
15
  "object": "charge",
18
16
  "livemode": false,
19
17
  "currency": "jpy",
20
- "description": "Test Charge from Java",
18
+ "description": "Test Charge",
21
19
  "amount": 1000,
22
20
  "amount_refunded": 0,
23
- "customer": "cus_fgR4vI92r54I6oK",
24
- "created": 1378607167,
21
+ "customer": "cus_5119ShaAgbLyfwS",
22
+ "created": 1397444137,
25
23
  "paid": true,
26
24
  "refunded": false,
27
25
  "failure_message": null,
28
26
  "card": {
29
27
  "object": "card",
30
- "exp_year": 2014,
31
- "exp_month": 11,
28
+ "exp_year": 2016,
29
+ "exp_month": 9,
32
30
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
33
31
  "name": "KEI KUBO",
34
32
  "country": "JP",
@@ -37,5 +35,15 @@ X-Rack-Cache: invalidate, pass
37
35
  "last4": "4242"
38
36
  },
39
37
  "captured": true,
40
- "expire_time": null
38
+ "expire_time": null,
39
+ "fees": [
40
+ {
41
+ "object": "fee",
42
+ "transaction_type": "payment",
43
+ "transaction_fee": 0,
44
+ "rate": 3.25,
45
+ "amount": 33,
46
+ "created": 1397444138
47
+ }
48
+ ]
41
49
  }
@@ -1,41 +1,57 @@
1
- HTTP/1.1 200 OK
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 04:49:14 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 200 OK
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "00ea9522e0f29d3e2a494f30105fe841"
10
- Cache-Control: max-age=0, private, must-revalidate
11
- X-Request-Id: 20141aa82edd1939c6b0ce64d5a87fa7
12
- X-Runtime: 0.055769
13
- X-Rack-Cache: invalidate, pass
14
-
1
+ HTTP/1.1 200 OK
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "e262bc8c1785cab71c0e09f7024ce701"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: 9f963b799441465fd3ea03be0316807e
7
+ X-Runtime: 0.398660
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 03:02:07 GMT
10
+ Content-Length: 939
11
+ Connection: Keep-Alive
12
+
15
13
  {
16
- "id": "ch_bWp5EG9smcCYeEx",
14
+ "id": "ch_5112dw9eYekJc2s",
17
15
  "object": "charge",
18
16
  "livemode": false,
19
17
  "currency": "jpy",
20
- "description": "アイテムの購入",
21
- "amount": 400,
22
- "amount_refunded": 400,
18
+ "description": "Test Charge",
19
+ "amount": 1000,
20
+ "amount_refunded": 1000,
23
21
  "customer": null,
24
- "created": 1370746452,
22
+ "created": 1397444129,
25
23
  "paid": true,
26
24
  "refunded": true,
27
25
  "failure_message": null,
28
26
  "card": {
29
27
  "object": "card",
30
- "exp_year": 2014,
31
- "exp_month": 11,
28
+ "exp_year": 2015,
29
+ "exp_month": 12,
32
30
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
33
- "name": "KEI KUBO",
31
+ "name": "YUUKO SHIONJI",
34
32
  "country": "JP",
35
33
  "type": "Visa",
36
34
  "cvc_check": "pass",
37
35
  "last4": "4242"
38
36
  },
39
37
  "captured": true,
40
- "expire_time": null
38
+ "expire_time": null,
39
+ "fees": [
40
+ {
41
+ "object": "fee",
42
+ "transaction_type": "payment",
43
+ "transaction_fee": 0,
44
+ "rate": 3.25,
45
+ "amount": 33,
46
+ "created": 1397444129
47
+ },
48
+ {
49
+ "object": "fee",
50
+ "transaction_type": "refund",
51
+ "transaction_fee": 0,
52
+ "rate": 3.25,
53
+ "amount": -33,
54
+ "created": 1397444526
55
+ }
56
+ ]
41
57
  }
@@ -1,39 +1,49 @@
1
- HTTP/1.1 200 OK
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 04:22:03 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 200 OK
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "e1d70d19ea7666f4a7016055b3274b43"
10
- Cache-Control: must-revalidate, private, max-age=0
11
- X-Request-Id: 8ea33d9a3dc18348206d68f2408c7866
12
-
1
+ HTTP/1.1 200 OK
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "52660afa817770efa680c8d997b48917"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: 6e1d1e5bdb97b2ac07444e19d1c9e925
7
+ X-Runtime: 0.008128
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 02:56:31 GMT
10
+ Content-Length: 768
11
+ Connection: Keep-Alive
12
+
13
13
  {
14
- "id": "ch_bWp5EG9smcCYeEx",
14
+ "id": "ch_5112dw9eYekJc2s",
15
15
  "object": "charge",
16
16
  "livemode": false,
17
17
  "currency": "jpy",
18
- "description": "アイテムの購入",
19
- "amount": 400,
18
+ "description": "Test Charge",
19
+ "amount": 1000,
20
20
  "amount_refunded": 0,
21
21
  "customer": null,
22
- "created": 1370746452,
22
+ "created": 1397444129,
23
23
  "paid": true,
24
24
  "refunded": false,
25
25
  "failure_message": null,
26
26
  "card": {
27
27
  "object": "card",
28
- "exp_year": 2014,
29
- "exp_month": 11,
28
+ "exp_year": 2015,
29
+ "exp_month": 12,
30
30
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
31
- "name": "KEI KUBO",
31
+ "name": "YUUKO SHIONJI",
32
32
  "country": "JP",
33
33
  "type": "Visa",
34
34
  "cvc_check": "pass",
35
35
  "last4": "4242"
36
36
  },
37
37
  "captured": true,
38
- "expire_time": null
38
+ "expire_time": null,
39
+ "fees": [
40
+ {
41
+ "object": "fee",
42
+ "transaction_type": "payment",
43
+ "transaction_fee": 0,
44
+ "rate": 3.25,
45
+ "amount": 33,
46
+ "created": 1397444129
47
+ }
48
+ ]
39
49
  }
@@ -1,32 +1,32 @@
1
- HTTP/1.1 200 OK
2
- Server: nginx/1.4.1
3
- Date: Sun, 08 Sep 2013 04:22:03 GMT
4
- Content-Type: application/json; charset=utf-8
5
- Transfer-Encoding: chunked
6
- Connection: keep-alive
7
- Status: 200 OK
8
- X-UA-Compatible: IE=Edge,chrome=1
9
- ETag: "e1d70d19ea7666f4a7016055b3274b43"
10
- Cache-Control: must-revalidate, private, max-age=0
11
- X-Request-Id: 8ea33d9a3dc18348206d68f2408c7866
12
-
1
+ HTTP/1.1 200 OK
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "d286a0c9eaed0e25df2731346066053f"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: ebb723c852a35579c8f44cc6c91b8a86
7
+ X-Runtime: 0.009551
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Mon, 14 Apr 2014 02:56:09 GMT
10
+ Content-Length: 620
11
+ Connection: Keep-Alive
12
+
13
13
  {
14
- "id": "ch_2X01NDedxdrRcA3",
14
+ "id": "ch_5113hA4L51yj8TF",
15
15
  "object": "charge",
16
16
  "livemode": false,
17
17
  "currency": "jpy",
18
- "description": "Test Charge from Java",
18
+ "description": "Test Charge",
19
19
  "amount": 1000,
20
20
  "amount_refunded": 0,
21
- "customer": "cus_fgR4vI92r54I6oK",
22
- "created": 1378617627,
21
+ "customer": "cus_5119ShaAgbLyfwS",
22
+ "created": 1397444145,
23
23
  "paid": false,
24
24
  "refunded": false,
25
25
  "failure_message": null,
26
26
  "card": {
27
27
  "object": "card",
28
- "exp_year": 2014,
29
- "exp_month": 11,
28
+ "exp_year": 2016,
29
+ "exp_month": 9,
30
30
  "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
31
31
  "name": "KEI KUBO",
32
32
  "country": "JP",
@@ -35,5 +35,8 @@ X-Request-Id: 8ea33d9a3dc18348206d68f2408c7866
35
35
  "last4": "4242"
36
36
  },
37
37
  "captured": false,
38
- "expire_time": 1379222427
38
+ "expire_time": 1398048945,
39
+ "fees": [
40
+
41
+ ]
39
42
  }
@@ -13,31 +13,41 @@ describe WebPay::Charge do
13
13
  :exp_year=>'2015',
14
14
  :cvc=>'123',
15
15
  :name=>'YUUKO SHIONJI'},
16
- :description=>'Test Charge from Java'
16
+ :description=>'Test Charge'
17
17
  }}
18
18
  before do
19
19
  stub_post_request('/charges', 'charges/create_with_card', params)
20
20
  end
21
21
 
22
- its(:id) { should eq 'ch_2SS17Oh1r8d2djE' }
23
- its(:description) { should eq "Test Charge from Java" }
22
+ its(:id) { should eq 'ch_5112dw9eYekJc2s' }
23
+ its(:description) { should eq "Test Charge" }
24
24
  it 'card.name' do
25
25
  expect(charge.card.name).to eq 'YUUKO SHIONJI'
26
26
  end
27
+
28
+ it 'fees' do
29
+ expect(charge.fees.length).to eq 1
30
+ fee = charge.fees[0]
31
+ expect(fee.transaction_type).to eq 'payment'
32
+ expect(fee.transaction_fee).to eq 0
33
+ expect(fee.rate).to eq 3.25
34
+ expect(fee.amount).to eq 33
35
+ expect(fee.created).to eq 1397444129
36
+ end
27
37
  end
28
38
 
29
39
  describe 'with customer' do
30
40
  let(:params) {{
31
41
  :amount=>'1000',
32
42
  :currency=>'jpy',
33
- :customer => 'cus_fgR4vI92r54I6oK',
34
- :description=>'Test Charge from Java'
43
+ :customer => 'cus_5119ShaAgbLyfwS',
44
+ :description=>'Test Charge'
35
45
  }}
36
46
  before do
37
47
  stub_post_request('/charges', 'charges/create_with_customer', params)
38
48
  end
39
49
 
40
- its(:id) { should eq 'ch_2SS4fK4IL96535y' }
50
+ its(:id) { should eq 'ch_5112KydVn9zId7h' }
41
51
  it 'card.name' do
42
52
  expect(charge.card.name).to eq 'KEI KUBO'
43
53
  end
@@ -45,7 +55,7 @@ describe WebPay::Charge do
45
55
  end
46
56
 
47
57
  describe '.retrieve' do
48
- let(:id) { 'ch_bWp5EG9smcCYeEx' }
58
+ let(:id) { 'ch_5112dw9eYekJc2s' }
49
59
  before do
50
60
  stub_get_request("/charges/#{id}", 'charges/retrieve')
51
61
  end
@@ -60,46 +70,62 @@ describe WebPay::Charge do
60
70
  describe '.all' do
61
71
  context 'with craeted[gt]' do
62
72
  before do
63
- stub_get_request("/charges?count=3&offset=0&created[gt]=1378000000", 'charges/all')
73
+ stub_get_request("/charges?count=3&offset=0&created[gt]=1397401200", 'charges/all')
64
74
  end
65
75
 
66
- subject(:list) { described_class.all(count: 3, offset: 0, created: { gt: 1378000000 }) }
76
+ subject(:list) { described_class.all(count: 3, offset: 0, created: { gt: 1397401200 }) }
67
77
  its(:url) { should eq '/v1/charges' }
68
- its(:count) { should eq 11 }
78
+ its(:count) { should eq 4 }
69
79
  it 'data.first.description' do
70
- expect(list.data.first.description).to eq 'Test Charge from Java'
80
+ expect(list.data.first.description).to eq 'Test Charge'
71
81
  end
72
82
  end
73
83
 
74
84
  context 'with customer' do
75
85
  before do
76
- stub_get_request("/charges?customer=cus_fgR4vI92r54I6oK", 'charges/all')
86
+ stub_get_request("/charges?customer=cus_5119ShaAgbLyfwS", 'charges/all')
77
87
  end
78
88
 
79
89
  it 'should respond the list' do
80
- list = described_class.all(customer: 'cus_fgR4vI92r54I6oK')
90
+ list = described_class.all(customer: 'cus_5119ShaAgbLyfwS')
81
91
  expect(list.url).to eq '/v1/charges'
82
92
  end
83
93
  end
84
94
  end
85
95
 
86
96
  describe '#refund' do
87
- let(:id) { 'ch_bWp5EG9smcCYeEx' }
97
+ let(:id) { 'ch_5112dw9eYekJc2s' }
98
+
88
99
  before do
89
100
  stub_get_request("/charges/#{id}", 'charges/retrieve')
90
- stub_post_request("/charges/#{id}/refund", 'charges/refund', amount: '400')
101
+ stub_post_request("/charges/#{id}/refund", 'charges/refund', amount: '1000')
91
102
  end
92
103
 
93
104
  it 'should refund the retrieved charge' do
94
105
  charge = described_class.retrieve(id)
95
106
  expect(charge.refunded).to eq false
96
- charge.refund(amount: 400)
107
+ charge.refund(amount: 1000)
97
108
  expect(charge.refunded).to eq true
109
+ expect(charge.amount_refunded).to eq 1000
110
+ end
111
+
112
+ it 'should add refund fees' do
113
+ charge = described_class.retrieve(id)
114
+ expect(charge.refunded).to eq false
115
+ charge.refund(amount: 1000)
116
+
117
+ expect(charge.fees.length).to eq 2
118
+ fee = charge.fees[1]
119
+ expect(fee.transaction_type).to eq 'refund'
120
+ expect(fee.transaction_fee).to eq 0
121
+ expect(fee.rate).to eq 3.25
122
+ expect(fee.amount).to eq -33
123
+ expect(fee.created).to eq 1397444526
98
124
  end
99
125
  end
100
126
 
101
127
  describe '#capture' do
102
- let(:id) { 'ch_2X01NDedxdrRcA3' }
128
+ let(:id) { 'ch_5113hA4L51yj8TF' }
103
129
  before do
104
130
  stub_get_request("/charges/#{id}", 'charges/retrieve_not_captured')
105
131
  stub_post_request("/charges/#{id}/capture", 'charges/capture', amount: '1000')
@@ -108,8 +134,10 @@ describe WebPay::Charge do
108
134
  it 'should capture the retrieved charge' do
109
135
  charge = described_class.retrieve(id)
110
136
  expect(charge.captured).to eq false
137
+ expect(charge.fees.length).to eq 0
111
138
  charge.capture(amount: 1000)
112
139
  expect(charge.captured).to eq true
140
+ expect(charge.fees.length).to eq 1
113
141
  end
114
142
  end
115
143
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - webpay
@@ -9,104 +9,104 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-15 00:00:00.000000000 Z
12
+ date: 2014-05-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0.8'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0.8'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '1.3'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.3'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: yard
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: 0.8.6.2
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: 0.8.6.2
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: redcarpet
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: 3.0.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: 3.0.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rspec
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: 2.14.0
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: 2.14.0
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: webmock
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ~>
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
104
  version: 1.13.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ~>
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
111
  version: 1.13.0
112
112
  description: WebPay is payment gateway service in Japan. see also https://webpay.jp/
@@ -117,9 +117,9 @@ executables: []
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
- - .gitignore
121
- - .rspec
122
- - .travis.yml
120
+ - ".gitignore"
121
+ - ".rspec"
122
+ - ".travis.yml"
123
123
  - Gemfile
124
124
  - LICENSE.txt
125
125
  - README.md
@@ -136,6 +136,7 @@ files:
136
136
  - lib/webpay/entity.rb
137
137
  - lib/webpay/entity_list.rb
138
138
  - lib/webpay/event.rb
139
+ - lib/webpay/fee.rb
139
140
  - lib/webpay/operations.rb
140
141
  - lib/webpay/response_converter.rb
141
142
  - lib/webpay/shop.rb
@@ -192,17 +193,17 @@ require_paths:
192
193
  - lib
193
194
  required_ruby_version: !ruby/object:Gem::Requirement
194
195
  requirements:
195
- - - '>='
196
+ - - ">="
196
197
  - !ruby/object:Gem::Version
197
198
  version: '0'
198
199
  required_rubygems_version: !ruby/object:Gem::Requirement
199
200
  requirements:
200
- - - '>='
201
+ - - ">="
201
202
  - !ruby/object:Gem::Version
202
203
  version: '0'
203
204
  requirements: []
204
205
  rubyforge_project:
205
- rubygems_version: 2.0.3
206
+ rubygems_version: 2.2.0
206
207
  signing_key:
207
208
  specification_version: 4
208
209
  summary: Ruby bindings of WebPay API
@@ -246,3 +247,4 @@ test_files:
246
247
  - spec/webpay/token_spec.rb
247
248
  - spec/webpay/webpay_error_spec.rb
248
249
  - spec/webpay_spec.rb
250
+ has_rdoc: