codedge/laravel-bzst-evatr

一个用于通过德国联邦财政部EVATR接口验证增值税识别号(VAT ID)的库。

1.0.1 2016-06-19 08:54 UTC

This package is auto-updated.

Last update: 2024-09-13 22:40:51 UTC


README

Latest Stable Version Build Status StyleCI codecov License

这个库是用于验证欧洲增值税识别号的XmlRPC接口的包装器。
请参阅 https://evatr.bff-online.de/eVatR/xmlrpc/(德语版本)。

使用此库,您可以检查一个欧洲增值税识别号是否有效。此外,您可以传递此欧洲增值税识别号的地址,并执行地址检查。

该库支持简单请求和有资格的请求。

  • 简单请求
    • 检查在请求时某个特定的外国增值税识别号是否有效。
  • 有资格的请求
    • 此外,还检查与增值税识别号关联的地址(公司名称、街道、城市和邮编)是否与外国国家注册的数据相匹配。

所有错误信息都提供英文或德文版本 - 当然,您可以按需修改这些信息。

使用Composer安装

要使用 Composer 安装此库

$ composer require codedge/laravel-bzst-evatr

这将把 codedge/laravel-bzst-evatr 包添加到您的 composer.json 并下载项目。

接下来运行:php artisan vendor:publish 将库的翻译文件发布到 resources/lang/vendor/evatr/<locale>/messages.php

别忘了将 Service Provider 添加到您的 config/app.php [1],以及可选的 facade [2]

// config/app.php

return [

    //...
    
    'providers' => [
        // ...
        
        /*
         * Application Service Providers...
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,
        Codedge\Evatr\EvatrServiceProvider::class, // [1]
    ],
    
    // ...
    
    'aliases' => [
        'App' => Illuminate\Support\Facades\App::class,
        'Artisan' => Illuminate\Support\Facades\Artisan::class,
        
        // ...
        
        'View' => Illuminate\Support\Facades\View::class,
        'Evatr' => Codedge\Evatr\Facades\Evatr::class, // [2]

]

用法

如果使用外观,只需这样做

// app/Http/routes.php

Route::get('/', function () {

    Evatr::setOwnUstId('123');      // Or use an alias: Evatr::setUstId1('123');
    Evatr::setForeignUstId('123');  // Or use an alias: Evatr::setUstId2('123');
    
    Evatr::query(); // Fires the XmlRpc call

    echo 'Error code: ' . Evatr::getResponse()->getErrorCode();
    echo 'Error message: ' . Evatr::getResponse()->getErrorMessage();

    echo 'Date: ' . Evatr::getResponse()->getDate();
    echo 'Time: ' . Evatr::getResponse()->getTime();

});

或者,您可以像这样使用单例实例的依赖注入

// app/Http/routes.php

Route::get('/', function (Codedge\Evatr\Evatr $evatr) {

    $evatr->setOwnUstId('123')
          ->setForeignUstId('123')
          ->query(); // Fires the XmlRpc call

    echo 'Error code: ' . $evatr->getResponse()->getErrorCode();     // Get the interface error code
    echo 'Error message: ' . $evatr->getResponse()->getErrorMessage();  // Get the interface error message
    
    echo 'Date: ' . $evatr->getResponse()->getDate();
    echo 'Time: ' . $evatr->getResponse()->getTime();

});

所有日期和时间方法都返回一个 Carbon 实例,以便更好地进行进一步处理。

请求 - 可用方法和字段

根据您是要发送简单请求还是有资格的请求,请查看需要设置的参数。

响应 - 可用方法和字段

除了响应字段外,响应还返回以下字段

这些结果字段可以有以下结果之一