ecstore使用paypal支付显示不支持此支付

问题描述:

  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

时间: 2024-08-19 10:49:57

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

iOS客户端支持微信支付

对于一个iOS的APP,如果有一些虚拟的商品或者服务需要通过在线支付来收费的话,一般有几种主流的选择. 如果是通过APP调用支付平台APP的思路的话,一个是调起支付宝客户端,一个则是调起微信支付. 实际上,从代码的角度,调起支付APP就是把一些关键的参数通过一定方式打包成为一个订单,然后发送到支付平台的服务器.所以,只要搞清楚了参数设置,搞清楚了每个支付平台的SDK里面一些关键API的使用,基本上就可以很简单的支持支付. 今天记录一下客户端里面,如何支持微信支付.首先.我们要仔细阅读一下微信SD

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

痛点: 我们用WordPress建设网站和开发移动应用,有时候我们其实不需要太多的流程,只是需要一个收款通道,但是可能对支持的渠道更加关注,特别是手机应用.所以WordPress按钮秒支付插件诞生了,它是一个快速收款工具,只需要在后台填入金额,然后把这个按钮放在任意网站,或者微信,或者微博里面,就能实现收款. 特点: 功能特征 WordPress按钮支付插件,收款更轻松 轻松接入;插件模式即插即用,按需接入   自适应显示平台,兼容PC端页面和移动端H5页面   主流支付渠道全覆盖,支持微信支付

estore商城案例(四、五)------添加购物车&购物车显示/生成订单&在线支付

一.添加购物车 1.获得商品id提交到servlet程序 2.根据id获取product对象 3.判断seesion中是否有存在购物车session.没有的话表示  添加的第一件商品  需要先创建session:有的话直接在session里添加获得的produce(添加product 要先判断session中是否存在对应的商品,存在话直接修改商品数量,没有的话新添加这个商品). servlet程序代码: 1 public void doGet(HttpServletRequest request

微信支付越来越国际化 支持外国护照绑卡

微信的用户群体越来越庞大,微信海外版使用数也在俱增,微信支付当然也不能落伍了.现在微信支付及财付通已经支持国内11家主要银行储蓄卡及信用卡的多证件绑卡及支付功能,不仅是外国友人,港澳台同胞也可以绑定并开通微信支付了!真的越来越国际化了. 微信支付绑卡流程 持外国护照.港澳回乡证.台胞证的小伙伴只需依次点击微信[Me]——[Wallet]——[QuickPay],在弹出的绑卡提示中选择“Add”,输入银行卡号即可开通微信支付并绑卡成功~ 微信支付及财付通支持多证件绑卡银行列表 绑卡过程中可能遇到的

AFNetworking 显示不支持“Content-Type:text/plain”的解决方法

首先来看默认使用:(AFNetworking2.2) 这时出现下列错误: 这个错误是AFNetworking报出的,实际上文件已经上传成功,服务器返回了正确的响应,可用fiddler抓包查看. 默认情况下AFHTTPRequestOperationManager 对返回的数据采取JSON解析,并且会先判断Content-Type的值是不是"text/json",本次文件上传服务器返回的是"text/plain",所以会出现上面的错误.导致success块语句不能执行

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

先前Vultr重新推出了2.5美元/月的套餐,但是不支持IPv4,所以不那么受国内朋友的欢迎,迫于压力,这不最近就推出了3.5美元/月的套餐了,这个套餐是支持IPv4的,有需要的朋友可以上车了,https://www.vultr.com/?ref=7122677. 另外值得一提的是,Vultr也支持微信支付了: 原文地址:https://www.f2ecoder.net/851.html 原文地址:https://www.cnblogs.com/xiaoweihuang/p/9751148.ht

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

matplotlib.pyplot库函数关于坐标轴显示的支持 https://blog.csdn.net/Stark_595/article/details/80787005?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task Matplotlib 图表坐标轴显示问题 https://blog.csdn.net/myself029/article/detai

高速公路不收费?NO!支持聚合支付

随着互联网的快速发展,移动支付等新兴技术的应用使我们的生活更加便捷.在高速公路通行方面,移动支付能够为用户提供便利.快捷的停车支付体验,也能够有效提高人工收费车道通行效率.交通运输部始终坚持"人便于行,货畅其流"的价值理念,在积极推广电子不停车收费(ETC)应用的同时,为满足公众多样化支付需求,组织制定了收费公路应用移动支付的相关技术要求,鼓励收费公路经营管理单位在人工收费车道推行移动支付,作为停车现金交费的补充.聚合支付"搞定"了高速公路收费,2019年底将实现全

“流支付”掀起互联网支付创新浪潮,SAK支付白皮书揭秘

比特币,一个互联网技术与货币发行相结合的产物,带给我们区块链技术和DAC(Distributed Autonomous Corporation分布式自治系统)思想.鲨鱼币(简称SAK)的诞生是基于比特币的技术原理,并在支付上更便捷丶更快速,交易的确认时间由比特币的10分钟左右缩短到20秒左右. 自比特币诞生以来,加密货币在全球形成了蓬勃发展的趋势.加密货币的生产丶交易丶支付丶兑换四个环节在技术上形成了完整的支持,为加密货币的应用提供了良好的技术基础.但是对于加密货币的发展定位,还没有一个明确的方