allpay_client 0.0.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9e71e6f61f2ea5a62e48c694640f883125966ff1
4
- data.tar.gz: 5851603bedddfec6ea4f39643095d046e9b8b9f6
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZGVkNGZmMmRkMjgxOWMzNzRlZTI1ODZlYzE3Nzc3ODU0Zjc4ODU5YQ==
5
+ data.tar.gz: !binary |-
6
+ ZTcwNzEzMzI5MDU1NThiNGI0NTQ2ZmFjYTBjZGE4NTQwZDk3YzY1Nw==
5
7
  SHA512:
6
- metadata.gz: e67fb023a81e3de2b388236f573635b865fe8c5e9d94fe02449a3d2a2c9b6cf0fb293a02c48aeedc459c38dfcc1d0ab911332da1881be2878ef20673752bcdca
7
- data.tar.gz: 6b7476079c50b4154c74a5b89bf317ef78d4d8352a1842b3722beadd3b3be804ad041310353386364a3428b2575354d227674802489eb0f0f6e98183acd1ab65
8
+ metadata.gz: !binary |-
9
+ NDFmOWQ5ZTE1NWY0OWU1ZjY5MmQzNjhmOGM1ZDc2NTZiZTYxNTc0OGExNGZk
10
+ ZDgwMWIxNTRlNmYzYTQyNDJjMTliOTU3NjUwZjZhMDk3ZWM2ZGVmODlmNzgy
11
+ N2IxNjMwMDZiZjE4ZTQ2ZjRiZGEwY2I3MzJkYmMwMjFiOWI2Y2Y=
12
+ data.tar.gz: !binary |-
13
+ MjMxMTc1MzQ5NDk0MDNiYmMzMTNmZTRlNGYxMGU2YTZiYmQ2ODZkODdjOTAy
14
+ NDdjNWZlMGM1ZDg0ZTBiMTliYTg3MzE3YTU5N2ViMDlkOWU1MTk0MWVmZDhl
15
+ YTk5MjZkNTQxMzY1YmY2OTA0ZTI2NTg4ZTM5ZmNiYWI4NDA2NTQ=
data/README.md CHANGED
@@ -42,4 +42,13 @@ client.request '/Cashier/QueryTradeInfo',
42
42
  `request(path, **params)` | `Net::HTTPResponse` | 發送 API 請求
43
43
  `make_mac(**params)` | `String` | 用於產生 `CheckMacValue`,單純做加密,`params` 需要完整包含到 `MerchantID`
44
44
  `query_trade_info(merchant_trade_number, platform = nil)` | `Hash` | `/Cashier/QueryTradeInfo` 的捷徑方法,將 `TimeStamp` 設定為當前時間
45
- `query_period_credit_card_trade_info(merchant_trade_number)` | `Hash` | `/Cashier/QueryPeriodCreditCardTradeInfo` 的捷徑方法,將 `TimeStamp` 設定為當前時間
45
+ `query_period_credit_card_trade_info(merchant_trade_number)` | `Hash` | `/Cashier/QueryPeriodCreditCardTradeInfo` 的捷徑方法,將 `TimeStamp` 設定為當前時間
46
+
47
+ ## 使用範例
48
+
49
+ ```bash
50
+ git clone git@github.com:tonytonyjan/allpay.git
51
+ cd allpay
52
+ bundle install
53
+ ruby examples/server.rb
54
+ ```
data/allpay.gemspec CHANGED
@@ -21,4 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.7"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
  spec.add_development_dependency "rspec"
24
+ spec.add_development_dependency "sinatra"
24
25
  end
data/examples/server.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  $: << File.expand_path('../../lib', __FILE__)
2
+ require 'bundler/setup'
2
3
  require 'sinatra'
3
4
  require 'allpay'
4
5
 
data/lib/allpay/client.rb CHANGED
@@ -8,7 +8,11 @@ module Allpay
8
8
 
9
9
  attr_accessor :merchant_id, :hash_key, :hash_iv, :mode
10
10
 
11
- def initialize(merchant_id:, hash_key:, hash_iv:, mode: :production)
11
+ def initialize params = {}
12
+ merchant_id = params[:merchant_id]
13
+ hash_key = params[:hash_key]
14
+ hash_iv = params[:hash_iv]
15
+ mode = params[:mode]
12
16
  @merchant_id, @hash_key, @hash_iv, @mode = merchant_id, hash_key, hash_iv, mode
13
17
  end
14
18
 
@@ -20,14 +24,14 @@ module Allpay
20
24
  end
21
25
  end
22
26
 
23
- def make_mac **params
27
+ def make_mac params = {}
24
28
  raw = params.sort.map!{|k,v| "#{k}=#{v}"}.join('&')
25
29
  padded = "HashKey=#{@hash_key}&#{raw}&HashIV=#{@hash_iv}"
26
30
  url_encoded = CGI.escape(padded).downcase!
27
31
  Digest::MD5.hexdigest(url_encoded).upcase!
28
32
  end
29
33
 
30
- def request path, **params
34
+ def request path, params = {}
31
35
  params[:MerchantID] = @merchant_id
32
36
  params[:CheckMacValue] = make_mac(params)
33
37
  api_url = URI.join(api_host, path)
@@ -1,3 +1,3 @@
1
1
  module Allpay
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.1"
3
3
  end
data/spec/allpay_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require 'spec_helper'
2
3
  require 'securerandom'
3
4
  describe Allpay::Client do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: allpay_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jian Weihang
@@ -14,42 +14,56 @@ dependencies:
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sinatra
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  description: API client for allpay
@@ -59,9 +73,9 @@ executables: []
59
73
  extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
62
- - ".gitignore"
63
- - ".rspec"
64
- - ".travis.yml"
76
+ - .gitignore
77
+ - .rspec
78
+ - .travis.yml
65
79
  - Gemfile
66
80
  - LICENSE.txt
67
81
  - README.md
@@ -84,12 +98,12 @@ require_paths:
84
98
  - lib
85
99
  required_ruby_version: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ">="
101
+ - - ! '>='
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  required_rubygems_version: !ruby/object:Gem::Requirement
91
105
  requirements:
92
- - - ">="
106
+ - - ! '>='
93
107
  - !ruby/object:Gem::Version
94
108
  version: '0'
95
109
  requirements: []
@@ -101,4 +115,3 @@ summary: API client for allpay
101
115
  test_files:
102
116
  - spec/allpay_spec.rb
103
117
  - spec/spec_helper.rb
104
- has_rdoc: