class Paynl::Transaction
Public Instance Methods
getTransaction(transactionId)
click to toggle source
# File lib/paynl/transaction.rb, line 125 def getTransaction(transactionId) api = Paynl::Api::TransactionInfo.new api.setTransactionId(transactionId) return api.doRequest end
refund(transactionId, amount = nil, description = nil)
click to toggle source
# File lib/paynl/transaction.rb, line 131 def refund(transactionId, amount = nil, description = nil) api = Paynl::Api::TransactionRefund.new api.setTransactionId(transactionId) unless amount.nil? api.setAmount(amount) end unless description.nil? api.setDescription(description) end return api.doRequest end
start(options)
click to toggle source
# File lib/paynl/transaction.rb, line 3 def start(options) enduser = Hash.new api = Paynl::Api::StartTransaction.new unless (options['amount'].nil?) api.setAmount(options['amount'].round(2) * 100) end unless (options['currency'].nil?) api.setCurrency(options['currency']) end unless (options['returnUrl'].nil?) api.setFinishUrl(options['returnUrl']) end unless (options['exchangeUrl'].nil?) api.setExchangeUrl(options['exchangeUrl']) end unless (options['paymentMethod'].nil?) api.setPaymentOptionId(options['paymentMethod']) end unless (options['bank'].nil?) api.setPaymentOptionSubId(options['bank']) end unless (options['description'].nil?) api.setDescription(options['description']) end unless (options['testMode'].nil?) if options['testMode'] == true or options['testMode'] == 'true' api.setTestMode(true) end end unless (options['ipaddress'].nil?) api.setIpAddress(options['ipaddress']) end unless (options['extra1']).nil? api.setExtra1(options['extra1']) end unless (options['extra2'].nil?) api.setExtra2(options['extra2']) end unless (options['extra3'].nil?) api.setExtra3(options['extra3']) end unless (options['products'].nil?) options['products'].each_with_index { |product, index| taxClass = Paynl::Helper::calculateTaxClass(product[1]['price'], product[1]['tax']) api.addProduct(product[1]['id'], product[1]['name'], (product[1]['price'].round * 100), product[1]['qty'], taxClass) } end unless (options['enduser'].nil?) enduser = options['enduser'].to_hash end unless (options['language'].nil?) enduser['language'] = options['language'] end unless (options['address'].nil?) address = Hash.new unless (options['address']['streetName'].nil?) address.store('streetName', options['address']['streetName']) end unless (options['address']['houseNumber'].nil?) address.store('houseNumber', options['address']['houseNumber']) end unless (options['address']['zipCode'].nil?) address.store('zipCode', options['address']['zipCode']) end unless (options['address']['city'].nil?) address.store('city', options['address']['city']) end unless (options['address']['country'].nil?) address.store('country', options['address']['country']) end enduser.store('address', address) end unless (options['invoiceAddress'].nil?) invoiceAddress = Hash.new unless (options['invoiceAddress']['initials'].nil?) invoiceAddress.store('initials', options['invoiceAddress']['initials']) end unless (options['invoiceAddress']['lastName'].nil?) invoiceAddress.store('lastName', options['invoiceAddress']['lastName']) end unless (options['invoiceAddress']['streetName'].nil?) invoiceAddress.store('streetName', options['invoiceAddress']['streetName']) end unless (options['invoiceAddress']['houseNumber'].nil?) invoiceAddress.store('houseNumber', options['invoiceAddress']['houseNumber']) end unless (options['invoiceAddress']['zipCode'].nil?) invoiceAddress.store('zipCode', options['invoiceAddress']['zipCode']) end unless (options['invoiceAddress']['city'].nil?) invoiceAddress.store('city', options['invoiceAddress']['city']) end unless (options['invoiceAddress']['country'].nil?) invoiceAddress.store('country', options['invoiceAddress']['country']) end enduser.store('invoiceAddress', invoiceAddress) end api.setEnduser(enduser) return api.doRequest end