返回介绍

WooCommerce Paypal & RMB

发布于 2022-01-02 19:03:58 字数 1884 浏览 981 评论 0 收藏 0

如果在WooCommerce中设置主货币为RMB,且付款方式支持paypal,当用户选择使用paypal支付时,就会发生1块钱变成1刀的悲剧。还好这个问题并非无药可解。

解决方法是在系统向paypal发送参数前更改参数,WooCommerce提供的woocommerce_paypal_args filter可以完成这个任务。代码如下:

add_filter('woocommerce_paypal_args', 'convert_rmb_to_usd');
function convert_rmb_to_usd($paypal_args){
    if ( $paypal_args['currency_code'] == 'RMB'){
        $convert_rate = 6.2116; //Set converting rate
        $count = 1;
        while( isset($paypal_args['amount_' . $count]) ){
            $paypal_args['amount_' . $count] = round( $paypal_args['amount_' . $count] / $convert_rate, 2);
            $count++;
        }       
    }
    return $paypal_args;
}

如果发现currency_code是RMB,就把currency_code转换成美元(USD),且按照汇率($convert_rate)把商品的价格(amount_1)和运费(amount_2)都转化成美元。

如果你想接收其它paypal支持的货币(这货为啥就不支持RMB),比如港币,只需要更改currency code($paypal_args[‘currency_code’])和汇率($convert_rate)就可以了。

货币符号对照表在此,按自己需要的选择吧。

AUD: Australian Dollar

BRL: Brazilian Real

CAD: Canadian Dollar

MXN: Mexican Nuevo Peso

NZD: New Zealand Dollar

HKD: Hong Kong Dollar

SGD: Singapore Dollar

USD: US Dollar

EUR: Euro

JPY: Japanese Yen

TRY: Turkish Lira

NOK: Norwegian Krone

CZK: Czech Koruna

DKK: Danish Krone

HUF: Hungarian Forint

ILS: Israeli New Shekel

MYR: Malaysian Ringgit

PHP: Philippine Peso

PLN: Polish Zloty

SEK: Swedish Krona

CHF: Swiss Franc

TWD: Taiwan Dollar

THB: Thai Baht

GBP: Pound Sterling

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文