active_merchant-epsilon 0.9.2 → 0.9.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 915567d0ef3dfd3c77a829198bcf4fbc62e29a2a8bc5840b99c6ce1ae8337073
4
- data.tar.gz: f95f8b2405b3e6b9139688157ceeb962789a72bfe83f251503879dd1ff128c84
3
+ metadata.gz: 8b6d8a514b77fdac7f5ba836ad2587393253f2fedda6aac170ccc65817fa575d
4
+ data.tar.gz: 72244c3fafb9a11b2a2a5c1593474aefa54c3fc4c4c37856c5288c5d67cbeb61
5
5
  SHA512:
6
- metadata.gz: f958bcbe2ab8f3cbe876396b4460017c38e65aa1ec8f8140326a3f65185612ab9a8bc89d57be4f3d4aafe9b06aa2dbf4eafee7e419553739dfb6300cc6f65418
7
- data.tar.gz: 79bd291e76a237d3a478bfd1c76bc4b28c9edc1e99d5f0ab990e282485af9630ce2822f2f0874cfacd7df6789b8bf885e2e4a13ac5ab995d5bb6789fd2222bba
6
+ metadata.gz: 22b4a2fa3d606dec5edba7243c9ae21a6f410a0ddb6f9fe7a0ec2e02e2ed6e1a2e1cb209f32e27e1677cfd1589b8f071033bcd30dff85cad09c1d23bbca293df
7
+ data.tar.gz: 9d812be0b13afde388c1c57d007af0e6786e890be09c5a290ea42db26b5482571af2fd1e92d737df979da2ca7501994e3de53e671a887628739df0d2ae675416
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ### 0.9.3
4
+
5
+ * [Fix API version for GMO Payment After Delivery](https://github.com/pepabo/active_merchant-epsilon/pull/108)
6
+
3
7
  ### 0.9.2
4
8
 
5
9
  * [Support GMO Payment After Delivery](https://github.com/pepabo/active_merchant-epsilon/pull/106)
@@ -1,6 +1,11 @@
1
1
  module ActiveMerchant #:nodoc:
2
2
  module Billing #:nodoc:
3
3
  class EpsilonGmoAfterGateway < EpsilonBaseGateway
4
+
5
+ RESPONSE_KEYS = DEFAULT_RESPONSE_KEYS + [
6
+ :redirect,
7
+ ]
8
+
4
9
  def purchase(amount, detail = {})
5
10
  params = {
6
11
  contract_code: self.contract_code,
@@ -24,14 +29,13 @@ module ActiveMerchant #:nodoc:
24
29
  orderer_name: detail[:orderer_name],
25
30
  orderer_address: detail[:orderer_address],
26
31
  orderer_tel: detail[:orderer_tel],
27
- version: 2, # 推奨文字コードがUTF8の方を指定
28
32
  }
29
33
 
30
34
  params[:memo1] = detail[:memo1] if detail.has_key?(:memo1)
31
35
  params[:memo2] = detail[:memo2] if detail.has_key?(:memo2)
32
36
  params[:user_tel] = detail[:user_tel] if detail.has_key?(:user_tel)
33
37
 
34
- commit('receive_order3.cgi', params, [:redirect])
38
+ commit('receive_order3.cgi', params, RESPONSE_KEYS)
35
39
  end
36
40
  end
37
41
  end
@@ -124,13 +124,7 @@ module ActiveMerchant #:nodoc:
124
124
  end
125
125
 
126
126
  def uri_decode(string)
127
- decoded_string = CGI.unescape(string)
128
-
129
- unless decoded_string.encoding == Encoding::UTF_8
130
- decoded_string = decoded_string.encode(Encoding::UTF_8, Encoding::CP932)
131
- end
132
-
133
- decoded_string
127
+ CGI.unescape(string).encode(Encoding::UTF_8, Encoding::CP932)
134
128
  end
135
129
 
136
130
  module ResponseXpath
@@ -1,5 +1,5 @@
1
1
  module ActiveMerchant
2
2
  module Epsilon
3
- VERSION = "0.9.2"
3
+ VERSION = "0.9.3"
4
4
  end
5
5
  end
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://beta.epsilon.jp/cgi-bin/order/receive_order3.cgi
6
6
  body:
7
7
  encoding: UTF-8
8
- string: contract_code=[CONTRACT_CODE]&user_id=&user_name=YAMADA+Taro&user_mail_add=yamada-taro%40example.com&item_code=ITEM001&item_name=Greate+Product&order_number=O2665045&st_code=00000-0000-00000-00010-00000-00000-00000&mission_code=1&item_price=10000&process_code=1&xml=1&delivery_code=99&consignee_postal=1500002&consignee_name=%E3%82%A4%E3%83%97%E3%82%B7%E3%83%AD%E3%83%B3%E3%82%BF%E3%83%AD%E3%82%A6&consignee_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%8B%E8%B0%B7%E5%8C%BA%EF%BC%91%E2%88%92%EF%BC%91%E2%88%92%EF%BC%91&consignee_tel=0312345678&orderer_postal=1500002&orderer_name=YAMADA+Taro&orderer_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%8B%E8%B0%B7%E5%8C%BA1-1-1&orderer_tel=0312345678&version=2&memo1=memo1&memo2=memo2
8
+ string: contract_code=[CONTRACT_CODE]&user_id=&user_name=%E5%B1%B1%E7%94%B0+%E5%A4%AA%E9%83%8E&user_mail_add=yamada-taro%40example.com&item_code=ITEM001&item_name=Greate+Product&order_number=O666431&st_code=00000-0000-00000-00010-00000-00000-00000&mission_code=1&item_price=10000&process_code=1&xml=1&delivery_code=99&consignee_postal=1000001&consignee_name=%E3%82%A4%E3%83%97%E3%82%B7%E3%83%AD%E3%83%B3%E3%82%BF%E3%83%AD%E3%82%A6&consignee_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E5%8D%83%E4%BB%A3%E7%94%B01%E7%95%AA1%E5%8F%B7&consignee_tel=0312345678&orderer_postal=1000001&orderer_name=YAMADA+Taro&orderer_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E5%8D%83%E4%BB%A3%E7%94%B01%E7%95%AA1%E5%8F%B7&orderer_tel=0312345678&memo1=memo1&memo2=memo2&user_tel=0312345678
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/x-www-form-urlencoded
@@ -23,7 +23,7 @@ http_interactions:
23
23
  message: OK
24
24
  headers:
25
25
  Date:
26
- - Fri, 13 Mar 2020 02:42:03 GMT
26
+ - Wed, 18 Mar 2020 05:58:06 GMT
27
27
  Server:
28
28
  - Apache
29
29
  Connection:
@@ -36,9 +36,9 @@ http_interactions:
36
36
  encoding: UTF-8
37
37
  string: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n <Epsilon_result>\r\n
38
38
  \ <result result=\"0\" />\r\n <result err_code=\"601\" />\r\n <result
39
- err_detail=\"%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BCID%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%81%8C%E7%95%B0%E5%B8%B8%E3%81%A7%E3%81%99\"
39
+ err_detail=\"%83%86%81%5B%83U%81%5BID%82%CC%8C%60%8E%AE%82%AA%88%D9%8F%ED%82%C5%82%B7\"
40
40
  />\r\n <result memo1=\"memo1\" />\r\n <result memo2=\"memo2\" />\r\n
41
41
  \ </Epsilon_result>\r\n"
42
42
  http_version: null
43
- recorded_at: Fri, 13 Mar 2020 02:42:04 GMT
43
+ recorded_at: Wed, 18 Mar 2020 05:58:07 GMT
44
44
  recorded_with: VCR 5.1.0
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://beta.epsilon.jp/cgi-bin/order/receive_order3.cgi
6
6
  body:
7
7
  encoding: UTF-8
8
- string: contract_code=[CONTRACT_CODE]&user_id=U1584067324&user_name=YAMADA+Taro&user_mail_add=yamada-taro%40example.com&item_code=ITEM001&item_name=Greate+Product&order_number=O4628159&st_code=00000-0000-00000-00010-00000-00000-00000&mission_code=1&item_price=10000&process_code=1&xml=1&delivery_code=99&consignee_postal=1500002&consignee_name=%E3%82%A4%E3%83%97%E3%82%B7%E3%83%AD%E3%83%B3%E3%82%BF%E3%83%AD%E3%82%A6&consignee_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%8B%E8%B0%B7%E5%8C%BA%EF%BC%91%E2%88%92%EF%BC%91%E2%88%92%EF%BC%91&consignee_tel=0312345678&orderer_postal=1500002&orderer_name=YAMADA+Taro&orderer_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%8B%E8%B0%B7%E5%8C%BA1-1-1&orderer_tel=0312345678&version=2&memo1=memo1&memo2=memo2
8
+ string: contract_code=[CONTRACT_CODE]&user_id=U1584510803&user_name=%E5%B1%B1%E7%94%B0+%E5%A4%AA%E9%83%8E&user_mail_add=yamada-taro%40example.com&item_code=ITEM001&item_name=Greate+Product&order_number=O23603867&st_code=00000-0000-00000-00010-00000-00000-00000&mission_code=1&item_price=10000&process_code=1&xml=1&delivery_code=99&consignee_postal=1000001&consignee_name=%E3%82%A4%E3%83%97%E3%82%B7%E3%83%AD%E3%83%B3%E3%82%BF%E3%83%AD%E3%82%A6&consignee_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E5%8D%83%E4%BB%A3%E7%94%B01%E7%95%AA1%E5%8F%B7&consignee_tel=0312345678&orderer_postal=1000001&orderer_name=YAMADA+Taro&orderer_address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E5%8D%83%E4%BB%A3%E7%94%B01%E7%95%AA1%E5%8F%B7&orderer_tel=0312345678&memo1=memo1&memo2=memo2&user_tel=0312345678
9
9
  headers:
10
10
  Content-Type:
11
11
  - application/x-www-form-urlencoded
@@ -23,7 +23,7 @@ http_interactions:
23
23
  message: OK
24
24
  headers:
25
25
  Date:
26
- - Fri, 13 Mar 2020 02:42:05 GMT
26
+ - Wed, 18 Mar 2020 05:53:23 GMT
27
27
  Server:
28
28
  - Apache
29
29
  Connection:
@@ -38,8 +38,8 @@ http_interactions:
38
38
  <?xml version="1.0" encoding="UTF-8" ?>
39
39
  <Epsilon_result>
40
40
  <result result="1" />
41
- <result redirect="https%3A%2F%2Fbeta.epsilon.jp%2Fcgi-bin%2Forder%2Fmethod_select3.cgi%3Ftrans_code%3DpShgPaOlX%252Fs55" />
41
+ <result redirect="https%3A%2F%2Fbeta.epsilon.jp%2Fcgi-bin%2Forder%2Fmethod_select3.cgi%3Ftrans_code%3DITL3uKDMlWg41" />
42
42
  </Epsilon_result>
43
43
  http_version: null
44
- recorded_at: Fri, 13 Mar 2020 02:42:05 GMT
44
+ recorded_at: Wed, 18 Mar 2020 05:53:25 GMT
45
45
  recorded_with: VCR 5.1.0
@@ -24,6 +24,7 @@ class RemoteEpsilonConvenienceStoreGatewayTest < MiniTest::Test
24
24
  VCR.use_cassette(:convenience_store_purchase_fail) do
25
25
  response = gateway.purchase(10000, invalid_convenience_store, purchase_detail)
26
26
  assert_equal false, response.success?
27
+ assert_equal true, response.params["error_detail"].valid_encoding?
27
28
  end
28
29
  end
29
30
  end
@@ -24,6 +24,7 @@ class RemoteEpsilonGmoAfterGatewayTest < MiniTest::Test
24
24
  response = gateway.purchase(10000, invalid_purchase_detail)
25
25
 
26
26
  assert_equal false, response.success?
27
+ assert_equal true, response.params["error_detail"].valid_encoding?
27
28
  end
28
29
  end
29
30
  end
@@ -20,6 +20,7 @@ class RemoteEpsilonGmoIdGatewayTest < MiniTest::Test
20
20
  detail = invalid_gmo_id_purchase_detail
21
21
  response = gateway.purchase(200, detail)
22
22
  assert_equal false, response.success?
23
+ assert_equal true, response.params["error_detail"].valid_encoding?
23
24
  end
24
25
  end
25
26
 
@@ -76,6 +76,7 @@ class RemoteEpsilonGatewayTest < MiniTest::Test
76
76
  VCR.use_cassette(:purchase_fail) do
77
77
  response = gateway.purchase(10000, invalid_credit_card, purchase_detail)
78
78
  assert_equal false, response.success?
79
+ assert_equal true, response.params["error_detail"].valid_encoding?
79
80
  end
80
81
  end
81
82
 
@@ -138,6 +139,7 @@ class RemoteEpsilonGatewayTest < MiniTest::Test
138
139
  )
139
140
 
140
141
  assert_equal false, response.success?
142
+ assert_equal true, response.params["error_detail"].valid_encoding?
141
143
  end
142
144
  end
143
145
 
@@ -239,6 +241,7 @@ class RemoteEpsilonGatewayTest < MiniTest::Test
239
241
  invalid_purchase_detail[:user_id] = ''
240
242
  response = gateway.registered_purchase(10000, invalid_purchase_detail)
241
243
  assert_equal false, response.success?
244
+ assert_equal true, response.params["error_detail"].valid_encoding?
242
245
  end
243
246
  end
244
247
 
@@ -31,6 +31,7 @@ class RemoteEpsilonVirtualAccountGatewayTest < MiniTest::Test
31
31
  VCR.use_cassette(:virtual_account_purchase_fail) do
32
32
  response = gateway.purchase(10000, invalid_purchase_detail)
33
33
  assert_equal false, response.success?
34
+ assert_equal true, response.params["error_detail"].valid_encoding?
34
35
  end
35
36
  end
36
- end
37
+ end
@@ -210,20 +210,21 @@ module SamplePaymentMethods
210
210
  now = Time.now
211
211
  {
212
212
  user_id: "U#{Time.now.to_i}",
213
- user_name: 'YAMADA Taro',
213
+ user_name: '山田 太郎',
214
214
  user_email: 'yamada-taro@example.com',
215
+ user_tel: '0312345678',
215
216
  item_code: 'ITEM001',
216
217
  item_name: 'Greate Product',
217
218
  order_number: "O#{now.sec}#{now.usec}",
218
219
  memo1: 'memo1',
219
220
  memo2: 'memo2',
220
- consignee_postal: '1500002',
221
+ consignee_postal: '1000001',
221
222
  consignee_name: 'イプシロンタロウ',
222
- consignee_address: '東京都渋谷区1−1−1',
223
+ consignee_address: '東京都千代田区千代田1番1号',
223
224
  consignee_tel: '0312345678',
224
- orderer_postal: '1500002',
225
+ orderer_postal: '1000001',
225
226
  orderer_name: 'YAMADA Taro',
226
- orderer_address: '東京都渋谷区1-1-1',
227
+ orderer_address: '東京都千代田区千代田11',
227
228
  orderer_tel: '0312345678',
228
229
  }
229
230
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_merchant-epsilon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenichi TAKAHASHI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-13 00:00:00.000000000 Z
11
+ date: 2020-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant