japan_net_bank 0.0.2 → 0.0.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 +4 -4
- data/README.md +17 -0
- data/lib/japan_net_bank/transfer.rb +17 -1
- data/lib/japan_net_bank/version.rb +1 -1
- data/lib/japan_net_bank.rb +1 -0
- data/spec/japan_net_bank/transfer_spec.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5101a750182d7f4f27383be795e6e5208732c5c6
|
4
|
+
data.tar.gz: f1c9a6a639696c052c677be8e2c80099190c1d47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38e94b58ce4048e8f31a2268cda03f4c403be22585741ec83d731ee3874bde19b0885530099b73c891d842503abc8a7c46866ae0dba096e01f6910c465bcb7be
|
7
|
+
data.tar.gz: ff5fca00e42a98d4d5ea3c91b7f88cc9b390e986dd504111d7eb499d454e102ed225ba7d35ce0662c026afd9f8c5a60c700c7e0a8858aaf9d6565db9e425fd6d
|
data/README.md
CHANGED
@@ -23,6 +23,12 @@
|
|
23
23
|
* [操作説明|WEB総振|BA-PLUSオプションサービス|BA-PLUS|ビジネスでのご利用|ジャパンネット銀行](http://www.japannetbank.co.jp/business/baplus/service/web_all/manual.html)
|
24
24
|
* [csv_explain.pdf](http://www.japannetbank.co.jp/service/payment/web_all/csv_explain.pdf)
|
25
25
|
|
26
|
+
また、下記に基づいて振込手数料を算出できます。
|
27
|
+
|
28
|
+
* http://www.japannetbank.co.jp/web_all_baplus_manual.pdf
|
29
|
+
* 現在、組戻手数料には対応していません
|
30
|
+
* 手数料の変更には追随していく方針ですが、追随が遅れる可能性があります
|
31
|
+
|
26
32
|
## Installation
|
27
33
|
|
28
34
|
Add this line to your application's Gemfile:
|
@@ -39,6 +45,8 @@ Or install it yourself as:
|
|
39
45
|
|
40
46
|
## Usage
|
41
47
|
|
48
|
+
### 振込用 CSV を生成
|
49
|
+
|
42
50
|
```ruby
|
43
51
|
transfer_data = [
|
44
52
|
{
|
@@ -64,3 +72,12 @@ csv_string = JapanNetBank::Transfer.new(transfer_data).to_csv
|
|
64
72
|
|
65
73
|
puts csv_string #=> "1,0123,012,1,0123456,サトウキテコ,1600\r\n1,0999,099,1,0999999,サトウハナコ,3200\r\n2,,,,,2,4800\r\n"
|
66
74
|
```
|
75
|
+
|
76
|
+
### 振込手数料を算出
|
77
|
+
|
78
|
+
```ruby
|
79
|
+
transfer_fee = JapanNetBank::Transfer.fee_for(bank_code: '0123', amount: 30_000)
|
80
|
+
# or JNB::Transfer.fee_for(bank_code: '0123', amount: 30_000)
|
81
|
+
|
82
|
+
puts transfer_fee #=> 270
|
83
|
+
```
|
@@ -5,6 +5,22 @@ module JapanNetBank
|
|
5
5
|
class Transfer
|
6
6
|
attr_reader :rows_count, :total_amount, :rows
|
7
7
|
|
8
|
+
FEE_TO_JAPAN_NET_BANK = 54
|
9
|
+
FEE_FOR_AMOUNT_UNDER_30_000 = 172
|
10
|
+
FEE_FOR_AMOUNT_AND_OVER_30_000 = 270
|
11
|
+
|
12
|
+
def self.fee_for(bank_code: nil, amount: nil)
|
13
|
+
raise ArgumentError if bank_code.nil? || amount.nil?
|
14
|
+
|
15
|
+
if bank_code == JapanNetBank::BANK_CODE
|
16
|
+
FEE_TO_JAPAN_NET_BANK
|
17
|
+
elsif amount < 30_000
|
18
|
+
FEE_FOR_AMOUNT_UNDER_30_000
|
19
|
+
elsif amount >= 30_000
|
20
|
+
FEE_FOR_AMOUNT_AND_OVER_30_000
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
8
24
|
def initialize(rows)
|
9
25
|
@rows = []
|
10
26
|
@rows_count = 0
|
@@ -30,9 +46,9 @@ module JapanNetBank
|
|
30
46
|
private
|
31
47
|
|
32
48
|
def append_row(row)
|
49
|
+
@rows << JapanNetBank::Transfer::Row.new(row).to_a
|
33
50
|
@rows_count += 1
|
34
51
|
@total_amount += row[:amount].to_i
|
35
|
-
@rows << JapanNetBank::Transfer::Row.new(row).to_a
|
36
52
|
end
|
37
53
|
|
38
54
|
def add_trailer_row
|
data/lib/japan_net_bank.rb
CHANGED
@@ -27,6 +27,31 @@ describe JapanNetBank::Transfer do
|
|
27
27
|
let(:rows) { [row_hash1, row_hash2] }
|
28
28
|
let(:transfer) { JapanNetBank::Transfer.new(rows) }
|
29
29
|
|
30
|
+
describe 'self.fee_for' do
|
31
|
+
context 'ジャパンネット銀行への振込のとき' do
|
32
|
+
it '振込手数料を取得できる' do
|
33
|
+
transfer_fee = JapanNetBank::Transfer.fee_for(bank_code: JapanNetBank::BANK_CODE, amount: 3200)
|
34
|
+
expect(transfer_fee).to eq JapanNetBank::Transfer::FEE_TO_JAPAN_NET_BANK
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'ジャパンネット銀行以外への振込のとき' do
|
39
|
+
context '30,000円未満の振込のとき' do
|
40
|
+
it '振込手数料を取得できる' do
|
41
|
+
transfer_fee = JapanNetBank::Transfer.fee_for(bank_code: '0123', amount: 29_999)
|
42
|
+
expect(transfer_fee).to eq JapanNetBank::Transfer::FEE_FOR_AMOUNT_UNDER_30_000
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context '30,000円以上の振込のとき' do
|
47
|
+
it '振込手数料を取得できる' do
|
48
|
+
transfer_fee = JapanNetBank::Transfer.fee_for(bank_code: '0123', amount: 30_000)
|
49
|
+
expect(transfer_fee).to eq JapanNetBank::Transfer::FEE_FOR_AMOUNT_AND_OVER_30_000
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
30
55
|
describe '#initialize' do
|
31
56
|
context '振込データが正しいとき' do
|
32
57
|
it 'トレーラー行が追加されたデータを生成できる' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: japan_net_bank
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- INOUE Takuya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|