Class: FedexWebService::AddressVerification

Inherits:
FedexWebService show all
Defined in:
lib/fedex_web_service/address_verification.rb

Instance Attribute Summary

Attributes inherited from FedexWebService

#full_response, #label, #temp_image, #tracking_number

Instance Method Summary collapse

Methods inherited from FedexWebService

#future_shipment, #initialize

Constructor Details

This class inherits a constructor from FedexWebService

Instance Method Details

#verify_address(order) ⇒ Object

receives an order_info object and parses it into a verification request. Returns an AddressVerificationResponse (object)



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/fedex_web_service/address_verification.rb', line 4

def verify_address(order)
  puts wsdl = wsdl = File.expand_path( RAILS_ROOT + "/lib/wsdl/" + @fedex_conf[:av_wsdl] )
  driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver

  call = { :WebAuthenticationDetail => {
              :UserCredential => {
                :Key => @key, 
                :Password => @password
              } 
            },
      :ClientDetail => {
        :AccountNumber => @accountnumber, 
        :MeterNumber => @meternumber 
      },
      :TransactionDetail => {
        :CustomerTransactionId => "WSVC_addressvalidation"
      },
      :Version => {:ServiceId => 'aval', :Major => '2', :Intermediate => '0', :Minor => '0'},
      :RequestTimestamp => self.fedex_time_stamp(),
      :Options => {
        :VerifyAddresses => 1,
        :CheckResidentialStatus => 1
      },
      :AddressesToValidate => 
        [:Address => {
          :CountryCode => 'US',
          :StreetLines => order.shipping_address_1,
          :City => order.shipping_city,
          :StateOrProvinceCode => order.shipping_state,
          :PostalCode => order.shipping_zip,
          :Residential => true
        }]
    
    }
 
  result = driver.addressValidation(call)
  AddressVerificationResponse.new(result)
end