iamport 0.2.4 → 0.3.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 +4 -4
- data/.rspec +3 -0
- data/iamport.gemspec +6 -2
- data/lib/iamport.rb +58 -35
- data/lib/iamport/version.rb +1 -1
- metadata +31 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bf4f72e12ec0e2934d5360a53bd791d9ca90c0fd
|
|
4
|
+
data.tar.gz: 8022472876352a487c75f1225df49f712b70fc57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1efbae76a056af37b05968c9076b93a070d47ca9476e242790694b4e9f4a1103b6995a40fea244f73dba3747a5f44d9b0d40b3761745c0cde332c5a8fa109922
|
|
7
|
+
data.tar.gz: 83dfa92092969084ce8cb37dfdb71e5b2ed4ea6b0f89abc633356d39b1f1a53b07aac706f6b0f09e12636bc9186903bd059ccd2eb3311eca58108653055a7bf4
|
data/.rspec
ADDED
data/iamport.gemspec
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
4
|
+
|
|
3
5
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require
|
|
6
|
+
require "iamport/version"
|
|
5
7
|
|
|
6
8
|
Gem::Specification.new do |spec|
|
|
7
9
|
spec.name = "iamport"
|
|
@@ -22,6 +24,8 @@ Gem::Specification.new do |spec|
|
|
|
22
24
|
spec.add_development_dependency "bundler", "~> 1.10"
|
|
23
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
24
26
|
spec.add_development_dependency "rspec"
|
|
27
|
+
spec.add_development_dependency "pry"
|
|
28
|
+
spec.add_development_dependency "rubocop"
|
|
25
29
|
|
|
26
30
|
spec.add_runtime_dependency "httparty"
|
|
27
31
|
end
|
data/lib/iamport.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require "iamport/version"
|
|
2
|
+
require "httparty"
|
|
3
3
|
|
|
4
4
|
module Iamport
|
|
5
|
-
IAMPORT_HOST = "https://api.iamport.kr"
|
|
5
|
+
IAMPORT_HOST = "https://api.iamport.kr".freeze
|
|
6
6
|
|
|
7
7
|
class Config
|
|
8
8
|
attr_accessor :api_key
|
|
@@ -23,11 +23,13 @@ module Iamport
|
|
|
23
23
|
def token
|
|
24
24
|
url = "#{IAMPORT_HOST}/users/getToken"
|
|
25
25
|
body = {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
imp_key: config.api_key,
|
|
27
|
+
imp_secret: config.api_secret
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
result = HTTParty.post url, body: body
|
|
31
|
+
|
|
32
|
+
raise "Invalid Token" unless result["response"]
|
|
31
33
|
result["response"]["access_token"]
|
|
32
34
|
end
|
|
33
35
|
|
|
@@ -36,7 +38,7 @@ module Iamport
|
|
|
36
38
|
def payment(imp_uid)
|
|
37
39
|
uri = "payments/#{imp_uid}"
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
pay_get(uri)
|
|
40
42
|
end
|
|
41
43
|
|
|
42
44
|
# Search payment information using status.
|
|
@@ -48,7 +50,7 @@ module Iamport
|
|
|
48
50
|
|
|
49
51
|
uri = "payments/status/#{status}?page=#{page}"
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
pay_get(uri)
|
|
52
54
|
end
|
|
53
55
|
|
|
54
56
|
# Find payment information using merchant uid
|
|
@@ -56,7 +58,7 @@ module Iamport
|
|
|
56
58
|
def find(merchant_uid)
|
|
57
59
|
uri = "payments/find/#{merchant_uid}"
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
pay_get(uri)
|
|
60
62
|
end
|
|
61
63
|
|
|
62
64
|
# Prepare payment validation
|
|
@@ -64,7 +66,7 @@ module Iamport
|
|
|
64
66
|
def prepare(body)
|
|
65
67
|
uri = "payments/prepare"
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
pay_post(uri, body)
|
|
68
70
|
end
|
|
69
71
|
|
|
70
72
|
# Get prepared payment information by merchant_uid
|
|
@@ -72,7 +74,7 @@ module Iamport
|
|
|
72
74
|
def prepared(merchant_uid)
|
|
73
75
|
uri = "payments/prepare/#{merchant_uid}"
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
pay_get(uri)
|
|
76
78
|
end
|
|
77
79
|
|
|
78
80
|
# Canceled payments
|
|
@@ -80,60 +82,81 @@ module Iamport
|
|
|
80
82
|
def cancel(body)
|
|
81
83
|
uri = "payments/cancel"
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
pay_post(uri, body)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# create onetime
|
|
89
|
+
# POST https://api.iamport.kr/#!/subscribe/payments/onetime
|
|
90
|
+
def create_onetime_payment(payload = {})
|
|
91
|
+
uri = "subscribe/payments/onetime"
|
|
92
|
+
|
|
93
|
+
pay_post(uri, payload)
|
|
84
94
|
end
|
|
85
95
|
|
|
86
|
-
# Get a billing key by customer_uid
|
|
87
|
-
# GET https://api.iamport.kr/#!/subscribe/customers/:customer_uid
|
|
88
96
|
def find_subscribe_customer(customer_uid)
|
|
89
|
-
|
|
97
|
+
warn "[DEPRECATION] `find_subscribe_customer` is deprecated. Please use `customer_payments` instead."
|
|
98
|
+
customer_payments(customer_uid)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# create payment again
|
|
102
|
+
# POST https://api.iamport.kr/#!/subscribe/payments/again
|
|
103
|
+
def create_payment_again(payload = {})
|
|
104
|
+
uri = "subscribe/payments/again"
|
|
90
105
|
|
|
91
|
-
|
|
106
|
+
pay_post(uri, payload)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Create and Delete a billing key by customer_uid
|
|
110
|
+
# DELETE https://api.iamport.kr/#!/subscribe/customers/:customer_uid
|
|
111
|
+
# GET https://api.iamport.kr/#!/subscribe/customers/:customer_uid
|
|
112
|
+
{ customer: :get, delete_customer: :delete }.each do |method_name, type|
|
|
113
|
+
define_method(method_name) do |customer_uid|
|
|
114
|
+
uri = "subscribe/customers/#{customer_uid}"
|
|
115
|
+
|
|
116
|
+
send("pay_#{type}", uri)
|
|
117
|
+
end
|
|
92
118
|
end
|
|
93
119
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
120
|
+
def create_subscribe_customer(customer_uid, payload = {})
|
|
121
|
+
warn "[DEPRECATION] `create_subscribe_customer` is deprecated. Please use `create_customer` instead."
|
|
122
|
+
create_customer(customer_uid, payload)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def create_customer(customer_uid, payload = {})
|
|
97
126
|
uri = "subscribe/customers/#{customer_uid}"
|
|
98
127
|
|
|
99
|
-
|
|
128
|
+
pay_post(uri, payload)
|
|
100
129
|
end
|
|
101
130
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
def delete_subscribe_customer(customer_uid)
|
|
105
|
-
uri = "subscribe/customers/#{customer_uid}"
|
|
131
|
+
def customer_payments(customer_uid)
|
|
132
|
+
uri = "subscribe/customers/#{customer_uid}/payments"
|
|
106
133
|
|
|
107
|
-
|
|
134
|
+
pay_get(uri)
|
|
108
135
|
end
|
|
109
136
|
|
|
110
137
|
private
|
|
111
138
|
|
|
112
139
|
# Get header data
|
|
113
|
-
def
|
|
140
|
+
def headers
|
|
114
141
|
{ "Authorization" => token }
|
|
115
142
|
end
|
|
116
143
|
|
|
117
144
|
# GET
|
|
118
|
-
def
|
|
145
|
+
def pay_get(uri, payload = {})
|
|
119
146
|
url = "#{IAMPORT_HOST}/#{uri}"
|
|
120
|
-
|
|
121
|
-
HTTParty.get url, headers: get_headers, body: payload
|
|
147
|
+
HTTParty.get(url, headers: headers, body: payload)
|
|
122
148
|
end
|
|
123
149
|
|
|
124
150
|
# POST
|
|
125
|
-
def
|
|
151
|
+
def pay_post(uri, payload = {})
|
|
126
152
|
url = "#{IAMPORT_HOST}/#{uri}"
|
|
127
|
-
|
|
128
|
-
HTTParty.post url, headers: get_headers, body: payload
|
|
153
|
+
HTTParty.post(url, headers: headers, body: payload)
|
|
129
154
|
end
|
|
130
155
|
|
|
131
156
|
# DELETE
|
|
132
|
-
def
|
|
157
|
+
def pay_delete(uri, payload = {})
|
|
133
158
|
url = "#{IAMPORT_HOST}/#{uri}"
|
|
134
|
-
|
|
135
|
-
HTTParty.delete url, headers: get_headers, body: payload
|
|
159
|
+
HTTParty.delete(url, headers: headers, body: payload)
|
|
136
160
|
end
|
|
137
|
-
|
|
138
161
|
end
|
|
139
162
|
end
|
data/lib/iamport/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: iamport
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sell it
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2018-01-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -52,6 +52,34 @@ dependencies:
|
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: pry
|
|
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
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rubocop
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
55
83
|
- !ruby/object:Gem::Dependency
|
|
56
84
|
name: httparty
|
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -74,6 +102,7 @@ extensions: []
|
|
|
74
102
|
extra_rdoc_files: []
|
|
75
103
|
files:
|
|
76
104
|
- ".gitignore"
|
|
105
|
+
- ".rspec"
|
|
77
106
|
- ".travis.yml"
|
|
78
107
|
- CHANGELOG.md
|
|
79
108
|
- CODE_OF_CONDUCT.md
|