module Klarna::Checkout::Operations::CreateRecurring

Public Instance Methods

create_recurring_order(**args) click to toggle source

args contain the following: [{order_lines}], order_amount, order_tax_amount, purchase_currency, locale, recurring_token

# File lib/klarna/checkout/operations/create_recurring.rb, line 9
def create_recurring_order(**args)
  payload = {
    'locale': args[:locale],
    'order_lines': args[:order_lines],
    'order_amount': args[:order_amount],
    'order_tax_amount': args[:order_tax_amount],
    'purchase_currency': args[:purchase_currency],
    'auto_capture': true
  }

  JSON.parse(request(payload.to_json, args[:recurring_token]))
end

Private Instance Methods

request(payload, recurring_token) click to toggle source
# File lib/klarna/checkout/operations/create_recurring.rb, line 24
def request(payload, recurring_token)
  https_connection.post do |req|
    req.url "/customer-token/v1/tokens/#{recurring_token}/order"
    req.options.timeout = 10

    req.headers['Authorization'] = authorization
    req.headers['Content-Type']  = 'application/json'
    req.body = payload
  end.body
end