让WooCommerce 中文网关支持PayPal 并自动按汇率进行转换
如果你使用WooCommerce 并将本地设置为中国,那么如果启用PayPal 支付方式,会提示你:贝宝不支持你的商铺货币。本文就是解决这个问题,让WooCommerce 中文网关支持PayPal 并自动按汇率进行转换。
非PayPal 支持区域的WooCommerce 用户会遇到“ 网关已禁用: 贝宝不支持你的商铺货币。”的提示(Gateway Disabled: PayPal does not support your store's currency. )。如下图:
与这一设定有关的函数是woocommerce_paypal_supported_currencies
,hook之:
add_filter( 'woocommerce_paypal_supported_currencies', 'enable_custom_currency' ); function enable_custom_currency($currency_array) { $currency_array[] = 'CNY'; return $currency_array; } |
---|
加上上面这段就可以让中文网关也支持PayPal 了。不过当你PayPal 设置好后,你会发现在人民币的价格币种下,使用PayPal 支付时候会直接转化为美元而已——即如果说商品售价¥99,那么用paypal支付就是支付 $99 ——这种情况你的顾客肯定不满意。下面的代码就可以让PayPal 支付时候将人民币数额转化为相应的美元数额(代码来自solagirl)。
//美元人民币转,汇率自己定义 add_filter('woocommerce_paypal_args', 'convert_rmb_to_usd'); function convert_rmb_to_usd($paypal_args){ if ( $paypal_args['currency_code'] == 'CNY'){ $convert_rate = 6.2; //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; } |
---|
代码已经托管到Github gist,查看:https://gist.github.com/Jeff2Ma/91f148fc301a8ae0851b
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
- CentOS6.5菜鸟之旅:U盘安装CentOS64位
- 人工智能创造新型态工作 制造业受冲击
- ASP.NET Core File Providers
- JS魔法堂之实战:纯前端的图片预览
- 域名publica.com近50万交易 买家身份浮出水面
- Vim杂记:Sublime的配色方案
- Vim杂记:markdown插件
- 【手把手教你全文检索】Apache Lucene初探
- 微信小程序的“小游戏” 是什么?
- CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
- JS魔法堂:Data URI Scheme介绍
- Sedo榜:域名happymath.com以3.5万美金交易居榜首
- ASP.NET Core WebListener 服务器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 阔别两年,webpack 5 正式发布了!
- SAP Spartacus delivery mode continue button enable与否的逻辑
- codeforces 1342C(前缀和)
- leetcode-寻找两个正序数组的中位数
- Shell脚本常用命令一览
- 深入学习 React 合成事件
- 关于fixture.debugElement.query(By.css)这个方法的一个疑问
- codeforces 1334C(前缀和)
- Angular通过依赖注入机制注入一个对象的例子
- 简易数据分析(七):Web Scraper 抓取表格、分页器翻页数据
- codeforces 1327C(构造)
- zabbix分布式及高可用
- Angular单元测试的spyOn使用一例
- SQL-JOIN全解析
- Node.js上传单文件和多文件的一些示例博客和源代码