active_merchant_pay2go 0.1.2 → 0.1.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
  SHA1:
3
- metadata.gz: f55bb8d2006a427c075c364acf2a9b200060bcf9
4
- data.tar.gz: 25986d4763d59489305a4a5707849ea3dd806c47
3
+ metadata.gz: d23e9bc1ca09cac881fece50e4e64bfdedc87cc2
4
+ data.tar.gz: 5ff36d0f6871ee64f0ebc9d7e5f980019e91231b
5
5
  SHA512:
6
- metadata.gz: ebff76ca4790061955fcea86f620fc35c33848c21f730bbb9f6efa22f3dbda0e56e6fffe9e111e0c26a57ad0927b3352681c0dc2d1c4887396918ada2886937e
7
- data.tar.gz: ff07d32b3ba5d5bf39f46a2aea661fffcad24d381ff23a2a3badeea421803ddac84c06c7f427196971064b49aa1562178c6923b1c854f6241c01d23e025d9b0c
6
+ metadata.gz: 0c973f9d2cbc1dfcf245b24162fb4e04d0d4ca26240b8bf59222c8b5b3b5921e6118dfc030c77a581302c8c5c76ac4f657c5a32e7943cf45cb37fef2355298f8
7
+ data.tar.gz: b851ecbc935c2ae482168ce92ed47b22b9c9cadad7d16ffa172972552c04d74f07f87b37480c553e508608ddd4e263ba6b42c96a24e8aa59f3171774bab2b5dc
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  test/tmp/*
11
11
  *.gem
12
+ coverage
@@ -1,4 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.3
3
+ - 2.0.0
4
+ - 2.1.5
5
+ - 2.2.4
6
+ - 2.3.0
4
7
  before_install: gem install bundler -v 1.10.6
data/Gemfile CHANGED
@@ -2,3 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in active_merchant_pay2go.gemspec
4
4
  gemspec
5
+
6
+ group 'test' do
7
+ gem 'simplecov', require: false
8
+ gem 'minitest-reporters', require: false
9
+ end
data/README.md CHANGED
@@ -1,11 +1,12 @@
1
+ [![Build Status](https://travis-ci.org/imgarylai/active_merchant_pay2go.svg?branch=master)](https://travis-ci.org/imgarylai/active_merchant_pay2go)
2
+ [![Code Climate](https://codeclimate.com/github/imgarylai/active_merchant_pay2go/badges/gpa.svg)](https://codeclimate.com/github/imgarylai/active_merchant_pay2go)
3
+
1
4
  # ActiveMerchantPay2go
2
5
 
3
6
  This gem integrate Rails with [pay2go(智付寶)](https://www.pay2go.com/).
4
7
 
5
8
  It was inspired by [active_merchant_allpay](https://github.com/xwaynec/active_merchant_allpay).
6
9
 
7
- *WARNING:* This gem is not fully tested.
8
-
9
10
  ## Installation
10
11
 
11
12
  Add this line to your application's Gemfile:
@@ -22,23 +23,30 @@ $ bundle
22
23
 
23
24
  ## Setup
24
25
 
25
- 1. I would suggest reading the [official API](https://www.pay2go.com/dw_files/info_api/pay2go_gateway_MPGapi_V1_1_4.pdf) first.
26
-
27
- 2. Create file `config/initializers/pay2go.rb`
26
+ - I would suggest reading the [official API](https://www.pay2go.com/dw_files/info_api/pay2go_gateway_MPGapi_V1_1_4.pdf) first.
28
27
 
28
+ - Create file `config/initializers/pay2go.rb`
29
29
  ``` sh
30
30
  rails g pay2go:install
31
31
  ```
32
32
 
33
- 3. Environment configuration:
33
+ - Go to Pay2go and get your credential information. Then fill in `config/initializers/pay2go.rb`
34
+ ```rb
35
+ OffsitePayments::Integrations::Pay2go.setup do |pay2go|
36
+ # You have to apply credential below by yourself.
37
+ pay2go.merchant_id = '123456'
38
+ pay2go.hash_key = 'xxx'
39
+ pay2go.hash_iv = 'yyy'
40
+ end
41
+ ```
34
42
 
43
+ - Environment configuration:
35
44
  ```rb
36
45
  # config/environments/development.rb
37
46
  config.after_initialize do
38
47
  ActiveMerchant::Billing::Base.mode = :development
39
48
  end
40
49
  ```
41
-
42
50
  ```rb
43
51
  # config/environments/production.rb
44
52
  config.after_initialize do
@@ -48,30 +56,32 @@ end
48
56
 
49
57
  ## Example
50
58
 
51
- ```rb
59
+ ```
52
60
  <% payment_service_for @order,
53
61
  @order.user.email,
54
62
  service: :pay2go,
55
63
  html: { :id => 'pay2go-form', :method => :post } do |service| %>
56
- <% service.encrypted_data %>
57
64
  <% service.time_stamp @order.created_at %>
58
65
  <% service.merchant_order_no @order.id %>
59
66
  <% service.amt @order.total_amount.to_i %>
60
67
  <% service.item_desc @order.description %>
61
68
  <% service.email @order.user.email %>
62
69
  <% service.login_type 0 %>
70
+ <% service.encrypted_data %>
63
71
  <%= submit_tag '付款' %>
64
72
  <% end %>
65
73
  ```
74
+ This example code only fulfill the min requirements.
75
+
76
+ To customize settings, you should read the documents.
77
+ I put some comments in the [code](https://github.com/imgarylai/active_merchant_pay2go/blob/master/lib/offsite_payments/integrations/pay2go.rb) as well!
66
78
 
67
- To customize settings, you can read the documents.
68
- Or you can read [code](https://github.com/imgarylai/active_merchant_pay2go/blob/master/lib/offsite_payments/integrations/pay2go.rb#L47-L99) here!
79
+ Here is an [example app](https://github.com/imgarylai/rails_active_merchant_pay2go) though it is really rough.
69
80
 
70
81
  ## Contributing
71
82
 
72
83
  Bug reports and pull requests are welcome on GitHub at https://github.com/imgarylai/active_merchant_pay2go. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
73
84
 
74
-
75
85
  ## License
76
86
 
77
87
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -19,12 +19,11 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency 'activemerchant'
23
- spec.add_dependency 'offsite_payments'
22
+ spec.add_dependency 'activemerchant', '~> 1.50'
23
+ spec.add_dependency 'offsite_payments', '~> 2'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.10'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
27
- spec.add_development_dependency 'test-unit', '~> 3.0'
28
27
  spec.add_development_dependency 'rails', '>= 3.2.6', '< 5'
29
28
 
30
29
  end
@@ -2,10 +2,13 @@ require 'action_view'
2
2
  require 'active_merchant_pay2go/version'
3
3
  require 'active_merchant'
4
4
  require 'offsite_payments'
5
+ require 'active_support/core_ext/string'
6
+ require 'uri'
5
7
 
6
8
  module OffsitePayments
7
9
  module Integrations
8
10
  autoload :Pay2go, 'offsite_payments/integrations/pay2go'
11
+ autoload :Pay2goPeriod, 'offsite_payments/integrations/pay2go_period'
9
12
  end
10
13
  end
11
14
 
@@ -1,3 +1,3 @@
1
1
  module ActiveMerchantPay2go
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -10,6 +10,10 @@ module Pay2go
10
10
  template "pay2go.rb", "config/initializers/pay2go.rb"
11
11
  end
12
12
 
13
+ def show_readme
14
+ readme "README" if behavior == :invoke
15
+ end
16
+
13
17
  end
14
18
  end
15
19
  end
@@ -0,0 +1,11 @@
1
+ ===============================================================================
2
+
3
+ Please check and setup your `config/initializers/pay2go.rb`
4
+
5
+ OffsitePayments::Integrations::Pay2go.setup do |pay2go|
6
+ pay2go.merchant_id =
7
+ pay2go.hash_key =
8
+ pay2go.hash_iv =
9
+ end
10
+
11
+ ===============================================================================
@@ -7,20 +7,8 @@ module OffsitePayments #:nodoc:
7
7
 
8
8
  VERSION = '1.2'
9
9
  RESPOND_TYPE = 'String'
10
- CHECK_VALUE_FIELDS = [
11
- 'Amt',
12
- 'MerchantID',
13
- 'MerchantOrderNo',
14
- 'TimeStamp',
15
- 'Version'
16
- ]
17
-
18
- CHECK_CODE_FIELDS = [
19
- 'Amt',
20
- 'MerchantID',
21
- 'MerchantOrderNo',
22
- 'TradeNo'
23
- ]
10
+ CHECK_VALUE_FIELDS = %w(Amt MerchantID MerchantOrderNo TimeStamp Version)
11
+ CHECK_CODE_FIELDS = %w(Amt MerchantID MerchantOrderNo TradeNo)
24
12
 
25
13
  mattr_accessor :service_url
26
14
  mattr_accessor :merchant_id
@@ -51,58 +39,17 @@ module OffsitePayments #:nodoc:
51
39
  end
52
40
 
53
41
  class Helper < OffsitePayments::Helper
54
- # 商店代號 *
55
- mapping :merchant_id, 'MerchantID'
42
+ FIELDS = %w(
43
+ MerchantID LangType MerchantOrderNo Amt ItemDesc TradeLimit ExpireDate ReturnURL NotifyURL CustomerURL
44
+ ClientBackURL Email EmailModify LoginType OrderComment CREDIT CreditRed InstFlag UNIONPAY WEBATM VACC
45
+ CVS BARCODE CUSTOM TokenTerm
46
+ )
47
+
48
+ FIELDS.each do |field|
49
+ mapping field.underscore.to_sym, field
50
+ end
56
51
  mapping :account, 'MerchantID' # AM common
57
- # 語系
58
- mapping :lang_type, 'LangType'
59
- # 廠商交易編號 *
60
- mapping :merchant_order_no, 'MerchantOrderNo'
61
- # 交易金額
62
- mapping :amt, 'Amt'
63
52
  mapping :amount, 'Amt' # AM common
64
- # 商品資訊 *
65
- mapping :item_desc, 'ItemDesc'
66
- # 交易限制秒數
67
- mapping :trade_limit, 'TradeLimit'
68
- # 繳費有效期限(適用於非即時交易))
69
- mapping :expire_date, 'ExpireDate'
70
- # 支付完成返回商店網址
71
- mapping :return_url, 'ReturnURL'
72
- # 支付通知網址
73
- mapping :notify_url, 'NotifyURL'
74
- # CustomerURL
75
- mapping :customer_url, 'CustomerURL'
76
- # Client 端返回廠商網址
77
- mapping :client_back_url, 'ClientBackURL'
78
- # 付款人電子信箱 *
79
- mapping :email, 'Email'
80
- # 付款人電子信箱是否開放修改
81
- mapping :email_modify, 'EmailModify'
82
- # 智付寶會員 *
83
- mapping :login_type, 'LoginType'
84
- # 商店備註
85
- mapping :order_comment, 'OrderComment'
86
- # 信用卡一次付清啟用
87
- mapping :credit ,'CREDIT'
88
- # 信用卡紅利啟用
89
- mapping :credit_red, 'CreditRed'
90
- # 信用卡分期付款啟用
91
- mapping :inst_flag ,'InstFlag'
92
- # 信用卡銀聯卡啟用
93
- mapping :unionpay ,'UNIONPAY'
94
- # WEBATM 啟用
95
- mapping :webatm, 'WEBATM'
96
- # ATM 轉帳啟用
97
- mapping :vacc, 'VACC'
98
- # 超商代碼繳費啟用
99
- mapping :cvs, 'CVS'
100
- # 條碼繳費啟用
101
- mapping :barcode, 'BARCODE'
102
- # 自訂支付啟用
103
- mapping :custom, 'CUSTOM'
104
- # 快速結帳 *
105
- mapping :token_term, 'TokenTerm'
106
53
 
107
54
  def initialize(order, account, options = {})
108
55
  super
@@ -116,23 +63,30 @@ module OffsitePayments #:nodoc:
116
63
  end
117
64
 
118
65
  def encrypted_data
119
- raw_data = OffsitePayments::Integrations::Pay2go::CHECK_VALUE_FIELDS.sort.map { |field|
120
- "#{field}=#{@fields[field]}"
121
- }.join('&')
66
+ raw_data = URI.encode_www_form OffsitePayments::Integrations::Pay2go::CHECK_VALUE_FIELDS.sort.map { |field|
67
+ [field, @fields[field]]
68
+ }
122
69
 
123
70
  hash_raw_data = "HashKey=#{OffsitePayments::Integrations::Pay2go.hash_key}&#{raw_data}&HashIV=#{OffsitePayments::Integrations::Pay2go.hash_iv}"
124
-
125
- binding.pry if OffsitePayments::Integrations::Pay2go.debug
126
-
127
71
  add_field 'CheckValue', Digest::SHA256.hexdigest(hash_raw_data).upcase
128
72
  end
129
-
130
73
  end
131
74
 
132
75
  class Notification < OffsitePayments::Notification
76
+ PARAMS_FIELDS = %w(
77
+ Status Message MerchantID Amt TradeNo MerchantOrderNo PaymentType RespondType CheckCode PayTime IP
78
+ EscrowBank TokenUseStatus RespondCode Auth Card6No Card4No Inst InstFirst InstEach ECI PayBankCode
79
+ PayerAccount5Code CodeNo BankCode Barcode_1 Barcode_2 Barcode_3 ExpireDate CheckCode
80
+ )
81
+
82
+ PARAMS_FIELDS.each do |field|
83
+ define_method field.underscore do
84
+ @params[field]
85
+ end
86
+ end
133
87
 
134
88
  def success?
135
- @params['Status'] == 'SUCCESS' ? true : false
89
+ status == 'SUCCESS'
136
90
  end
137
91
 
138
92
  # TODO 使用查詢功能實作 acknowledge
@@ -143,160 +97,17 @@ module OffsitePayments #:nodoc:
143
97
  end
144
98
 
145
99
  def complete?
146
- case @params['Status']
147
- when 'SUCCESS'
148
- true
149
- when 'CUSTOM'
150
- true
151
- else
152
- false
153
- end
100
+ %w(SUCCESS CUSTOM).include? status
154
101
  end
155
102
 
156
103
  def checksum_ok?
157
- params_copy = @params.clone
158
-
159
- checksum = params_copy['CheckCode']
160
-
161
- raw_data = OffsitePayments::Integrations::Pay2go::CHECK_CODE_FIELDS.sort.map { |field|
162
- "#{field}=#{params_copy[field]}"
163
- }.join('&')
104
+ raw_data = URI.encode_www_form OffsitePayments::Integrations::Pay2go::CHECK_CODE_FIELDS.sort.map { |field|
105
+ [field, @params[field]]
106
+ }
164
107
 
165
108
  hash_raw_data = "HashIV=#{OffsitePayments::Integrations::Pay2go.hash_iv}&#{raw_data}&HashKey=#{OffsitePayments::Integrations::Pay2go.hash_key}"
166
-
167
- Digest::SHA256.hexdigest(hash_raw_data).upcase == checksum
168
- end
169
-
170
- def status
171
- @params['Status']
172
- end
173
-
174
- def message
175
- @params['Message']
176
- end
177
-
178
- def merchant_id
179
- @params['MerchantID']
180
- end
181
-
182
- def amt
183
- @params['Amt']
184
- end
185
-
186
- def trade_no
187
- @params['TradeNo']
188
- end
189
-
190
- def merchant_order_no
191
- @params['MerchantOrderNo']
192
- end
193
-
194
- def payment_type
195
- @params['PaymentType']
196
- end
197
-
198
- def respond_type
199
- @params['RespondType']
200
- end
201
-
202
- def check_code
203
- @params['CheckCode']
204
- end
205
-
206
- # 所有支付方式共同回傳參數
207
-
208
- def pay_time
209
- @params['PayTime']
210
- end
211
-
212
- def ip
213
- @params['IP']
214
- end
215
-
216
- def escrow_bank
217
- @params['EscrowBank']
218
- end
219
-
220
- def token_use_status
221
- @params['TokenUseStatus']
109
+ Digest::SHA256.hexdigest(hash_raw_data).upcase == check_code
222
110
  end
223
-
224
- # 信用卡支付回傳參數
225
-
226
- def respond_code
227
- @params['RespondCode']
228
- end
229
-
230
- def auth
231
- @params['Auth']
232
- end
233
-
234
- def card_6_no
235
- @params['Card6No']
236
- end
237
-
238
- def card_4_no
239
- @params['Card4No']
240
- end
241
-
242
- def inst
243
- @params['Inst']
244
- end
245
-
246
- def inst_first
247
- @params['InstFirst']
248
- end
249
-
250
- def inst_each
251
- @params['InstEach']
252
- end
253
-
254
- def eci
255
- @params['ECI']
256
- end
257
-
258
- # WEBATM、ATM 繳費回傳參數
259
-
260
- def pay_bank_code
261
- @params['PayBankCode']
262
- end
263
-
264
- def payer_account_5_code
265
- @params['PayerAccount5Code']
266
- end
267
-
268
- # 超商代碼繳費回傳參數
269
-
270
- def code_no
271
- @params['CodeNo']
272
- end
273
-
274
- # ATM 轉帳回傳參數
275
- def bank_code
276
- @params['BankCode']
277
- end
278
-
279
-
280
- # 條碼繳費回傳參數
281
-
282
- def barcode_1
283
- @params['Barcode_1']
284
- end
285
-
286
- def barcode_2
287
- @params['Barcode_2']
288
- end
289
-
290
- def barcode_3
291
- @params['Barcode_3']
292
- end
293
-
294
- # 取號完成系統回傳參數
295
-
296
- def expire_date
297
- @params['ExpireDate']
298
- end
299
-
300
111
  end
301
112
  end
302
113
  end
@@ -0,0 +1,112 @@
1
+ # encoding: utf-8
2
+ require 'digest'
3
+
4
+ module OffsitePayments #:nodoc:
5
+ module Integrations #:nodoc:
6
+ module Pay2goPeriod
7
+
8
+ VERSION = '1.0'
9
+ RESPOND_TYPE = 'String'
10
+ CHECK_VALUE_FIELDS = %w(PeriodAmt MerchantID MerchantOrderNo TimeStamp PeriodType)
11
+ CHECK_CODE_FIELDS = %w(PeriodType MerchantID MerchantOrderNo)
12
+
13
+ mattr_accessor :service_url
14
+ mattr_accessor :merchant_id
15
+ mattr_accessor :hash_key
16
+ mattr_accessor :hash_iv
17
+ mattr_accessor :debug
18
+
19
+ def self.service_url
20
+ mode = ActiveMerchant::Billing::Base.mode
21
+ case mode
22
+ when :production
23
+ 'https://api.pay2go.com/API/PeriodAPI'
24
+ when :development
25
+ 'https://capi.pay2go.com/API/PeriodAPI'
26
+ when :test
27
+ 'https://capi.pay2go.com/API/PeriodAPI'
28
+ else
29
+ raise StandardError, "Integration mode set to an invalid value: #{mode}"
30
+ end
31
+ end
32
+
33
+ def self.notification(post)
34
+ Notification.new(post)
35
+ end
36
+
37
+ def self.setup
38
+ yield(self)
39
+ end
40
+
41
+ class Helper < OffsitePayments::Helper
42
+ FIELDS = %w(
43
+ MerchantID MerchantOrderNo PeriodAmt ProdDesc PeriodAmtMode PeriodType PeriodPoint PeriodStartType
44
+ PeriodTimes ReturnURL ProDetail PeriodMemo PaymentInfo OrderInfo InvoiceInfo NotifyURL
45
+ )
46
+
47
+ FIELDS.each do |field|
48
+ mapping field.underscore.to_sym, field
49
+ end
50
+ mapping :account, 'MerchantID' # AM common
51
+
52
+ def initialize(order, account, options = {})
53
+ super
54
+ add_field 'MerchantID', OffsitePayments::Integrations::Pay2go.merchant_id
55
+ add_field 'Version', OffsitePayments::Integrations::Pay2goPeriod::VERSION
56
+ add_field 'RespondType', OffsitePayments::Integrations::Pay2goPeriod::RESPOND_TYPE
57
+ end
58
+
59
+ def time_stamp(date)
60
+ add_field 'TimeStamp', date.to_time.to_i
61
+ end
62
+
63
+ def encrypted_data
64
+ raw_data = URI.encode_www_form OffsitePayments::Integrations::Pay2goPeriod::CHECK_VALUE_FIELDS.sort.map { |field|
65
+ [field, @fields[field]]
66
+ }
67
+
68
+ hash_raw_data = "HashKey=#{OffsitePayments::Integrations::Pay2go.hash_key}&#{raw_data}&HashIV=#{OffsitePayments::Integrations::Pay2go.hash_iv}"
69
+ add_field 'CheckValue', Digest::SHA256.hexdigest(hash_raw_data).upcase
70
+ end
71
+
72
+ end
73
+
74
+ class Notification < OffsitePayments::Notification
75
+ PARAMS_FIELDS = %w(
76
+ Status Message MerchantID MerchantOrderNo PeriodType authDate authTime dateArray PeriodTotalAmt
77
+ PeriodFirstAmt PeriodAmt CheckCode
78
+ )
79
+
80
+ PARAMS_FIELDS.each do |field|
81
+ define_method field.underscore do
82
+ @params[field]
83
+ end
84
+ end
85
+
86
+ def success?
87
+ status == 'SUCCESS'
88
+ end
89
+
90
+ # TODO 使用查詢功能實作 acknowledge
91
+ # Pay2go 沒有遠端驗證功能,
92
+ # 而以 checksum_ok? 代替
93
+ def acknowledge
94
+ checksum_ok?
95
+ end
96
+
97
+ def complete?
98
+ %w(SUCCESS CUSTOM).include? status
99
+ end
100
+
101
+ def checksum_ok?
102
+ raw_data = URI.encode_www_form OffsitePayments::Integrations::Pay2goPeriod::CHECK_CODE_FIELDS.sort.map { |field|
103
+ [field, @params[field]]
104
+ }
105
+
106
+ hash_raw_data = "HashIV=#{OffsitePayments::Integrations::Pay2go.hash_iv}&#{raw_data}&HashKey=#{OffsitePayments::Integrations::Pay2go.hash_key}"
107
+ Digest::SHA256.hexdigest(hash_raw_data).upcase == check_code
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_merchant_pay2go
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gary
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-29 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.50'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.50'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: offsite_payments
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
- - !ruby/object:Gem::Dependency
70
- name: test-unit
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rails
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -120,8 +106,10 @@ files:
120
106
  - lib/active_merchant_pay2go.rb
121
107
  - lib/active_merchant_pay2go/version.rb
122
108
  - lib/generators/pay2go/install_generator.rb
109
+ - lib/generators/pay2go/templates/README
123
110
  - lib/generators/pay2go/templates/pay2go.rb
124
111
  - lib/offsite_payments/integrations/pay2go.rb
112
+ - lib/offsite_payments/integrations/pay2go_period.rb
125
113
  homepage: https://github.com/imgarylai/active_merchant_pay2go
126
114
  licenses:
127
115
  - MIT
@@ -142,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
130
  version: '0'
143
131
  requirements: []
144
132
  rubyforge_project:
145
- rubygems_version: 2.4.5.1
133
+ rubygems_version: 2.5.1
146
134
  signing_key:
147
135
  specification_version: 4
148
136
  summary: pay2go(智付寶) gem