bootpay 1.2.0 → 3.1.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.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -9
  3. data/.rspec +2 -0
  4. data/CHANGELOG.md +107 -21
  5. data/CODE_OF_CONDUCT.md +1 -1
  6. data/Gemfile +1 -3
  7. data/LICENSE.txt +1 -1
  8. data/README.md +309 -196
  9. data/Rakefile +3 -3
  10. data/bin/console +1 -1
  11. data/bootpay.gemspec +22 -20
  12. data/lib/bootpay/bootpay-rest-client.rb +51 -0
  13. data/lib/bootpay/concern/authenticate.rb +69 -0
  14. data/lib/bootpay/concern/cash_receipt.rb +83 -0
  15. data/lib/bootpay/concern/easy.rb +18 -0
  16. data/lib/bootpay/concern/escrow.rb +25 -0
  17. data/lib/bootpay/concern/payment.rb +126 -0
  18. data/lib/bootpay/concern/reseller.rb +97 -0
  19. data/lib/bootpay/concern/rest.rb +56 -0
  20. data/lib/bootpay/concern/sdk.rb +52 -0
  21. data/lib/bootpay/concern/seller.rb +15 -0
  22. data/lib/bootpay/concern/service.rb +15 -0
  23. data/lib/bootpay/concern/subscription.rb +211 -0
  24. data/lib/bootpay/concern/token.rb +33 -0
  25. data/lib/bootpay/concern/user_token.rb +23 -0
  26. data/lib/bootpay/concern/wallet.rb +20 -0
  27. data/lib/bootpay/concern/webhook.rb +18 -0
  28. data/lib/bootpay/concern.rb +35 -0
  29. data/lib/bootpay-backend-ruby.rb +6 -0
  30. data/lib/bootpay.rb +10 -66
  31. data/lib/bootpay_storage/bootpay-storage-rest-client.rb +46 -0
  32. data/lib/bootpay_storage/concern/csv.rb +18 -0
  33. data/lib/bootpay_storage/concern/image.rb +30 -0
  34. data/lib/bootpay_storage/concern/rest.rb +176 -0
  35. data/lib/bootpay_storage/concern/token.rb +9 -0
  36. data/lib/bootpay_storage/concern.rb +12 -0
  37. data/lib/bootpay_storage/response.rb +14 -0
  38. data/lib/bootpay_store/bootpay-store-rest-client.rb +62 -0
  39. data/lib/bootpay_store/concern/alimtalk_message.rb +67 -0
  40. data/lib/bootpay_store/concern/alimtalk_official.rb +63 -0
  41. data/lib/bootpay_store/concern/alimtalk_optout.rb +72 -0
  42. data/lib/bootpay_store/concern/alimtalk_send.rb +92 -0
  43. data/lib/bootpay_store/concern/alimtalk_sender.rb +105 -0
  44. data/lib/bootpay_store/concern/alimtalk_template.rb +215 -0
  45. data/lib/bootpay_store/concern/alimtalk_webhook.rb +84 -0
  46. data/lib/bootpay_store/concern/faq.rb +97 -0
  47. data/lib/bootpay_store/concern/inquiry.rb +138 -0
  48. data/lib/bootpay_store/concern/invoice.rb +102 -0
  49. data/lib/bootpay_store/concern/mall_setting.rb +385 -0
  50. data/lib/bootpay_store/concern/notice.rb +100 -0
  51. data/lib/bootpay_store/concern/order.rb +74 -0
  52. data/lib/bootpay_store/concern/order_subscription.rb +391 -0
  53. data/lib/bootpay_store/concern/payment.rb +119 -0
  54. data/lib/bootpay_store/concern/product.rb +175 -0
  55. data/lib/bootpay_store/concern/product_qna.rb +149 -0
  56. data/lib/bootpay_store/concern/product_review.rb +145 -0
  57. data/lib/bootpay_store/concern/rest.rb +139 -0
  58. data/lib/bootpay_store/concern/store.rb +31 -0
  59. data/lib/bootpay_store/concern/supervisor.rb +211 -0
  60. data/lib/bootpay_store/concern/token.rb +24 -0
  61. data/lib/bootpay_store/concern/user.rb +325 -0
  62. data/lib/bootpay_store/concern/user_group.rb +221 -0
  63. data/lib/bootpay_store/concern/webhook.rb +17 -0
  64. data/lib/bootpay_store/concern.rb +55 -0
  65. data/lib/bootpay_store/response.rb +14 -0
  66. data/lib/version.rb +9 -0
  67. metadata +82 -49
  68. data/.DS_Store +0 -0
  69. data/.env.example +0 -23
  70. data/lib/.DS_Store +0 -0
  71. data/lib/bootpay/.DS_Store +0 -0
  72. data/lib/bootpay/authentication.rb +0 -61
  73. data/lib/bootpay/automatic_transfer.rb +0 -56
  74. data/lib/bootpay/billing.rb +0 -157
  75. data/lib/bootpay/cancel.rb +0 -29
  76. data/lib/bootpay/cash_receipt.rb +0 -77
  77. data/lib/bootpay/commerce/cart.rb +0 -20
  78. data/lib/bootpay/commerce/category.rb +0 -39
  79. data/lib/bootpay/commerce/commerce_resource.rb +0 -196
  80. data/lib/bootpay/commerce/coupon.rb +0 -41
  81. data/lib/bootpay/commerce/invoice.rb +0 -46
  82. data/lib/bootpay/commerce/order.rb +0 -61
  83. data/lib/bootpay/commerce/order_cancel.rb +0 -52
  84. data/lib/bootpay/commerce/order_subscription.rb +0 -117
  85. data/lib/bootpay/commerce/order_subscription_adjustment.rb +0 -29
  86. data/lib/bootpay/commerce/order_subscription_bill.rb +0 -50
  87. data/lib/bootpay/commerce/order_subscription_request.rb +0 -60
  88. data/lib/bootpay/commerce/point.rb +0 -36
  89. data/lib/bootpay/commerce/product.rb +0 -63
  90. data/lib/bootpay/commerce/store.rb +0 -21
  91. data/lib/bootpay/commerce/user.rb +0 -75
  92. data/lib/bootpay/commerce/user_group.rb +0 -70
  93. data/lib/bootpay/easy.rb +0 -25
  94. data/lib/bootpay/escrow.rb +0 -24
  95. data/lib/bootpay/link.rb +0 -60
  96. data/lib/bootpay/naverpay.rb +0 -17
  97. data/lib/bootpay/payment_resource.rb +0 -31
  98. data/lib/bootpay/reseller.rb +0 -12
  99. data/lib/bootpay/rest.rb +0 -46
  100. data/lib/bootpay/submit.rb +0 -20
  101. data/lib/bootpay/token.rb +0 -33
  102. data/lib/bootpay/verification.rb +0 -55
  103. data/lib/bootpay/version.rb +0 -25
  104. data/lib/bootpay/wallet.rb +0 -56
  105. data/lib/bootpay_commerce.rb +0 -152
  106. /data/lib/{response.rb → bootpay/response.rb} +0 -0
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- class OrderCancelModule
8
- def initialize(bootpay)
9
- @bootpay = bootpay
10
- end
11
-
12
- # 취소 요청 목록 조회
13
- def list(params = {})
14
- query_params = {}
15
- query_params[:order_id] = params[:order_id] if params[:order_id]
16
- query_params[:order_number] = params[:order_number] if params[:order_number]
17
-
18
- query = build_query(query_params)
19
- @bootpay.get("order/cancel#{query}")
20
- end
21
-
22
- # 취소 요청
23
- def request(params)
24
- @bootpay.post('order/cancel', params)
25
- end
26
-
27
- # 취소 요청 철회
28
- def withdraw(order_cancel_request_history_id)
29
- @bootpay.put("order/cancel/#{order_cancel_request_history_id}/withdraw", {})
30
- end
31
-
32
- # 취소 승인
33
- def approve(params)
34
- raise ArgumentError, 'order_cancel_request_history_id is required' unless params[:order_cancel_request_history_id]
35
- @bootpay.put("order/cancel/#{params[:order_cancel_request_history_id]}/approve", params)
36
- end
37
-
38
- # 취소 거절
39
- def reject(params)
40
- raise ArgumentError, 'order_cancel_request_history_id is required' unless params[:order_cancel_request_history_id]
41
- @bootpay.put("order/cancel/#{params[:order_cancel_request_history_id]}/reject", params)
42
- end
43
-
44
- private
45
-
46
- def build_query(params)
47
- return '' if params.empty?
48
- "?#{URI.encode_www_form(params)}"
49
- end
50
- end
51
- end
52
- end
@@ -1,117 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- # 정기구독 진행 중 요청 모듈
8
- class OrderSubscriptionRequestIngModule
9
- def initialize(bootpay)
10
- @bootpay = bootpay
11
- end
12
-
13
- # 정기구독 일시정지
14
- def pause(params)
15
- @bootpay.post('order_subscriptions/requests/ing/pause', params)
16
- end
17
-
18
- # 정기구독 재개
19
- def resume(params)
20
- @bootpay.put('order_subscriptions/requests/ing/resume', params)
21
- end
22
-
23
- # 해지 수수료 계산
24
- def calculate_termination_fee(order_subscription_id: nil, order_number: nil)
25
- raise ArgumentError, 'order_subscription_id or order_number is required' if order_subscription_id.nil? && order_number.nil?
26
-
27
- query_params = {}
28
- if order_subscription_id
29
- query_params[:order_subscription_id] = order_subscription_id
30
- elsif order_number
31
- query_params[:order_number] = order_number
32
- end
33
-
34
- @bootpay.get("order_subscriptions/requests/ing/calculate_termination_fee?#{URI.encode_www_form(query_params)}")
35
- end
36
-
37
- # 주문번호로 해지 수수료 계산
38
- def calculate_termination_fee_by_order_number(order_number)
39
- calculate_termination_fee(order_number: order_number)
40
- end
41
-
42
- # 정기구독 해지
43
- def termination(params)
44
- @bootpay.post('order_subscriptions/requests/ing/termination', params)
45
- end
46
- end
47
-
48
- # 정기구독 모듈
49
- class OrderSubscriptionModule
50
- attr_reader :request_ing
51
-
52
- def initialize(bootpay)
53
- @bootpay = bootpay
54
- @request_ing = OrderSubscriptionRequestIngModule.new(bootpay)
55
- end
56
-
57
- # 정기구독 목록 조회
58
- def list(params = {})
59
- query_params = {}
60
- query_params[:page] = params[:page] unless params[:page].nil?
61
- query_params[:limit] = params[:limit] unless params[:limit].nil?
62
- query_params[:keyword] = params[:keyword] if params[:keyword]
63
- query_params[:s_at] = params[:s_at] if params[:s_at]
64
- query_params[:e_at] = params[:e_at] if params[:e_at]
65
- query_params[:request_type] = params[:request_type] if params[:request_type]
66
- query_params[:user_group_id] = params[:user_group_id] if params[:user_group_id]
67
- query_params[:user_id] = params[:user_id] if params[:user_id]
68
-
69
- query = build_query(query_params)
70
- @bootpay.get("order_subscriptions#{query}")
71
- end
72
-
73
- # 정기구독 상세 조회
74
- def detail(order_subscription_id)
75
- @bootpay.get("order_subscriptions/#{order_subscription_id}")
76
- end
77
-
78
- # 정기구독 수정
79
- def update(params)
80
- raise ArgumentError, 'order_subscription_id is required' unless params[:order_subscription_id]
81
- @bootpay.put("order_subscriptions/#{params[:order_subscription_id]}", params)
82
- end
83
-
84
- # Supervisor: 정기구독 승인
85
- def supervisor_approve(order_subscription_id, params = {})
86
- @bootpay.put("order_subscriptions/#{order_subscription_id}/approve", params)
87
- end
88
-
89
- # Supervisor: 정기구독 거절
90
- def supervisor_reject(order_subscription_id, params = {})
91
- @bootpay.put("order_subscriptions/#{order_subscription_id}/reject", params)
92
- end
93
-
94
- # Supervisor: 정기구독 해지
95
- def supervisor_terminate(order_subscription_id, params = {})
96
- @bootpay.put("order_subscriptions/#{order_subscription_id}/terminate", params)
97
- end
98
-
99
- # Supervisor: 정기구독 일시정지
100
- def supervisor_pause(order_subscription_id, params)
101
- @bootpay.put("order_subscriptions/#{order_subscription_id}/pause", params)
102
- end
103
-
104
- # Supervisor: 정기구독 재개
105
- def supervisor_resume(order_subscription_id, params = {})
106
- @bootpay.put("order_subscriptions/#{order_subscription_id}/resume", params)
107
- end
108
-
109
- private
110
-
111
- def build_query(params)
112
- return '' if params.empty?
113
- "?#{URI.encode_www_form(params)}"
114
- end
115
- end
116
- end
117
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bootpay
4
- module Commerce
5
- class OrderSubscriptionAdjustmentModule
6
- def initialize(bootpay)
7
- @bootpay = bootpay
8
- end
9
-
10
- # 정기구독 조정 생성
11
- def create(order_subscription_id, adjustment)
12
- @bootpay.post("order_subscriptions/#{order_subscription_id}/adjustments", adjustment)
13
- end
14
-
15
- # 정기구독 조정 수정
16
- def update(params)
17
- raise ArgumentError, 'order_subscription_id is required' unless params[:order_subscription_id]
18
- @bootpay.put("order_subscriptions/#{params[:order_subscription_id]}/adjustments", params)
19
- end
20
-
21
- # 정기구독 조정 삭제
22
- def delete(order_subscription_id, order_subscription_adjustment_id)
23
- @bootpay.delete(
24
- "order_subscriptions/#{order_subscription_id}/adjustments?order_subscription_adjustment_id=#{order_subscription_adjustment_id}"
25
- )
26
- end
27
- end
28
- end
29
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- class OrderSubscriptionBillModule
8
- def initialize(bootpay)
9
- @bootpay = bootpay
10
- end
11
-
12
- # 정기구독 청구 목록 조회
13
- def list(params = {})
14
- query_params = {}
15
- query_params[:page] = params[:page] unless params[:page].nil?
16
- query_params[:limit] = params[:limit] unless params[:limit].nil?
17
- query_params[:keyword] = params[:keyword] if params[:keyword]
18
- query_params[:order_subscription_id] = params[:order_subscription_id] if params[:order_subscription_id]
19
-
20
- if params[:status].is_a?(Array) && !params[:status].empty?
21
- query_params[:status] = params[:status].map(&:to_s).join(',')
22
- end
23
-
24
- query = build_query(query_params)
25
- @bootpay.get("order_subscription_bills#{query}")
26
- end
27
-
28
- # 정기구독 청구 상세 조회
29
- def detail(order_subscription_bill_id)
30
- @bootpay.get("order_subscription_bills/#{order_subscription_bill_id}")
31
- end
32
-
33
- # 정기구독 청구 수정
34
- def update(order_subscription_bill)
35
- raise ArgumentError, 'order_subscription_bill_id is required' unless order_subscription_bill[:order_subscription_bill_id]
36
- @bootpay.put(
37
- "order_subscription_bills/#{order_subscription_bill[:order_subscription_bill_id]}",
38
- order_subscription_bill
39
- )
40
- end
41
-
42
- private
43
-
44
- def build_query(params)
45
- return '' if params.empty?
46
- "?#{URI.encode_www_form(params)}"
47
- end
48
- end
49
- end
50
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- # V1 OrderSubscription Request 조회/승인 모듈
8
- #
9
- # 본인 모드 (user role): project_id 없이 호출 → 본인 요청 목록/단건
10
- # 슈퍼바이저 모드 (supervisor role): project_id 포함 → 프로젝트 전체 + update (승인/거절)
11
- #
12
- # 구매자측 요청 생성 (pause/resume/termination 등) 은
13
- # `commerce.order_subscription.request_ing.*` 모듈을 사용한다.
14
- class OrderSubscriptionRequestModule
15
- def initialize(bootpay)
16
- @bootpay = bootpay
17
- end
18
-
19
- # 요청 목록 조회 (user / supervisor 공용)
20
- def list(params = {})
21
- query_params = {}
22
- query_params[:project_id] = params[:project_id] if params[:project_id]
23
- query_params[:page] = params[:page] unless params[:page].nil?
24
- query_params[:limit] = params[:limit] unless params[:limit].nil?
25
- query_params[:request_type] = params[:request_type] unless params[:request_type].nil?
26
- query_params[:status] = params[:status] unless params[:status].nil?
27
- query_params[:s_at] = params[:s_at] if params[:s_at]
28
- query_params[:e_at] = params[:e_at] if params[:e_at]
29
- query_params[:keyword] = params[:keyword] if params[:keyword]
30
-
31
- query = build_query(query_params)
32
- @bootpay.get("order-subscription-requests#{query}")
33
- end
34
-
35
- # 요청 단건 조회 (user / supervisor 공용)
36
- def detail(order_subscription_request_history_id, project_id: nil)
37
- query_params = {}
38
- query_params[:project_id] = project_id if project_id
39
-
40
- query = build_query(query_params)
41
- @bootpay.get("order-subscription-requests/#{order_subscription_request_history_id}#{query}")
42
- end
43
-
44
- # 요청 승인/거절 (supervisor 전용)
45
- def update(params)
46
- raise ArgumentError, 'order_subscription_request_history_id is required' unless params[:order_subscription_request_history_id]
47
- history_id = params[:order_subscription_request_history_id]
48
- body = params.reject { |k, _| k == :order_subscription_request_history_id }
49
- @bootpay.put("order-subscription-requests/#{history_id}", body)
50
- end
51
-
52
- private
53
-
54
- def build_query(params)
55
- return '' if params.empty?
56
- "?#{URI.encode_www_form(params)}"
57
- end
58
- end
59
- end
60
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- class PointModule
8
- def initialize(bootpay)
9
- @bootpay = bootpay
10
- end
11
-
12
- # 적립금 잔액 조회
13
- def balance
14
- @bootpay.get('point/balance')
15
- end
16
-
17
- # 적립금 내역 조회
18
- def transactions(params = {})
19
- query_params = {}
20
- query_params[:page] = params[:page] unless params[:page].nil?
21
- query_params[:limit] = params[:limit] unless params[:limit].nil?
22
- query_params[:transaction_type] = params[:transaction_type] unless params[:transaction_type].nil?
23
-
24
- query = build_query(query_params)
25
- @bootpay.get("point/transactions#{query}")
26
- end
27
-
28
- private
29
-
30
- def build_query(params)
31
- return '' if params.empty?
32
- "?#{URI.encode_www_form(params)}"
33
- end
34
- end
35
- end
36
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- class ProductModule
8
- def initialize(bootpay)
9
- @bootpay = bootpay
10
- end
11
-
12
- # 상품 목록 조회
13
- def list(params = {})
14
- query_params = {}
15
- query_params[:page] = params[:page] unless params[:page].nil?
16
- query_params[:limit] = params[:limit] unless params[:limit].nil?
17
- query_params[:keyword] = params[:keyword] if params[:keyword]
18
- query_params[:type] = params[:type] unless params[:type].nil?
19
- query_params[:period_type] = params[:period_type] if params[:period_type]
20
- query_params[:s_at] = params[:s_at] if params[:s_at]
21
- query_params[:e_at] = params[:e_at] if params[:e_at]
22
- query_params[:category_code] = params[:category_code] if params[:category_code]
23
-
24
- query = build_query(query_params)
25
- @bootpay.get("products#{query}")
26
- end
27
-
28
- # 상품 생성 (이미지 포함)
29
- def create(product, image_paths = nil)
30
- @bootpay.post_multipart('products', product, image_paths)
31
- end
32
-
33
- # 상품 상세 조회
34
- def detail(product_id)
35
- @bootpay.get("products/#{product_id}")
36
- end
37
-
38
- # 상품 수정
39
- def update(product)
40
- raise ArgumentError, 'product_id is required' unless product[:product_id]
41
- @bootpay.put("products/#{product[:product_id]}", product)
42
- end
43
-
44
- # 상품 상태 변경
45
- def status(params)
46
- raise ArgumentError, 'product_id is required' unless params[:product_id]
47
- @bootpay.put("products/#{params[:product_id]}/status", params)
48
- end
49
-
50
- # 상품 삭제
51
- def delete(product_id)
52
- @bootpay.delete("products/#{product_id}")
53
- end
54
-
55
- private
56
-
57
- def build_query(params)
58
- return '' if params.empty?
59
- "?#{URI.encode_www_form(params)}"
60
- end
61
- end
62
- end
63
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bootpay
4
- module Commerce
5
- class StoreModule
6
- def initialize(bootpay)
7
- @bootpay = bootpay
8
- end
9
-
10
- # 가맹점 기본 정보 조회
11
- def info
12
- @bootpay.get('store')
13
- end
14
-
15
- # 가맹점 상세 정보 조회
16
- def detail
17
- @bootpay.get('store/detail')
18
- end
19
- end
20
- end
21
- end
@@ -1,75 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- class UserModule
8
- def initialize(bootpay)
9
- @bootpay = bootpay
10
- end
11
-
12
- # 사용자 토큰 발급
13
- def token(user_id)
14
- @bootpay.post('users/login/token', { user_id: user_id })
15
- end
16
-
17
- # 회원가입
18
- def join(user)
19
- @bootpay.post('users/join', user)
20
- end
21
-
22
- # 중복 체크
23
- def check_exist(key, value)
24
- encoded_value = URI.encode_www_form_component(value)
25
- @bootpay.get("users/join/#{key}?pk=#{encoded_value}")
26
- end
27
-
28
- # 본인인증 데이터 조회
29
- def authentication_data(stand_id)
30
- @bootpay.get("users/authenticate/#{stand_id}")
31
- end
32
-
33
- # 로그인
34
- def login(login_id, login_pw)
35
- @bootpay.post('users/login', { login_id: login_id, login_pw: login_pw })
36
- end
37
-
38
- # 사용자 목록 조회
39
- def list(params = {})
40
- query_params = {}
41
- query_params[:page] = params[:page] unless params[:page].nil?
42
- query_params[:limit] = params[:limit] unless params[:limit].nil?
43
- query_params[:keyword] = params[:keyword] if params[:keyword]
44
- query_params[:member_type] = params[:member_type] unless params[:member_type].nil?
45
- query_params[:type] = params[:type] if params[:type]
46
-
47
- query = build_query(query_params)
48
- @bootpay.get("users#{query}")
49
- end
50
-
51
- # 사용자 상세 조회
52
- def detail(user_id)
53
- @bootpay.get("users/#{user_id}")
54
- end
55
-
56
- # 사용자 정보 수정
57
- def update(user)
58
- raise ArgumentError, 'user_id is required' unless user[:user_id]
59
- @bootpay.put("users/#{user[:user_id]}", user)
60
- end
61
-
62
- # 사용자 삭제
63
- def delete(user_id)
64
- @bootpay.delete("users/#{user_id}")
65
- end
66
-
67
- private
68
-
69
- def build_query(params)
70
- return '' if params.empty?
71
- "?#{URI.encode_www_form(params)}"
72
- end
73
- end
74
- end
75
- end
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
-
5
- module Bootpay
6
- module Commerce
7
- class UserGroupModule
8
- def initialize(bootpay)
9
- @bootpay = bootpay
10
- end
11
-
12
- # 사용자 그룹 생성
13
- def create(user_group)
14
- @bootpay.post('user-groups', user_group)
15
- end
16
-
17
- # 사용자 그룹 목록 조회
18
- def list(params = {})
19
- query_params = {}
20
- query_params[:page] = params[:page] unless params[:page].nil?
21
- query_params[:limit] = params[:limit] unless params[:limit].nil?
22
- query_params[:keyword] = params[:keyword] if params[:keyword]
23
- query_params[:corporate_type] = params[:corporate_type] unless params[:corporate_type].nil?
24
-
25
- query = build_query(query_params)
26
- @bootpay.get("user-groups#{query}")
27
- end
28
-
29
- # 사용자 그룹 상세 조회
30
- def detail(user_group_id)
31
- @bootpay.get("user-groups/#{user_group_id}")
32
- end
33
-
34
- # 사용자 그룹 수정
35
- def update(user_group)
36
- raise ArgumentError, 'user_group_id is required' unless user_group[:user_group_id]
37
- @bootpay.put("user-groups/#{user_group[:user_group_id]}", user_group)
38
- end
39
-
40
- # 그룹에 사용자 추가
41
- def user_create(user_group_id, user_id)
42
- @bootpay.post("user-groups/#{user_group_id}/user", { user_id: user_id })
43
- end
44
-
45
- # 그룹에서 사용자 제거
46
- def user_delete(user_group_id, user_id)
47
- @bootpay.delete("user-groups/#{user_group_id}/user/#{user_id}")
48
- end
49
-
50
- # 그룹 제한 설정
51
- def limit(params)
52
- raise ArgumentError, 'user_group_id is required' unless params[:user_group_id]
53
- @bootpay.put("user-groups/#{params[:user_group_id]}/limit", params)
54
- end
55
-
56
- # 그룹 거래 집계
57
- def aggregate_transaction(params)
58
- raise ArgumentError, 'user_group_id is required' unless params[:user_group_id]
59
- @bootpay.put("user-groups/#{params[:user_group_id]}/aggregate-transaction", params)
60
- end
61
-
62
- private
63
-
64
- def build_query(params)
65
- return '' if params.empty?
66
- "?#{URI.encode_www_form(params)}"
67
- end
68
- end
69
- end
70
- end
data/lib/bootpay/easy.rb DELETED
@@ -1,25 +0,0 @@
1
- module Bootpay::Easy
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- # 회원 Token을 요청한다
6
- # Comment by ehowlsla
7
- # Date: 2021-08-230
8
-
9
- def get_user_token(user_id: nil, email: nil, name: nil, gender: nil, birth: nil, phone: nil)
10
- raise 'user_id 값을 입력해주세요.' if user_id.blank?
11
-
12
- request(
13
- uri: 'request/user/token',
14
- payload: {
15
- user_id: user_id, # 개발사에서 관리하는 회원 고유 id
16
- email: email, # 회원 email
17
- name: name, # 회원명
18
- gender: gender, # 0:여자, 1:남자
19
- birth: birth, # 생일 901004
20
- phone: phone # 01012341234
21
- }.compact
22
- )
23
- end
24
- end
25
- end
@@ -1,24 +0,0 @@
1
- module Bootpay::Escrow
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
-
6
-
7
- # @deprecated, 사용되지 않는 api
8
- # Comment by Gosomi
9
- # Date: 2020-06-18
10
- # @return [Hash]
11
- def delivery_start(receipt_id, delivery_no, delivery_corp)
12
- raise 'receipt_id 값을 설정해주세요.' if receipt_id.blank?
13
- request(
14
- method: :put,
15
- uri: "delivery/start/#{receipt_id}",
16
- payload:
17
- {
18
- delivery_no: delivery_no,
19
- delivery_corp: delivery_corp
20
- }.compact
21
- )
22
- end
23
- end
24
- end