Class: PayboxApi::V4::Client
- Inherits:
-
Object
- Object
- PayboxApi::V4::Client
- Defined in:
- lib/paybox_api/v4/client.rb
Instance Method Summary collapse
-
#initialize(merchant_id:, secret_key:) ⇒ Client
constructor
A new instance of Client.
- #payments(**params) ⇒ Object
Constructor Details
#initialize(merchant_id:, secret_key:) ⇒ Client
Returns a new instance of Client.
7 8 9 10 |
# File 'lib/paybox_api/v4/client.rb', line 7 def initialize(merchant_id:, secret_key:) @merchant_id = merchant_id @secret_key = secret_key end |
Instance Method Details
#payments(**params) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/paybox_api/v4/client.rb', line 12 def payments(**params) required_keys = [ :order, :amount, :currency, :description, :uuid ] unless required_keys.all? { |key| params.key? key } raise "Payments method required keys: #{required_keys.join(', ')}" end uri = URI.parse url http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri.to_s) req.basic_auth @merchant_id, @secret_key req['X-Idempotency-Key'] = params[:uuid] params.except! :uuid params[:order] = params[:order].to_s params[:expires_at] ||= (DateTime.now + 1.day).to_s json = params.to_json http.request(req, json).body end |