active_merchant-epsilon 0.9.2 → 0.9.3

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
  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