Class: Payabli::Token::Client
- Inherits:
-
Object
- Object
- Payabli::Token::Client
- Defined in:
- lib/payabli/token/client.rb
Instance Method Summary collapse
-
#create_server_side_token(request_options: {}, **params) ⇒ Payabli::Types::PayabliAccessTokenResponse
Exchanges a client ID and client secret for a short-lived Bearer access token using the OAuth2 client-credentials flow.
- #initialize(client:) ⇒ void constructor
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/payabli/token/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create_server_side_token(request_options: {}, **params) ⇒ Payabli::Types::PayabliAccessTokenResponse
Exchanges a client ID and client secret for a short-lived Bearer access token using the OAuth2
client-credentials flow. Designed for server-to-server use: the credentials and the returned token stay on your
backend. Send the returned access_token in the Authorization header as Bearer <access_token> on subsequent
API calls. See the OAuth authentication guide for the full flow.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/payabli/token/client.rb', line 27 def create_server_side_token(request_options: {}, **params) params = Payabli::Internal::Types::Utils.normalize_keys(params) request = Payabli::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/Token/serverside", body: Payabli::Token::Types::CreateServerSideTokenRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Payabli::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Payabli::Types::PayabliAccessTokenResponse.load(response.body) else error_class = Payabli::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |