bootpay 1.2.0 → 3.0.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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -9
  3. data/.rspec +2 -0
  4. data/CHANGELOG.md +63 -21
  5. data/CODE_OF_CONDUCT.md +1 -1
  6. data/Gemfile +2 -4
  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 +23 -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 +47 -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 +83 -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/invoice.rb +102 -0
  47. data/lib/bootpay_store/concern/mall_setting.rb +385 -0
  48. data/lib/bootpay_store/concern/order.rb +74 -0
  49. data/lib/bootpay_store/concern/order_subscription.rb +391 -0
  50. data/lib/bootpay_store/concern/payment.rb +119 -0
  51. data/lib/bootpay_store/concern/product.rb +175 -0
  52. data/lib/bootpay_store/concern/rest.rb +128 -0
  53. data/lib/bootpay_store/concern/store.rb +31 -0
  54. data/lib/bootpay_store/concern/supervisor.rb +211 -0
  55. data/lib/bootpay_store/concern/token.rb +24 -0
  56. data/lib/bootpay_store/concern/user.rb +325 -0
  57. data/lib/bootpay_store/concern/user_group.rb +221 -0
  58. data/lib/bootpay_store/concern/webhook.rb +17 -0
  59. data/lib/bootpay_store/concern.rb +45 -0
  60. data/lib/bootpay_store/response.rb +14 -0
  61. data/lib/version.rb +9 -0
  62. metadata +77 -49
  63. data/.DS_Store +0 -0
  64. data/.env.example +0 -23
  65. data/lib/.DS_Store +0 -0
  66. data/lib/bootpay/.DS_Store +0 -0
  67. data/lib/bootpay/authentication.rb +0 -61
  68. data/lib/bootpay/automatic_transfer.rb +0 -56
  69. data/lib/bootpay/billing.rb +0 -157
  70. data/lib/bootpay/cancel.rb +0 -29
  71. data/lib/bootpay/cash_receipt.rb +0 -77
  72. data/lib/bootpay/commerce/cart.rb +0 -20
  73. data/lib/bootpay/commerce/category.rb +0 -39
  74. data/lib/bootpay/commerce/commerce_resource.rb +0 -196
  75. data/lib/bootpay/commerce/coupon.rb +0 -41
  76. data/lib/bootpay/commerce/invoice.rb +0 -46
  77. data/lib/bootpay/commerce/order.rb +0 -61
  78. data/lib/bootpay/commerce/order_cancel.rb +0 -52
  79. data/lib/bootpay/commerce/order_subscription.rb +0 -117
  80. data/lib/bootpay/commerce/order_subscription_adjustment.rb +0 -29
  81. data/lib/bootpay/commerce/order_subscription_bill.rb +0 -50
  82. data/lib/bootpay/commerce/order_subscription_request.rb +0 -60
  83. data/lib/bootpay/commerce/point.rb +0 -36
  84. data/lib/bootpay/commerce/product.rb +0 -63
  85. data/lib/bootpay/commerce/store.rb +0 -21
  86. data/lib/bootpay/commerce/user.rb +0 -75
  87. data/lib/bootpay/commerce/user_group.rb +0 -70
  88. data/lib/bootpay/easy.rb +0 -25
  89. data/lib/bootpay/escrow.rb +0 -24
  90. data/lib/bootpay/link.rb +0 -60
  91. data/lib/bootpay/naverpay.rb +0 -17
  92. data/lib/bootpay/payment_resource.rb +0 -31
  93. data/lib/bootpay/reseller.rb +0 -12
  94. data/lib/bootpay/rest.rb +0 -46
  95. data/lib/bootpay/submit.rb +0 -20
  96. data/lib/bootpay/token.rb +0 -33
  97. data/lib/bootpay/verification.rb +0 -55
  98. data/lib/bootpay/version.rb +0 -25
  99. data/lib/bootpay/wallet.rb +0 -56
  100. data/lib/bootpay_commerce.rb +0 -152
  101. /data/lib/{response.rb → bootpay/response.rb} +0 -0
@@ -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
data/lib/bootpay/link.rb DELETED
@@ -1,60 +0,0 @@
1
-
2
- # Comment by ehowlsla
3
- # Date: 2021-08-31
4
- # @return [Hash]
5
- module Bootpay::Link
6
- extend ActiveSupport::Concern
7
-
8
- included do
9
- # item 모델 설명
10
- # {
11
- # item_name: '', # 상품명
12
- # qty: 1, # 수량
13
- # unique: '', # 상품 고유키
14
- # price: 1000, # 상품단가
15
- # cat1: '', # 카테고리 상
16
- # cat2: '', # 카테고리 중
17
- # cat3: '' # 카테고리 하
18
- # }
19
- def request_link(pg: nil, method: nil, methods: nil, price: nil, order_id: nil, params: nil, tax_free: nil, name: nil,
20
- user_info: {
21
- id: nil, # 개발사에서 관리하는 회원 고유 id
22
- username: nil, # 구매자 이름
23
- email: nil, # 구매자 email
24
- phone: nil, # 01012341234
25
- gender: nil, # 0:여자, 1:남자
26
- area: nil, # 서울|인천|대구|광주|부산|울산|경기|강원|충청북도|충북|충청남도|충남|전라북도|전북|전라남도|전남|경상북도|경북|경상남도|경남|제주|세종|대전 중 택 1
27
- birth: nil # 생일 901004
28
- },
29
- items: nil, # item array
30
- extra: {
31
- escrow: nil, # 에스크로 연동 시 true, 기본값 false
32
- quota: nil, #List<int> 형태, 결제금액이 5만원 이상시 할부개월 허용범위를 설정할 수 있음, ex) "0,2,3" 지정시 - [0(일시불), 2개월, 3개월] 허용, 미설정시 PG사별 기본값 적용, 1 지정시 에러가 발생할 수 있음
33
- disp_cash_result: nil, # 현금영수증 노출할지 말지 (가상계좌 이용시)
34
- offer_period: nil, # 통합결제창, PG 정기결제창에서 표시되는 '월 자동결제'에 해당하는 문구를 지정한 값으로 변경, 지원하는 PG사만 적용 가능
35
- theme: nil, # 통합결제창 테마, [ red, purple(기본), custom ] 중 택 1
36
- custom_background: nil, # 통합결제창 배경색, ex) "#00a086" theme가 custom 일 때 background 색상 지정 가능
37
- custom_font_color: nil # 통합결제창 글자색, ex) "#ffffff" theme가 custom 일 때 font color 색상 지정 가능
38
- }
39
- )
40
- request(
41
- uri: 'request/payment',
42
- payload:
43
- {
44
- pg: pg, # [PG 결제] 사용하고자 하는 PG사의 Alias를 입력. ex) danal, kcp, inicis등, 미 지정시 통합결제창이 오픈
45
- method: method, # card:카드, phone: 휴대폰, bank: 실시간 계좌이체, vbank: 가상계좌, auth: 본인인증, card_rebill: 정기결제, easy: 카카오,페이코,네이버페이 등의 간편결제, 미지정시 통합결제창 오픈
46
- methods: methods, # 통합결제시 사용할 method 배열 형태
47
- price: price, # 결제금액
48
- order_id: order_id, # 개발사에서 관리하는 고유결제번호
49
- params: params, # string 형태로 전달 할 값, 결제 후 똑같이 리턴해드림
50
- tax_free: tax_free, # 비과세 금액
51
- name: name, # 결제할 상품명
52
- user_info: user_info, # 구매자 정보
53
- items: items, # 상품정보
54
- # return_url: return_url, # 결제후 이동할 페이지 url, 아직 사용하지 않음
55
- extra: extra.values.any? {|v|v != nil} ? extra : nil # 기타 옵션
56
- }.compact
57
- )
58
- end
59
- end
60
- end
@@ -1,17 +0,0 @@
1
-
2
- # bootpay dev api
3
- # Comment by Gosomi
4
- # Date: 2020-06-18
5
- # @return [Hash]
6
- module Bootpay::Naverpay
7
- extend ActiveSupport::Concern
8
-
9
- included do
10
- def naverpay_item_response(data)
11
- request(
12
- uri: 'npay/product',
13
- payload: data
14
- )
15
- end
16
- end
17
- end
@@ -1,31 +0,0 @@
1
- # bootpay dev api
2
- # Comment by Gosomi
3
- # Date: 2020-06-18
4
- # @return [Hash]
5
- module Bootpay::PaymentResource
6
- extend ActiveSupport::Concern
7
-
8
- included do
9
- def update_pg_resource(data)
10
- request(
11
- uri: 'project/payment',
12
- payload: data
13
- )
14
- end
15
-
16
- #----------------------------------------------------------
17
- # 새로운 웹훅을 실행한다
18
- # Comment by Gosomi
19
- # Date: 2021-12-21
20
- #----------------------------------------------------------
21
- def create_webhook(receipt_id:, webhook_url:)
22
- request(
23
- uri: 'webhook',
24
- payload: {
25
- receipt_id: receipt_id,
26
- webhook_url: webhook_url
27
- }
28
- )
29
- end
30
- end
31
- end
@@ -1,12 +0,0 @@
1
-
2
- # bootpay dev api
3
- # Comment by Gosomi
4
- # Date: 2020-06-18
5
- # @return [Hash]
6
- module Bootpay::Reseller
7
- extend ActiveSupport::Concern
8
-
9
- included do
10
-
11
- end
12
- end
data/lib/bootpay/rest.rb DELETED
@@ -1,46 +0,0 @@
1
- module Bootpay::Rest
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- private
6
-
7
- # HTTP Request 기본 Method
8
- # Comment by Gosomi
9
- # Date: 2021-05-21
10
- def authorization_header
11
- if @client_key.present? && @secret_key.present?
12
- "Basic #{Base64.strict_encode64("#{@client_key}:#{@secret_key}")}"
13
- elsif @token.present?
14
- "Bearer #{@token}"
15
- end
16
- end
17
-
18
- def request(method: :post, uri:, payload: {}, headers: {}, params: nil)
19
-
20
- http_options = { json: payload }
21
- http_options[:params] = params if params && !params.empty?
22
-
23
- response = HTTP.headers(
24
- {
25
- Authorization: authorization_header,
26
- content_type: 'application/json',
27
- accept: 'application/json'
28
- }.merge!(headers).compact
29
- ).send(
30
- method.to_sym,
31
- [Bootpay::Api::API[@mode.to_sym], uri].join('/'),
32
- **http_options
33
- )
34
- Bootpay::Response.new(
35
- response.status.success?,
36
- JSON.parse(response.body.to_s, symbolize_names: true)
37
- )
38
- rescue Exception => e
39
- Bootpay::Response.new(
40
- false,
41
- message: "부트페이 API 서버와의 통신이 실패하였습니다. 오류 메세지: #{e.message}",
42
- backtrace: e.backtrace.join("\n")
43
- )
44
- end
45
- end
46
- end
@@ -1,20 +0,0 @@
1
-
2
- # Comment by ehowlsla
3
- # Date: 2021-08-31
4
- # @return [Hash]
5
- module Bootpay::Submit
6
- extend ActiveSupport::Concern
7
-
8
- included do
9
- def server_submit(receipt_id)
10
- raise 'receipt_id 값을 입력해주세요.' if receipt_id.blank?
11
-
12
- request(
13
- uri: 'submit',
14
- payload: {
15
- receipt_id: receipt_id
16
- }
17
- )
18
- end
19
- end
20
- end
data/lib/bootpay/token.rb DELETED
@@ -1,33 +0,0 @@
1
- module Bootpay::Token
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- # Access Token을 요청한다
6
- # Comment by Gosomi
7
- # Date: 2021-05-21
8
- def request_access_token
9
- # client_key/secret_key 인증은 매 요청에 Basic Auth 헤더가 자동 부착된다.
10
- # request/token 호출이 불필요하므로 합성 응답을 즉시 반환한다.
11
- if @client_key.present? && @secret_key.present?
12
- @token = nil
13
- return Bootpay::Response.new(true, { access_token: '', expire_in: 0 })
14
- end
15
-
16
- response = request(
17
- uri: 'request/token',
18
- payload: {
19
- application_id: @application_id,
20
- private_key: @private_key
21
- }
22
- )
23
- if response.success?
24
- # 기존 Ruby PG 응답(data.token)을 우선 유지하되, 다른 SDK/신규 응답(access_token)도
25
- # 받을 수 있게 확장한다. 기존 응답 구조와 token 값에는 영향을 주지 않는다.
26
- @token = response.data.dig(:data, :token)
27
- @token ||= response.data[:access_token]
28
- @token ||= response.data.dig(:data, :access_token)
29
- end
30
- response
31
- end
32
- end
33
- end
@@ -1,55 +0,0 @@
1
- module Bootpay::Verification
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
-
6
- # 결제 검증하기
7
- # Comment by ehowlsla
8
- # Date: 2021-08-31
9
- def verify(receipt_id)
10
- raise 'receipt_id 값을 입력해주세요' if receipt_id.nil?
11
- request(
12
- method: :get,
13
- uri: "receipt/#{receipt_id}"
14
- )
15
- end
16
-
17
- # bootpay dev api
18
- # Comment by ehowlsla
19
- # Date: 2021-08-31
20
- def subscribe_verify(receipt_id)
21
- raise 'receipt_id 값을 입력해주세요' if receipt_id.nil?
22
- request(
23
- method: :get,
24
- uri: "subscribe/billing/#{receipt_id}"
25
- )
26
- end
27
-
28
- # 서버 승인하기
29
- # Comment by ehowlsla
30
- # Date: 2021-08-31
31
- def confirm(receipt_id)
32
- raise 'receipt_id 값을 입력해주세요' if receipt_id.nil?
33
- request(
34
- uri: "submit",
35
- payload: {
36
- receipt_id: receipt_id
37
- }.compact
38
- )
39
- end
40
-
41
- # 본인인증 검증하기
42
- # Comment by ehowlsla
43
- # Date: 2021-08-31
44
- def certificate(receipt_id)
45
- raise 'receipt_id 값을 입력해주세요' if receipt_id.nil?
46
- request(
47
- method: :get,
48
- uri: "certificate/#{receipt_id}",
49
- payload: {
50
- receipt_id: receipt_id
51
- }.compact
52
- )
53
- end
54
- end
55
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Bootpay
4
- VERSION = "1.2.0"
5
- BANKCODE = {
6
- "한국은행" => "001",
7
- "기업은행" => "003",
8
- "국민은행" => "004",
9
- "외환은행" => "005",
10
- "수협은행" => "007",
11
- "농협은행" => "011",
12
- "우리은행" => "020",
13
- "SC은행" => "023",
14
- "대구은행" => "031",
15
- "부산은행" => "032",
16
- "광주은행" => "034",
17
- "경남은행" => "039",
18
- "우체국" => "071",
19
- "KEB하나은행" => "081",
20
- "신한은행" => "088",
21
- "케이뱅크" => "089",
22
- "카카오뱅크" => "090",
23
- }
24
- end
25
-
@@ -1,56 +0,0 @@
1
- module Bootpay::Wallet
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- # 사용자 월렛 목록 조회
6
- # Reference: Go SDK GetUserWallets
7
- #
8
- # @deprecated 다음 메이저 버전에서 제거 예정. wallet 엔드포인트는 폐기 예정이며,
9
- # 결제는 Request::PaymentController#create 의 wallet_id + user_token 으로 처리됩니다.
10
- def get_user_wallets(user_id:, sandbox: false)
11
- warn '[DEPRECATION] `get_user_wallets` is deprecated and will be removed in a future major version.'
12
- raise 'user_id 값을 입력해주세요.' if user_id.blank?
13
-
14
- request(
15
- method: :get,
16
- uri: "wallet?user_id=#{user_id}&sandbox=#{sandbox}"
17
- )
18
- end
19
-
20
- # 월렛 결제 요청
21
- # Reference: Go SDK RequestWalletPayment
22
- #
23
- # @deprecated 다음 메이저 버전에서 제거 예정. wallet 엔드포인트는 폐기 예정이며,
24
- # 결제는 wallet_id + user_token 흐름으로 전환하세요.
25
- def request_wallet_payment(user_id:, order_name:, price:, order_id:, tax_free: 0, sandbox: false,
26
- webhook_url: nil, content_type: nil,
27
- items: nil,
28
- user_info: nil,
29
- extra: nil,
30
- metadata: nil)
31
- warn '[DEPRECATION] `request_wallet_payment` is deprecated and will be removed in a future major version.'
32
- raise 'user_id 값을 입력해주세요.' if user_id.blank?
33
- raise 'order_name 값을 입력해주세요.' if order_name.blank?
34
- raise 'price 금액을 설정해주세요.' if price.blank?
35
- raise 'order_id 주문번호를 설정해주세요.' if order_id.blank?
36
-
37
- request(
38
- uri: 'wallet/payment',
39
- payload: {
40
- user_id: user_id,
41
- order_name: order_name,
42
- price: price,
43
- tax_free: tax_free,
44
- order_id: order_id,
45
- sandbox: sandbox,
46
- webhook_url: webhook_url,
47
- content_type: content_type,
48
- items: items,
49
- user: user_info,
50
- extra: extra,
51
- metadata: metadata
52
- }.compact
53
- )
54
- end
55
- end
56
- end