Saya harus mengatur metode pengiriman ke keranjang belanja, dan saya dapat menampilkan semua metode pengiriman yang tersedia, dan saya telah memberikan metode pengiriman yang valid sebagai parameter input untuk metode layanan web SOAP "shoppingCartShippingMethod" jadi untuk ini, Apakah ada kebutuhan untuk ubah konfigurasi di Panel Admin 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" => "[email protected]",
"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
Sudhir Belagali
sumber
sumber
Jawaban:
Cobalah untuk mengatur Sistem> Konfigurasi> Metode Pengiriman> "Tampilkan Metode jika Tidak Berlaku" ke Ya dari default "Tidak" di Panel Admin Magento.
sumber
Ya, bahkan saya pernah menghadapi masalah ini ... Coba lakukan ini, ini berhasil dalam kasus saya:
SOAP REFERENSI - CART.CREATE Dari membuat keranjang, untuk menambahkan produk ke keranjang, untuk pelanggan set ke troli, menambahkan alamat ke troli segala sesuatu, termasuk paramater bernama "store_id" .. Aku tahu itu tidak benar ditampilkan untuk SOAP v2 untuk banyak panggilan SOAP .. Tetapi Anda dapat mengambil referensi dari SOAP v1 dan menambahkan parameter ini seperti ini di bawah ini untuk semua kasus:
Pertama-tama untuk mendapatkan store-id: lakukan hal berikut di atas kode Anda, saya pikir Anda mungkin menggunakan file ini dari lingkungan magento menyimpannya di direktori root magento ..
Sekarang gunakan id toko ini untuk melakukan panggilan berikut seperti ini:
Sekarang coba lakukan panggilan ini:
Saya yakin itu akan mengembalikan Anda alamat pengiriman.
Juga, pastikan Anda memberikan negara yang sama di alamat Anda yang membuat metode pengiriman Anda diaktifkan.
sumber
Coba ini
sumber