Class: Valvat::Lookup::VIES

Inherits:
Base
  • Object
show all
Defined in:
lib/valvat/lookup/vies.rb

Constant Summary collapse

ENDPOINT_URI =
URI('https://ec.europa.eu/taxation_customs/vies/services/checkVatService').freeze
HEADERS =
{
  'Accept' => 'text/xml;charset=UTF-8',
  'Content-Type' => 'text/xml;charset=UTF-8',
  'SOAPAction' => ''
}.freeze
BODY =
<<-XML.gsub(/^\s+/, '')
  <soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
    <soapenv:Header/>
    <soapenv:Body>
      <urn:checkVat<%= 'Approx' if @requester %>>
          <urn:countryCode><%= @vat.vat_country_code %></urn:countryCode>
          <urn:vatNumber><%= @vat.to_s_wo_country %></urn:vatNumber>
          <% if @requester %>
          <urn:requesterCountryCode><%= @requester.vat_country_code %></urn:requesterCountryCode>
          <urn:requesterVatNumber><%= @requester.to_s_wo_country %></urn:requesterVatNumber>
          <% end %>
      </urn:checkVat<%= 'Approx' if @requester %>>
    </soapenv:Body>
  </soapenv:Envelope>
XML
BODY_TEMPLATE =
ERB.new(BODY).freeze

Method Summary

Methods inherited from Base

#initialize, #perform

Constructor Details

This class inherits a constructor from Valvat::Lookup::Base