Я должен установить метод доставки для корзины покупок, и я могу отобразить все доступные методы доставки, и я указал действительный метод доставки в качестве входного параметра для метода веб-службы SOAP "shoppingCartShippingMethod", так что для этого есть ли необходимость изменить конфигурацию в панели администратора Magento?
<?php
$proxy = new SoapClient('http://127.0.0.1/magento/index.php/api/v2_soap/?wsdl');
$sessionId = $proxy->login('cats', 'sudhir123');
echo "\nSession Id = ";
var_dump($sessionId);
$cartId = $proxy->shoppingCartCreate($sessionId, '3');
echo "\nCart Id = ";
var_dump($cartId);
$customerData = array(
"firstname" => "testFirstname",
"lastname" => "testLastName",
"email" => "testEmail@mail.com",
"mode" => "guest",
"website_id" => "0"
);
$resultCustomerSet = $proxy->shoppingCartCustomerSet($sessionId, $cartId, $customerData);
echo "\nCustomer Set to Shopping Cart = ";
var_dump($resultCustomerSet);
$customeraddress = $proxy->shoppingCartCustomerAddresses($sessionId, $cartId, array(array(
'mode' => 'billing',
'firstname' => 'Sudhir',
'lastname' => 'Belagali',
'street' => 'street address',
'city' => 'city',
'region' => 'region',
'postcode' => 'postcode',
'country_id' => 'US',
'telephone' => '123456789',
'is_default_billing' => 1
)));
echo "\nCustomer Address Set to Shopping Cart = ";
var_dump($customeraddress);
$shoppingcartproduct = $proxy->shoppingCartProductAdd($sessionId, $cartId, array(array(
'product_id' => '917',
'sku' => 'cricketbat',
'qty' => '5',
'options' => null,
'bundle_option' => null,
'bundle_option_qty' => null,
'links' => null
)));
echo "\nProduct has been added to cart = ";
var_dump($shoppingcartproduct);
$cartInfo = $proxy->shoppingCartInfo($sessionId, $cartId);
echo "\nCart Information for this Cart Id is ( ".$cartId." )";
var_dump($cartInfo);
$result = $proxy->shoppingCartShippingList($sessionId, $cartId);
echo "\nAvailable Shipping methods = ";
var_dump($result);
?>
magento-1.9
soap
soap-api-v2
Судхир Белагали
источник
источник
Ответы:
Попробуйте установить «Система»> «Конфигурация»> «Способы доставки»> «Показать метод, если не применимо» в значение «Да» по умолчанию «Нет» в панели администратора Magento.
источник
Да, даже раньше я сталкивался с этой проблемой ... Попробуйте сделать это, в моем случае это сработало:
SOAP REFERENCE - CART.CREATE От создания корзины, добавления товара в корзину, установки покупателя в корзину, добавления адреса в корзину, всего, включая параметр «store_id». Я знаю, что для SOAP v2 он не отображается должным образом для многих из SOAP вызывает .. Но вы можете взять ссылку из SOAP v1 и добавить этот параметр, как показано ниже для всех случаев:
Прежде всего, чтобы получить идентификатор магазина: сделайте следующее в верхней части своего кода, я думаю, вы можете использовать этот файл вне среды magento, сохраняя его в корневом каталоге magento ..
Теперь используйте этот store-id для следующих вызовов:
Теперь попробуйте сделать этот звонок:
Я уверен, что он вернет вам адреса доставки.
Кроме того, убедитесь, что вы указали в своем адресе ту же страну, для которой у вас включен способ доставки.
источник
Попробуй это
источник