active_merchant-epsilon 0.11.0 → 0.12.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a03c39c4cec54b9fc58239c06fa68f6cc744f23eae1f24d1d358adee4b9690d
4
- data.tar.gz: ad13565004a9be017201bf3e7943119f454ce02e15de7525b862842a6d826181
3
+ metadata.gz: ca6ef67e1e4a642d9396edeb901120bec894ec43254821f6d7a5aa793dc18550
4
+ data.tar.gz: 80a96286669e5f389c0806f7f35b3ea72fc37e437116d3a0620ac7e919544bbb
5
5
  SHA512:
6
- metadata.gz: bb9788ea30e77a481f94435e89b82469a96bc66a385e7a0cc73a8f581487dc0129f148e53e2fc9a7114edf632a2cf2b11d1d189c52e53deb899b70b925225989
7
- data.tar.gz: 527de254d4c3e0d64bdcbb067c10f6ff6428a007b920742125288e33e6362d22f89d16ab0c0356cc4046ffb1c4ab35037b30492f56174b2d73c2a40d761f5ad0
6
+ metadata.gz: cfcca339864f03676b21d1404d3f034c9e374185b7ea63b00ef41cfce0d3a050284eff21d826ac13060d7e190bfa061caf79f37e6b91396e7ec92d35e242ca76
7
+ data.tar.gz: 9f34fb7ae71ac00e59840b9c6608a0dd934d46c9c8e771f48a9cdd700ac63cddd4ce901d31f3dd5d107492698d6eea17f757262db01d09512d20a698200e5785
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ### 0.12.0
4
+
5
+ - [Add Parameter `delivery_info_required` to purchase method for Epsilon Link Payment](https://github.com/pepabo/active_merchant-epsilon/pull/116)
6
+
3
7
  ### 0.11.0
4
8
 
5
9
  - [Add void mehotd for Epsilon Link Payment](https://github.com/pepabo/active_merchant-epsilon/pull/114)
data/README.md CHANGED
@@ -307,6 +307,10 @@ end
307
307
  EpsilosLinkPaymentGateway is available in all link payments.
308
308
  For example, GMO Payment After Delivery.
309
309
 
310
+ If you don't need to send paramaters of delivery information details(e.g. consignee_postal, consignee_name, orderer_postal, and orderer_name), you set `delivery_info_required` to `false`.
311
+
312
+ Default value of `delivery_info_required` is `true`, therefore you must set delivery information details to purchase_detail When you don't set `delivery_info_required`.
313
+
310
314
  ```ruby
311
315
  ActiveMerchant::Billing::EpsilonLinkPaymentGateway.contract_code = 'YOUR_CONTRACT_CODE'
312
316
 
@@ -335,7 +339,9 @@ purchase_detail = {
335
339
  memo2: 'memo2',
336
340
  }
337
341
 
338
- response = gateway.purchase(amount, purchase_detail)
342
+ delivery_info_required = true
343
+
344
+ response = gateway.purchase(amount, purchase_detail, delivery_info_required)
339
345
 
340
346
  if response.success?
341
347
  puts "Successfully send order data"
@@ -6,7 +6,7 @@ module ActiveMerchant #:nodoc:
6
6
  :redirect,
7
7
  ]
8
8
 
9
- def purchase(amount, detail = {})
9
+ def purchase(amount, detail = {}, delivery_info_required = true)
10
10
  params = {
11
11
  contract_code: self.contract_code,
12
12
  user_id: detail[:user_id],
@@ -20,17 +20,21 @@ module ActiveMerchant #:nodoc:
20
20
  item_price: amount,
21
21
  process_code: EpsilonProcessCode::FIRST,
22
22
  xml: 1, # 応答形式。1: xml形式を固定
23
- delivery_code: 99, # 配送区分。99で固定
24
- consignee_postal: detail[:consignee_postal],
25
- consignee_name: detail[:consignee_name],
26
- consignee_address: detail[:consignee_address],
27
- consignee_tel: detail[:consignee_tel],
28
- orderer_postal: detail[:orderer_postal],
29
- orderer_name: detail[:orderer_name],
30
- orderer_address: detail[:orderer_address],
31
- orderer_tel: detail[:orderer_tel],
32
23
  }
33
24
 
25
+ # 注文情報の詳細が必要な場合のみ、セットする
26
+ if delivery_info_required
27
+ params[:delivery_code] = 99 # 配送区分。99で固定
28
+ params[:consignee_postal] = detail[:consignee_postal]
29
+ params[:consignee_name] = detail[:consignee_name]
30
+ params[:consignee_address] = detail[:consignee_address]
31
+ params[:consignee_tel] = detail[:consignee_tel]
32
+ params[:orderer_postal] = detail[:orderer_postal]
33
+ params[:orderer_name] = detail[:orderer_name]
34
+ params[:orderer_address] = detail[:orderer_address]
35
+ params[:orderer_tel] = detail[:orderer_tel]
36
+ end
37
+
34
38
  params[:memo1] = detail[:memo1] if detail.has_key?(:memo1)
35
39
  params[:memo2] = detail[:memo2] if detail.has_key?(:memo2)
36
40
  params[:user_tel] = detail[:user_tel] if detail.has_key?(:user_tel)
@@ -1,5 +1,5 @@
1
1
  module ActiveMerchant
2
2
  module Epsilon
3
- VERSION = "0.11.0"
3
+ VERSION = "0.12.0"
4
4
  end
5
5
  end
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://beta.epsilon.jp/cgi-bin/order/receive_order3.cgi
6
+ body:
7
+ encoding: UTF-8
8
+ string: contract_code=[CONTRACT_CODE]&user_id=U1599198756&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=O36528472&st_code=00000-0000-01000-00000-00000-00000-00000&mission_code=1&item_price=10000&process_code=1&xml=1&memo1=memo1&memo2=memo2
9
+ headers:
10
+ Content-Type:
11
+ - application/x-www-form-urlencoded
12
+ Connection:
13
+ - close
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Fri, 04 Sep 2020 05:52:36 GMT
27
+ Server:
28
+ - Apache
29
+ Connection:
30
+ - close
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Content-Type:
34
+ - text/xml
35
+ body:
36
+ encoding: UTF-8
37
+ string: |
38
+ <?xml version="1.0" encoding="UTF-8" ?>
39
+ <Epsilon_result>
40
+ <result result="1" />
41
+ <result redirect="https%3A%2F%2Fbeta.epsilon.jp%2Fcgi-bin%2Forder%2Fmethod_select3.cgi%3Ftrans_code%3DRewAwZ7Jm3Y91" />
42
+ </Epsilon_result>
43
+ recorded_at: Fri, 04 Sep 2020 05:52:37 GMT
44
+ recorded_with: VCR 6.0.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=U1594794223&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=O43585140&st_code=00000-0000-01000-00000-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
8
+ string: contract_code=[CONTRACT_CODE]&user_id=U1599198757&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=O37739738&st_code=00000-0000-01000-00000-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
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
- - Wed, 15 Jul 2020 06:23:43 GMT
26
+ - Fri, 04 Sep 2020 05:52:38 GMT
27
27
  Server:
28
28
  - Apache
29
29
  Connection:
@@ -38,7 +38,7 @@ 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%3D1Mj2rD9EYR099" />
41
+ <result redirect="https%3A%2F%2Fbeta.epsilon.jp%2Fcgi-bin%2Forder%2Fmethod_select3.cgi%3Ftrans_code%3DIOnPh3Psm7k86" />
42
42
  </Epsilon_result>
43
- recorded_at: Wed, 15 Jul 2020 06:23:44 GMT
43
+ recorded_at: Fri, 04 Sep 2020 05:52:38 GMT
44
44
  recorded_with: VCR 6.0.0
@@ -6,8 +6,8 @@ class RemoteEpsilonLinkPaymentTest < MiniTest::Test
6
6
  @gateway ||= ActiveMerchant::Billing::EpsilonLinkPaymentGateway.new
7
7
  end
8
8
 
9
- def test_epsilon_link_type_purchase_successfull
10
- VCR.use_cassette(:epsilon_link_type_purchase_successfull) do
9
+ def test_epsilon_link_type_purchase_successful
10
+ VCR.use_cassette(:epsilon_link_type_purchase_successful) do
11
11
  response = gateway.purchase(10000, valid_epsilon_link_type_purchase_detail)
12
12
 
13
13
  assert_equal true, response.success?
@@ -15,6 +15,15 @@ class RemoteEpsilonLinkPaymentTest < MiniTest::Test
15
15
  end
16
16
  end
17
17
 
18
+ def test_epsilon_link_type_not_sending_delivery_information_purchase_successful
19
+ VCR.use_cassette(:epsilon_link_type_not_sending_delivery_information_purchase_successful) do
20
+ response = gateway.purchase(10000, valid_epsilon_link_type_not_sending_delivery_information_purchase_detail, false)
21
+
22
+ assert_equal true, response.success?
23
+ assert_equal true, !response.params['redirect'].empty?
24
+ end
25
+ end
26
+
18
27
  def test_epsilon_link_type_purchase_fail
19
28
  VCR.use_cassette(:epsilon_link_type_purchase_fail) do
20
29
  response = gateway.purchase(10000, invalid_epsilon_link_type_purchase_detail)
@@ -253,6 +253,21 @@ module SamplePaymentMethods
253
253
  }
254
254
  end
255
255
 
256
+ def valid_epsilon_link_type_not_sending_delivery_information_purchase_detail
257
+ now = Time.now
258
+ {
259
+ user_id: "U#{Time.now.to_i}",
260
+ user_name: '山田 太郎',
261
+ user_email: 'yamada-taro@example.com',
262
+ item_code: 'ITEM001',
263
+ item_name: 'Greate Product',
264
+ order_number: "O#{now.sec}#{now.usec}",
265
+ st_code: '00000-0000-01000-00000-00000-00000-00000',
266
+ memo1: 'memo1',
267
+ memo2: 'memo2',
268
+ }
269
+ end
270
+
256
271
  def invalid_epsilon_link_type_purchase_detail
257
272
  now = Time.now
258
273
  {
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.11.0
4
+ version: 0.12.0
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-07-27 00:00:00.000000000 Z
11
+ date: 2020-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -188,8 +188,9 @@ files:
188
188
  - test/fixtures/vcr_cassettes/change_recurring_amount_successful.yml
189
189
  - test/fixtures/vcr_cassettes/convenience_store_purchase_fail.yml
190
190
  - test/fixtures/vcr_cassettes/convenience_store_purchase_successful.yml
191
+ - test/fixtures/vcr_cassettes/epsilon_link_type_not_sending_delivery_information_purchase_successful.yml
191
192
  - test/fixtures/vcr_cassettes/epsilon_link_type_purchase_fail.yml
192
- - test/fixtures/vcr_cassettes/epsilon_link_type_purchase_successfull.yml
193
+ - test/fixtures/vcr_cassettes/epsilon_link_type_purchase_successful.yml
193
194
  - test/fixtures/vcr_cassettes/epsilon_link_type_void_fail.yml
194
195
  - test/fixtures/vcr_cassettes/epsilon_link_type_void_successfull.yml
195
196
  - test/fixtures/vcr_cassettes/find_order_failure.yml
@@ -269,8 +270,9 @@ test_files:
269
270
  - test/fixtures/vcr_cassettes/change_recurring_amount_successful.yml
270
271
  - test/fixtures/vcr_cassettes/convenience_store_purchase_fail.yml
271
272
  - test/fixtures/vcr_cassettes/convenience_store_purchase_successful.yml
273
+ - test/fixtures/vcr_cassettes/epsilon_link_type_not_sending_delivery_information_purchase_successful.yml
272
274
  - test/fixtures/vcr_cassettes/epsilon_link_type_purchase_fail.yml
273
- - test/fixtures/vcr_cassettes/epsilon_link_type_purchase_successfull.yml
275
+ - test/fixtures/vcr_cassettes/epsilon_link_type_purchase_successful.yml
274
276
  - test/fixtures/vcr_cassettes/epsilon_link_type_void_fail.yml
275
277
  - test/fixtures/vcr_cassettes/epsilon_link_type_void_successfull.yml
276
278
  - test/fixtures/vcr_cassettes/find_order_failure.yml