问题描述:

  ecstore使用paypal支付,下单结算时显示不支持此支付。

问题和代码分析:

  1、首先必须要保证默认货币是paypal支持的货币,paypal目前支付

    

["supportCurrency"]=>
array(17) {
["USD"]=>
string(3) "USD"
["CAD"]=>
string(3) "CAD"
["EUR"]=>
string(3) "EUR"
["GBP"]=>
string(3) "GBP"
["JPY"]=>
string(3) "JPY"
["AUD"]=>
string(3) "AUD"
["NZD"]=>
string(3) "NZD"
["CHF"]=>
string(3) "CHF"
["HKD"]=>
string(3) "HKD"
["SGD"]=>
string(3) "SGD"
["SEK"]=>
string(3) "SEK"
["DKK"]=>
string(3) "DKK"
["PLZ"]=>
string(3) "PLZ"
["NOK"]=>
string(3) "NOK"
["HUF"]=>
string(3) "HUF"
["CSK"]=>
string(3) "CSK"
["CNY"]=>
string(3) "CNY"
}

    2、跟踪代码发现支付逻辑是这样的,首先拿出已经开启的并且与当前支付货币无冲突支付方式,然后比对用户选择的支付方式。成功则跳转至选中支付方式的支付平台去支付。

      既然是酱紫,追溯这个思路。可能性有两种:

          a、程序判断支付方式的开启出现的问题;

          b、在处理用户选择支付方式当前默认支付货币无冲突时出现问题

    3、跟踪代码发现问题出现在:b、在处理用户选择支付方式当前默认支付货币无冲突时出现问题

      问题出现在:ectools\model\payment\cfgs.php中的getListByCode($cur_code='CNY',$platform=array('ispc','iscommon'))方法

      

    public function getListByCode($cur_code='CNY',$platform=array('ispc','iscommon'))
{
$arr_payments = $this->getList('*', array('status' => 'true','platform'=>$platform, 'is_frontend' => true));
$currency = $this->app->model('currency');
$arrDefCurrency = $currency->getDefault();
foreach ($arr_payments as $key=>$paymentinfo)
{
switch ($paymentinfo['support_cur'])
{
case '1':
if ($cur_code != 'CNY')
{
unset($arr_payments[$key]);
}
break;
case '2':
//if ($cur_code != 'CNY') /*此處會把paypal支付過濾掉,故將改條件關閉*/
if (false)
{
unset($arr_payments[$key]);
}
break;
case '3':
if ($arrDefCurrency['cur_code'] != $cur_code)
{
unset($arr_payments[$key]);
}
break;
case '4':
break;
default:
break;
}
} return $arr_payments;
}

      如您有更好的想欢迎交流。

      尊重原创,请保留链接:http://www.cnblogs.com/seafood/p/4229311.html

ecstore使用paypal支付显示不支持此支付的更多相关文章

  1. WordPress按钮秒支付插件发布,支持微信支付,支付宝,银联,京东,苏宁,易宝支付

    痛点: 我们用WordPress建设网站和开发移动应用,有时候我们其实不需要太多的流程,只是需要一个收款通道,但是可能对支持的渠道更加关注,特别是手机应用.所以WordPress按钮秒支付插件诞生了, ...

  2. Vultr新推出3.5美元/月套餐,并且支持微信支付了

    先前Vultr重新推出了2.5美元/月的套餐,但是不支持IPv4,所以不那么受国内朋友的欢迎,迫于压力,这不最近就推出了3.5美元/月的套餐了,这个套餐是支持IPv4的,有需要的朋友可以上车了,htt ...

  3. matplotlib.pyplot库函数关于坐标轴显示的支持

    matplotlib.pyplot库函数关于坐标轴显示的支持 https://blog.csdn.net/Stark_595/article/details/80787005?depth_1-utm_ ...

  4. IE对于input checkbox onclick方法显示不支持此对象和方法的解决方案

    网站注册页,协议结束后,通过input checkbox勾选,进行下一步,FF没问题,IE一直显示不支持此对象和方法. 网上查找大部分说函数名称与系统函数重名,而事实上不是. <div name ...

  5. 【weixi】微信支付---微信公众号JSAPI支付

    一.JSAPI支付 JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付.应用场景有: ◆ 用户在微信公众账号内进入商家公众号,打 ...

  6. 【原创分享·微信支付】C# MVC 微信支付教程系列之现金红包

            微信支付教程系列之现金红包           最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想 ...

  7. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

  8. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  9. app微信支付(一) - 微信支付基本业务流程解析

    想必微信支付是现在很多朋友离不开的一个功能,不论是扫描支付还是公众号支付或者app端支付,基本的思路都是一样的,之前做过支付宝支付以及中国移动支付接口,这几天花时间讲讲微信支付吧 先看一下微信支付的时 ...

随机推荐

  1. ios晃动检测

    ios晃动检测  第一种 1.在AppDelegate.h中进行如下设置: - (BOOL)application:(UIApplication *)application didFinishLaun ...

  2. 深入理解7816(3)-----关于T=0

    卡片和终端之间的数据传输是通过命令响应的方式进行的,卡片只能被动地接收命令,并且给出响应.所有的命令都是以命令头开始,而该命令被完整地执行后(无论结果对错),必须以包含状态字(SW1 SW2)的响应结 ...

  3. mv,Directory not empty不能目录覆盖

    一.mv /test1/* /test2/test1rm -rf /test1 二. You can however use rsync with the --remove-source-files ...

  4. 【剑指offer】面试题39扩展:平衡二叉树

    题目: 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 思路: 直观的思路是,判断根结点的左子树.右子树高度差是否小于1. 为避免多次访问同一结点,应该用后序遍历的方式访问. 注意:加号优先级高于条件 ...

  5. 浅谈C++中指针和引用的区别者之间的区别和用法(转)

    指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性质区别: (1)指针:指针是一个变量,只不过这个变量存储的是一个 ...

  6. sublime text 2相关

    官网:http://www.sublimetext.com/2 安装包控制(Package Control) 打开Sublime Text 2,按快捷键 ctrl+` 或者点击 Tools → Com ...

  7. Gwt ListBox选中自动触发事件

    以前用TreeView显示,需求更改 需要做一个ListBox控件显示数据,和HTML中的<Select>标签一样 编辑时候自动触发选中的数据子类: 1.只要自动触发了rootListBo ...

  8. Ubuntu 无线连接能上网,但是有线连接不能上

    这两天装Ubuntu,遇到小问题.最头疼的还是上网,过去我装了Ubuntu时,都是插上网线就能直接上网,这次就不行了. 我刚点开一个网页,接下来点就不能上了,但是无线连接就可以正常上网. 我在一个论坛 ...

  9. unity3d 学习笔记(一)

    操作:按下shit 点击坐标轴中心 切换透视图 动画烘焙的概念:相当于把原来的控制器动画或者IK(骨骼)动画所有塌陷为逐帧动画,导出的时候必须选这一项 着色器:从技术的角度来看,着色器是渲染器的一个部 ...

  10. Node.js 之 express 入门 ejs include公共部分

    1. 直接进入express安装 因为之前有一篇文章我已经讲过怎么安装node了 而网上的教程也是非常多.所有直接进入到express.教程简陋 由于我比较笨 所有只要写到我自己明白就行. 这里有个教 ...