用于处理欧盟增值税的小额支付的支付处理器

Posted

技术标签:

【中文标题】用于处理欧盟增值税的小额支付的支付处理器【英文标题】:Payment processor for micro payments with EU Vat handling 【发布时间】:2014-12-22 08:19:57 【问题描述】:

目前,我正在使用 PayPal IPN 为本地托管网站商店的移动应用程序处理小额支付(范围在 1 欧元到 7 欧元之间)。这些应用商店外销售产生的金额不是很高,但它是为我的客户提供的服务。从 2015 年 1 月 1 日开始,一项新法律强制根据每个欧洲当地国家的增值税税率计算和支付增值税。

现在我正在寻找处理增值税收费的支付处理商。我已经查看了 Digitalriver 产品和 Fastspring,但两者都有最低交易费用,这占了销售价格的很大一部分。

是否有其他更适合小额支付的处理增值税的支付处理器?

问候,

【问题讨论】:

看看Taxamo。我已帮助我遵守新法律。 感谢您的提示。我已经实施了自己的解决方案,它总结了所有国家的季度提交。我发现的所有支付处理器对于我的少数销售和小额支付来说都太贵了。 【参考方案1】:

如果它对您或其他人有帮助,这里有一些 php 代码,您可以使用它来根据访问者的 IP 地址计算欧盟成员国的增值税率

显然,使用风险自负。增值税税率在发布时是正确的,但将来可能会发生变化。在发生争议的情况下,该立法需要两个正确国家的证据。您可以使用下面的代码作为一个证据,但您可能需要另一个证据。

function getIPAddress()

    $ret = "";
    if (isset($_SERVER['HTTP_CLIENT_IP']))
        $ret = $_SERVER['HTTP_CLIENT_IP'];

    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
        $ret = $_SERVER['HTTP_X_FORWARDED_FOR'];
    else
        $ret = $_SERVER['REMOTE_ADDR'];
    return $ret;


function getVatRateFromIpCountryCode()

    // Work out IP address and country code
    $remote_addr = getIPAddress();
    $xml = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=".$remote_addr); // don't do more than 120 lookups in a minute or you'll get blacklisted for an hour
    $countryCode = $xml->geoplugin_countryCode;
    //$countryCode = "LU";  // test force contryCode

    // see http://ec.europa.eu/taxation_customs/resources/documents/taxation/vat/how_vat_works/rates/vat_rates_en.pdf for current EU VAT rates
    $vat_percentage = 0;
    switch ( $countryCode )
    
    case "EU":      $vat_percentage = 20;   break;  // unknown EU country
    case "BE":      $vat_percentage = 21;   break;  // Belgium
    case "BG":      $vat_percentage = 20;   break;  // Bulgaria
    case "CZ":      $vat_percentage = 21;   break;  // Czech Republic
    case "DK":      $vat_percentage = 25;   break;  // Denmark
    case "DE":      $vat_percentage = 19;   break;  // Germany
    case "EE":      $vat_percentage = 20;   break;  // Estonia
    case "EL":
    case "GR":      $vat_percentage = 23;   break;  // Greece
    case "ES":      $vat_percentage = 21;   break;  // Spain
    case "FR":      $vat_percentage = 20;   break;  // France
    case "HR":      $vat_percentage = 25;   break;  // Croatia
    case "IE":      $vat_percentage = 23;   break;  // Ireland
    case "IT":      $vat_percentage = 22;   break;  // Italy
    case "CY":      $vat_percentage = 19;   break;  // Cyprus
    case "LV":      $vat_percentage = 21;   break;  // Latvia
    case "LT":      $vat_percentage = 21;   break;  // Lithuania
    case "LU":      $vat_percentage = 15;   break;  // Luxembourg
    case "HU":      $vat_percentage = 27;   break;  // Hungary
    case "MT":      $vat_percentage = 18;   break;  // Malta
    case "NL":      $vat_percentage = 21;   break;  // Netherlands
    case "AT":      $vat_percentage = 20;   break;  // Austria
    case "PL":      $vat_percentage = 23;   break;  // Poland
    case "PT":      $vat_percentage = 23;   break;  // Portugal
    case "RO":      $vat_percentage = 24;   break;  // Romania
    case "SI":      $vat_percentage = 22;   break;  // Solvenia
    case "SK":      $vat_percentage = 20;   break;  // Slovakia
    case "FI":      $vat_percentage = 24;   break;  // Finland
    case "SE":      $vat_percentage = 25;   break;  // Sweden
    case "UK":
    case "GB":      $vat_percentage = 20;   break;  // United Kingdom
    default:        break;
    
    //echo "countryCode = '$countryCode', vat_percentage = $vat_percentage<BR>";    // debugging
    return $vat_percentage/100;

【讨论】:

以上是关于用于处理欧盟增值税的小额支付的支付处理器的主要内容,如果未能解决你的问题,请参考以下文章

“聚合支付”增值盛宴:打通银行垂直账户壁垒

怎样用PHP进行支付宝手机网站支付开发

电商财务做账流程

如何在确认页面上存储用于支付处理的数据?

贝宝小额支付

使用多个支付提供商时处理存储卡详细信息[关闭]