class Przelewy24::Recurring::Client

Public Class Methods

new(login, password, mode = :sandbox) click to toggle source
# File lib/przelewy24/recurring/client.rb, line 4
def initialize(login, password, mode = :sandbox)
  @login = login
  @password = password

  if mode == :production
    @wsdl = 'https://secure.przelewy24.pl/external/wsdl/charge_card_service.php?wsdl'
  elsif mode == :sandbox
    @wsdl = 'https://sandbox2.przelewy24.pl/external/wsdl/charge_card_service.php?wsdl'
  else
    raise InvalidGatewayUrl
  end
end

Public Instance Methods

charge_card(data = {}) click to toggle source
# File lib/przelewy24/recurring/client.rb, line 36
def charge_card(data = {})
  response = client.call(:charge_card, message: {
    login: @login,
    pass: @password,
    refId: data[:ref_id],
    amount: data[:amount],
    currency: data[:currency],
    sessionId: data[:session_id],
    client: data[:client],
    description: data[:description]
  })

  SoapResponse.new(response.body[:charge_card_response][:return])
end
get_transaction_reference(order_id) click to toggle source
# File lib/przelewy24/recurring/client.rb, line 26
def get_transaction_reference(order_id)
  response = client.call(:get_transaction_reference, message: {
    login: @login,
    pass: @password,
    orderId: order_id
  })

  SoapResponse.new(response.body[:get_transaction_reference_response][:return])
end
test_access() click to toggle source
# File lib/przelewy24/recurring/client.rb, line 17
def test_access
  response = client.call(:test_access, message: {
    login: @login,
    pass: @password
  })

  response[:test_access_response][:return]
end

Private Instance Methods

client() click to toggle source
# File lib/przelewy24/recurring/client.rb, line 53
def client
  @client ||= Savon::Client.new(wsdl: @wsdl)
end