2012-03-19 3 views
4

Magento Core APIのcart_shipping.listメソッドは、管理サイトで有効になっているすべての発送/支払い方法を返しません。有効な方法は、フラットレート、テーブルレート、送料、UPS、USPS、FedExおよびDHLです。 cart_shipping.listを呼び出すとのフラットレートのみが返されます。UPSです。Magento Core API:すべての発送方法のリスト

理由は何ですか?

私の主な疑い(Mage_Sales_Model_Quote_AddressクラスのgetShippingRatesCollection()の機能を見ているとき)は、注文のために設定された配送先住所がいくつかの方法をフィルタリングするのに使用されているということです。ただし、フロントエンドで同じ配送先住所を使用している場合(つまり、その住所に表示されるすべての配送方法が表示される)、この問題は発生しないため、このフィルタリングの仕組みは十分に理解できていません。

+2

「この合計は100ドル以上であれば利用可能ですか?」などの条件はありませんか?管理者の支払い/配送方法の設定を確認してください。また、ウェブサイト/ストアレベルでいくつかの方法が無効になっている可能性があります。 – Zyava

+0

@ Zyava管理サイトでは、各メソッドの有効なフィールドで「はい」のみを選択しました。あなたはいくつかのメソッドの条件付き利用可能性については正しいかもしれませんが、私は管理者にこれらの条件をどのように設定できるかはわかりません。 – Epicurus

+1

私は現在Epicurusと同じ問題を抱えています。テーブルレート配送方法とMagento Enterpriseバージョン1.11.2.0。 3つのキャリアは、フラットレート、フリーシェーピング、ストアピックアップです。 Epicurus、あなたのために返されるメソッドの "サブセット"と、あなたがそれらを有効にしたにもかかわらずあなたが見ないものを教えてください。この情報はあなたの質問にまだありません。また、フロントエンドを確認してください:APIに渡している製品でチェックアウトを行い、メソッドが実際に有効になっているかどうかを確認してください。 – Norbert

答えて

5

少なくとも私の場合、この問題の解決策を見つけました。

問題は、カートを作成し、その製品と配送/請求先アドレスを指定してcart_shipping.listを呼び出すまでの間に、ストアIDを指定していないことでした。

これらの方法は、cart.create,cart_customer.set,cart_customer.addressesおよびcart_product.addである。彼らはすべてオプションのパラメータとしてStore Idを取ります。このストアIDを指定すると、フロントプロダクトと配送先住所が表示されているすべての配送方法がフロントエンドに表示されます。

関連する問題