任何人都知道在我们的网站上合并表格以验证VIES的方法吗?我找到了通过欧盟网站验证的信息。
http://ec.europa.eu/taxation_customs/vies/vieshome.do
我感兴趣的是直接通过我网站的付款数据形式验证。
感谢。
答案 0 :(得分:90)
实际上,可以通过API查询VIES数据库 它们仅支持SOAP协议,但这应该足够了。
这是一个简单的例子:
$client = new SoapClient("http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl");
var_dump($client->checkVat(array(
'countryCode' => $countryCode,
'vatNumber' => $vatNo
)));
这是WSDL:http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl
有多个API提供程序基于原始提供程序,但使用不同的协议提供它。简单地说,它们就像翻译一样 - 将json与您的应用程序一起使用,并使用SOAP连接到原始API。这些都存在连接超时的主要问题。
有时VIES数据库响应缓慢,因此需要更多时间来返回响应。在设计应用程序时应考虑这一点。
答案 1 :(得分:5)
此网站将普通的HTML表单发送到服务器。
最简单的解决方案是在URL中传递参数并使用file_get_contents来获取响应。
然后可以解析响应以提取所需的信息。没有经过测试,但显示了这个想法:
$country1 = 'PL';
$country2 = 'PL';
$vatnum1 = '123456';
$vatnum2 = '789012';
//Prepare the URL
$url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms='.$country1.'&iso='.$country1.'&vat='.$vatnum1.'&name=&companyType=&street1=&postcode=&city=&requesterMs='.$country2.'&requesterIso='.$country2.'&requesterVat='.$vatnum2.'&BtnSubmitVat=Verify';
$response = file_get_contents($url);
// Do sth with the response
echo $response;
答案 2 :(得分:3)
以下是基于完整堆栈验证javascript的验证脚本,每个国家正则表达式+模数:
http://www.braemoor.co.uk/software/vat.shtml
下载链接: http://www.braemoor.co.uk/software/downloads/jsvat.zip
使用webservices有时候不是一种选择。
另请参阅用于欧盟增值税验证的PHP端口:
答案 3 :(得分:2)
您现在可以使用js lib进行欧洲增值税验证:
jsvat - small library to check validity of EU VAT number
基于braemoor's vat lib,但使用现代js标准重写(braemoor,用于exapmpe stil使用.eval()
)并添加到bower和npm注册表。
还有单元测试。
bower i jsvat --save
或
npm i jsvat --save
答案 4 :(得分:1)
我在ruby中需要这个,所以这是我的代码
将此方法添加到您的控制器
def validateVAT
# create a client for the service
client = Savon.client(wsdl: 'http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl')
response = client.call(:check_vat, message: {countryCode: params[:country_code], vatNumber: params[:vat]})
render json: { valid: response.body[:check_vat_response][:valid] }, status: :ok
end
答案 5 :(得分:1)
我在http://vatid.eu使用了REST服务,但由于它们被VIES阻止(我想由于请求量很大),我已切换到http://apilayer.net/。
免费计划是每月100个请求,所以我实施了一个小缓存,我生成了自己的有效增值税号码表(每年可更新),所以我不会花费更多的请求查看相同的增值税号码不止一次。 适合我的需要;)
答案 6 :(得分:1)
这是一个包含VIES WebService的composer包。您可以快速轻松地使用它: https://github.com/drahosistvan/vatvalidation
答案 7 :(得分:0)
VIES数据库还有一个API。 https://vatlayer.com/documentation
我正在寻找解决地址信息的方法。现在你可以得到它,但它是一个字符串。