ショッピングカートの配送方法は利用できません


8

配送方法をショッピングカートに設定する必要があり、利用可能なすべての配送方法を表示できます。また、SOAP Webサービスメソッド「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);
?>

ここに画像の説明を入力してください


カートに商品を追加してみてください
mkutyba 2015年

商品はカートに追加できますが、利用可能な配送方法を確認するために石鹸を試しています。空の配列が表示されます
Sudhir Belagali

しかし、何かをカートに追加した場合、メソッドは使用できるか、それでも空ですか?
mkutyba 2015年

カートに何もない場合、カートフレームワークを介してデータにアクセスすると、配送方法は表示されません
Robbie Averill '25 / 10/25

カートに製品情報、顧客情報、顧客住所情報を追加しましたが、配送方法をカートに設定できません
Sudhir Belagali '30 / 10/30

回答:


1

Magento管理パネルの「システム」>「構成」>「配送方法」>「該当しない場合は方法を表示」をデフォルトの「いいえ」から「はい」に設定してみてください。

ここに画像の説明を入力してください


s sir、利用可能な配送方法のリストが表示されますが、配送方法を現在存在するカートに設定できません
Sudhir Belagali 2015年

別の質問として投稿してください。
IgnoranceIsBliss 2015年

1

はい、以前はこの問題に直面していました...これを試してみてください、私の場合はうまくいきました:

SOAP REFERENCE-CART.CREATE カートの作成、カートへの商品の追加、カートへの顧客の設定、カートへの住所の追加のすべてに、「store_id」という名前のパラメーターを含めます。 SOAP呼び出し..しかし、SOAP v1から参照を取得し、すべての場合にこのパラメーターを以下のように追加できます。

まず、store-idを取得します。コードの上部で次のようにします。magentoのルートディレクトリに保存したまま、magento環境からこのファイルを使用している可能性があります。

require_once( "app / Mage.php");

umask(0);

メイジ:: app();

$ url = Mage :: getBaseUrl(Mage_Core_Model_Store :: URL_TYPE_WEB);

session_start();

Mage :: getSingleton( "core / session"、array( "name" => "frontend"));

$ storeid = Mage :: app()-> getStore()-> getStoreId();

このストアIDを次のような呼び出しで使用します。

$ result = $ proxy-> shoppingCartCreate($ sessionId、$ storeid);

$ result = $ proxy-> shoppingCartProductAdd($ sessionId、$ quote_id、array(array( 'product_id' => $ product_id、 'sku' => $ sku、 'qty' => $ qty、 'options' => null、 ))、$ storeid);

$ resultCustomerSet = $ proxy-> shoppingCartCustomerSet($ sessionId、$ result、$ customerData、$ storeid);

$ result = $ client-> shoppingCartCustomerAddresses($ session、$ cart_id、$ address、$ storeid);

次に、この呼び出しを実行してみます。

$ result = $ client-> shoppingCartShippingList($ session、$ cart_id、$ storeid);

必ずお届け先住所をお返しいたします。

また、配送方法を有効にしておいた住所と同じ国を必ず指定してください。


0

これを試して

// get list of shipping methods

$resultShippingMethods = $proxy->shoppingCartShippingList($sessionId, array($shoppingCartId))

// set shipping method

$randShippingMethodIndex = rand(0, count($resultShippingMethods)-1 );
$shippingMethod = $resultShippingMethods[$randShippingMethodIndex]["code"];

$resultShippingMethod = $proxy->shoppingCartShippingMethod($sessionId,  array($shoppingCartId), $shippingMethod);

私はこれを試しましたが、
うまくいき

普通にチェックアウトした場合、配送方法は表示されていますか?
ディエゴボルバ2015年

Webサイトでのみ表示されていますが、SOAPコールで表示されません
Sudhir Belagali '11
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.