首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Magento API将付款方式设置为购物车

使用Magento API将付款方式设置为购物车
EN

Stack Overflow用户
提问于 2013-02-14 21:56:45
回答 2查看 2.4K关注 0票数 3

我正在使用Magento API来创建订单。当我想要向购物车添加支付方式时,我的代码失败:

代码语言:javascript
运行
复制
$paymentMethod = array(
    “method” => “paypal_standard”
);

$resultPaymentMethod = $proxy->call(
    $sessionId,
    “cart_payment.method”,
    array(
        $shoppingCartId,
        $paymentMethod
    )
); 

我收到以下错误:不允许使用支付方式。

在管理部分的系统->配置->贝宝我已经设置了网站支付标准,但我没有启用任何选项,在系统->配置->支付方法,因为有没有PayPal可用。当我调用时:

代码语言:javascript
运行
复制
$proxy->call($session, 'cart_payment.list') 

方法时,我得到一个空数组,因为没有设置任何可用的支付方法。有人知道如何在Magento中保存paypal支付设置吗?

如果我设置另一种支付方式,如"checkmo“,那么订单创建得很好。事情是,我只需要允许贝宝标准付款。

所以我的问题是:如何将付款方式设置为PayPal到购物车,以便我的订单将被成功创建?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-05-16 01:25:40

我也面临着这个问题,并找到了原因。

$ method ->支付方式接口使用的canUseInternal()。当我们在payment methos api中使用paypal或其他可重定向的方法时,在这种情况下$method->canUseInternal()会得到假的值。

因此对于这种类型的情况,我们需要创建自己的自定义编码。

api function refreance:

代码语言:javascript
运行
复制
protected function _canUsePaymentMethod($method, $quote){
        if (!($method->isGateway() || $method->canUseInternal())) {
            return false; }

        if (!$method->canUseForCountry($quote->getBillingAddress()->getCountry())) {
            return false;
        }

        if (!$method->canUseForCurrency(Mage::app()->getStore($quote->getStoreId())->getBaseCurrencyCode())) {
            return false;
        }
票数 1
EN

Stack Overflow用户

发布于 2013-06-27 04:02:13

支付与贝宝,你需要你的客户被重定向到贝宝。因此,您可能无法使用API使用此支付方式。我建议您查看支付方法的isAvailable()以自定义此行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14876423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档