class Adyen::API::RecurringService::ListResponse
Public Instance Methods
params()
click to toggle source
# File lib/adyen/api/recurring_service.rb 102 def params 103 @params ||= xml_querier.xpath('//recurring:listRecurringDetailsResponse/recurring:result') do |result| 104 details = result.xpath('.//recurring:RecurringDetail') 105 details.empty? ? {} : { 106 :creation_date => DateTime.parse(result.text('./recurring:creationDate')), 107 :details => details.map { |node| parse_recurring_detail(node) }, 108 :last_known_shopper_email => result.text('./recurring:lastKnownShopperEmail'), 109 :shopper_reference => result.text('./recurring:shopperReference') 110 } 111 end 112 end
references()
click to toggle source
# File lib/adyen/api/recurring_service.rb 98 def references 99 details ? details.map { |d| d[:recurring_detail_reference] } : [] 100 end
Private Instance Methods
parse_additional_data(xpath)
click to toggle source
# File lib/adyen/api/recurring_service.rb 169 def parse_additional_data(xpath) 170 if xpath.empty? 171 {} 172 else 173 results = {} 174 xpath.map do |node| 175 key = node.text('./recurring:entry/recurring:key') 176 value = node.text('./recurring:entry/recurring:value') 177 results[key] = value unless key.empty? 178 end 179 180 results 181 end 182 end
parse_bank_details(bank)
click to toggle source
# File lib/adyen/api/recurring_service.rb 157 def parse_bank_details(bank) 158 { 159 :number => bank.text('./payment:bankAccountNumber'), 160 :bank_location_id => bank.text('./payment:bankLocationId'), 161 :bank_name => bank.text('./payment:bankName'), 162 :bic => bank.text('./payment:bic'), 163 :country_code => bank.text('./payment:countryCode'), 164 :iban => bank.text('./payment:iban'), 165 :holder_name => bank.text('./payment:ownerName') 166 } 167 end
parse_card_details(card)
click to toggle source
# File lib/adyen/api/recurring_service.rb 139 def parse_card_details(card) 140 { 141 :expiry_date => Date.new(card.text('./payment:expiryYear').to_i, card.text('./payment:expiryMonth').to_i, -1), 142 :holder_name => card.text('./payment:holderName'), 143 :number => card.text('./payment:number') 144 } 145 end
parse_elv_details(elv)
click to toggle source
# File lib/adyen/api/recurring_service.rb 147 def parse_elv_details(elv) 148 { 149 :holder_name => elv.text('./payment:accountHolderName'), 150 :number => elv.text('./payment:bankAccountNumber'), 151 :bank_location => elv.text('./payment:bankLocation'), 152 :bank_location_id => elv.text('./payment:bankLocationId'), 153 :bank_name => elv.text('./payment:bankName') 154 } 155 end
parse_recurring_detail(node)
click to toggle source
# File lib/adyen/api/recurring_service.rb 116 def parse_recurring_detail(node) 117 result = { 118 :recurring_detail_reference => node.text('./recurring:recurringDetailReference'), 119 :variant => node.text('./recurring:variant'), 120 :creation_date => DateTime.parse(node.text('./recurring:creationDate')), 121 :additional_data => parse_additional_data(node.xpath('./recurring:additionalData')) 122 } 123 124 card = node.xpath('./recurring:card') 125 elv = node.xpath('./recurring:elv') 126 bank = node.xpath('./recurring:bank') 127 128 if !card.children.empty? 129 result[:card] = parse_card_details(card) 130 elsif !elv.children.empty? 131 result[:elv] = parse_elv_details(elv) 132 else 133 result[:bank] = parse_bank_details(bank) 134 end 135 136 result 137 end