将不支持的paypal货币实施到woocommerce的最佳方式

时间:2011-12-14 21:16:58

标签: wordpress paypal currency

我正在建立一个网店,我正在使用woocommerce。问题如下:

我的客户只想在克罗地亚销售,目前这意味着我必须在库纳斯(HRK)展示价格......

我有用于woocommerce的PayPal网关,我已经使用以下代码将克罗地亚Kuna实施到woocommerce系统中(我只是发布这个以进行完整描述):

<?php
// Add currency / symbol
add_filter( 'woocommerce_currencies', 'add_rand_currency' );
add_filter( 'woocommerce_currency_symbol', 'add_rand_currency_symbol' );

function add_rand_currency( $currencies ) {
    $currencies['HRK'] = __( 'Croatian Kuna (kn)', 'woothemes' );
    return $currencies;
}

function add_rand_currency_symbol( $symbol ) {
    $currency = get_option( 'woocommerce_currency' );
    switch( $currency ) {
        case 'HRK': $symbol = 'kn'; break;
    }
    return $symbol;
}
?>

如果我从管理中选择克罗地亚库纳作为我的货币,PayPal网关表示不支持货币。好的,所以我知道我不能在库纳发送客户订单,但我可以用欧元做这件事。

所以这是我的想法,我想听听你对它的看法。

我将使用我的默认货币欧元(这意味着我必须以欧元输入产品价格),并且在前端我会用jQuery获得所有价格(很好地用.price css类包装)并重新计算它们从欧元到库纳(只是在视觉上),而woocommerce将结账所有产品以欧元支付朋友。

添加,我正在按期限运行,这只是要解决的问题,所以这是我用JavaScript做的主要原因。我可能会使用yahoo api进行货币兑换,如果有更好的消息让我知道。

3 个答案:

答案 0 :(得分:5)

前段时间我在博客上做了一个关于这个主题的教程。它处理

  1. 如何添加新货币;
  2. 货币符号;
  3. 在Paypal付款之前,允许Paypal使用您的新货币并将金额转换为Paypal支持的货币。
  4. http://devseon.com/en/wordpress-tutorials/woocommerce-add-a-paypal-unsupported-currency/

    请检查出来。我想对于当前的问题,你只需要我教程的第3部分。但乔治是正确的,为了允许Paypal使用新货币,您必须编辑插件文件中的is_valid_for_use()函数: wp-content / plugins / woocommerce / classes / gateways / paypal / class-wc-paypal.php确切地说。付款过滤器之前的货币转换在我的博客中有描述。

答案 1 :(得分:0)

应该可以绕过检测不支持货币的当前功能,然后在将信息发送到PayPal之前通过google calculator api将购物车转换为USD。

第一部分可能涉及编辑核心插件文件* yikes 任何人都可以指出应该在哪里实现这样的功能吗?

在他们的服务器上没有paypal支持货币转换吗?

答案 2 :(得分:-1)

在主题function.php中添加代码,它将起作用。

// Add currency / symbol
add_filter( 'woocommerce_currencies', 'add_rand_currency' );
add_filter( 'woocommerce_currency_symbol', 'add_rand_currency_symbol' );

function add_rand_currency( $currencies ) {
    $currencies['RON'] = __( 'Romania (Ron)', 'woothemes' );
    return $currencies;
}

function add_rand_currency_symbol( $symbol ) {
    $currency = get_option( 'woocommerce_currency' );
    switch( $currency ) {
        case 'RON': $symbol = 'RON: '; break;
    }
    return $symbol;
}