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,152 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'bootpay/commerce/commerce_resource'
4
- require_relative 'bootpay/commerce/user'
5
- require_relative 'bootpay/commerce/user_group'
6
- require_relative 'bootpay/commerce/product'
7
- require_relative 'bootpay/commerce/invoice'
8
- require_relative 'bootpay/commerce/order'
9
- require_relative 'bootpay/commerce/order_cancel'
10
- require_relative 'bootpay/commerce/order_subscription'
11
- require_relative 'bootpay/commerce/order_subscription_bill'
12
- require_relative 'bootpay/commerce/order_subscription_adjustment'
13
- require_relative 'bootpay/commerce/order_subscription_request'
14
- require_relative 'bootpay/commerce/store'
15
- require_relative 'bootpay/commerce/category'
16
- require_relative 'bootpay/commerce/coupon'
17
- require_relative 'bootpay/commerce/point'
18
- require_relative 'bootpay/commerce/cart'
19
-
20
- module Bootpay
21
- module Commerce
22
- # Bootpay Commerce API 클라이언트
23
- #
24
- # 사용 예시:
25
- # commerce = Bootpay::Commerce::Api.new(
26
- # client_key: 'your_client_key',
27
- # secret_key: 'your_secret_key',
28
- # mode: 'production'
29
- # )
30
- #
31
- # # 액세스 토큰 발급
32
- # token_response = commerce.get_access_token
33
- #
34
- # # Role 설정 (메서드 체이닝 지원)
35
- # commerce.as_manager
36
- #
37
- # # 사용자 목록 조회
38
- # users = commerce.user.list(page: 1, limit: 10)
39
- #
40
- # # 상품 생성 (이미지 포함)
41
- # product = commerce.product.create({ name: '상품명', price: 10000 }, ['/path/to/image.jpg'])
42
- #
43
- class Api < CommerceResource
44
- attr_reader :user, :user_group, :product, :invoice, :order,
45
- :order_cancel, :order_subscription, :order_subscription_bill,
46
- :order_subscription_adjustment, :order_subscription_request,
47
- :store, :category, :coupon, :point, :cart
48
-
49
- def initialize(client_key: nil, secret_key: nil, mode: 'production')
50
- super()
51
- if client_key && secret_key
52
- set_configuration(client_key: client_key, secret_key: secret_key, mode: mode)
53
- end
54
- init_modules
55
- end
56
-
57
- # 액세스 토큰 발급
58
- # client_key/secret_key로 Basic Auth 인증
59
- def get_access_token
60
- response = post_with_basic_auth('request/token', {
61
- client_key: @client_key,
62
- secret_key: @secret_key
63
- })
64
-
65
- if response.is_a?(Hash) && response[:access_token]
66
- set_token(response[:access_token])
67
- end
68
-
69
- response
70
- end
71
-
72
- # 토큰을 발급받아 설정 (메서드 체이닝)
73
- def with_token
74
- get_access_token
75
- self
76
- end
77
-
78
- # 현재 설정된 토큰 반환
79
- def current_token
80
- get_token
81
- end
82
-
83
- # 토큰이 설정되어 있는지 확인
84
- def has_token?
85
- token = get_token
86
- !token.nil? && !token.empty?
87
- end
88
-
89
- # Role 설정 (메서드 체이닝)
90
- def with_role(role)
91
- set_role(role)
92
- self
93
- end
94
-
95
- # 일반 사용자 role로 설정
96
- def as_user
97
- with_role('user')
98
- end
99
-
100
- # 매니저 role로 설정
101
- def as_manager
102
- with_role('manager')
103
- end
104
-
105
- # 파트너 role로 설정
106
- def as_partner
107
- with_role('partner')
108
- end
109
-
110
- # 벤더 role로 설정
111
- def as_vendor
112
- with_role('vendor')
113
- end
114
-
115
- # 슈퍼바이저 role로 설정
116
- def as_supervisor
117
- with_role('supervisor')
118
- end
119
-
120
- # 현재 role 반환
121
- def current_role
122
- get_role
123
- end
124
-
125
- # role을 기본값(user)으로 초기화
126
- def clear_role
127
- set_role('user')
128
- self
129
- end
130
-
131
- private
132
-
133
- def init_modules
134
- @user = UserModule.new(self)
135
- @user_group = UserGroupModule.new(self)
136
- @product = ProductModule.new(self)
137
- @invoice = InvoiceModule.new(self)
138
- @order = OrderModule.new(self)
139
- @order_cancel = OrderCancelModule.new(self)
140
- @order_subscription = OrderSubscriptionModule.new(self)
141
- @order_subscription_bill = OrderSubscriptionBillModule.new(self)
142
- @order_subscription_adjustment = OrderSubscriptionAdjustmentModule.new(self)
143
- @order_subscription_request = OrderSubscriptionRequestModule.new(self)
144
- @store = StoreModule.new(self)
145
- @category = CategoryModule.new(self)
146
- @coupon = CouponModule.new(self)
147
- @point = PointModule.new(self)
148
- @cart = CartModule.new(self)
149
- end
150
- end
151
- end
152
- end
File without changes