Business-Tax-VAT-Validation
view release on metacpan or search on metacpan
lib/Business/Tax/VAT/Validation.pm view on Meta::CPAN
354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385sub
_check_vies {
my
(
$self
,
$vatNumber
,
$countryCode
) =
@_
;
my
$ua
=
$self
->_get_ua();
my
$request
= HTTP::Request->new(
POST
=>
$self
->{baseurl});
$request
->content(_in_soap_envelope(
$vatNumber
,
$countryCode
));
$request
->content_type(
"text/xml; charset=utf-8"
);
my
$response
=
$ua
->request(
$request
);
return
$countryCode
.
'-'
.
$vatNumber
if
$self
->_is_res_ok(
$response
->code,
$response
->decoded_content );
}
sub
_check_hmrc {
my
(
$self
,
$vatNumber
,
$countryCode
) =
@_
;
my
$ua
=
$self
->_get_ua();
my
$request
= HTTP::Request->new(
GET
=>
$self
->{hmrc_baseurl}.
$vatNumber
);
$request
->header(
Accept
=>
'application/vnd.hmrc.1.0+json'
);
my
$response
=
$ua
->request(
$request
);
$self
->{res} =
$response
->decoded_content;
if
(
$response
->code == 200) {
my
$data
= decode_json(
$self
->{res});
$self
->{information}->{name} =
$data
->{target}->{name};
my
$line
= 1;
my
$address
=
""
;
while
(
defined
$data
->{target}->{address}->{
"line$line"
}) {
$address
.=
$data
->{target}->{address}->{
"line$line"
}.
"\n"
;
$line
++;
}
$address
.=
$data
->{target}->{address}->{postcode};
( run in 0.247 second using v1.01-cache-2.11-cpan-454fe037f31 )