Magento SOAP V_2创建订单错误:不允许付款

时间:2014-02-19 14:41:24

标签: magento soap

我正在尝试使用.NET consol使用SOAP API V_2在Magento 1.7.2上创建订单。

我总是使用每种付款方式获得相同的错误“付款不允许”。

//create an order with Magento API

        MagentoService proxy = new MagentoService();
        string sessionId = proxy.login("xxx", "xxx");
        int idCarrello = proxy.shoppingCartCreate(sessionId, "1");
        proxy.UnsafeAuthenticatedConnectionSharing = false;

        shoppingCartCustomerEntity clienteMagento = new shoppingCartCustomerEntity();

        clienteMagento.firstname = "name";
        clienteMagento.lastname = "surname";
        clienteMagento.email = "xxx@mmmm.com";
        clienteMagento.mode = "guest";

        proxy.shoppingCartCustomerSet(sessionId, idCarrello, clienteMagento, "1");

        shoppingCartCustomerAddressEntity indirizzoSpedizione = new shoppingCartCustomerAddressEntity();
        shoppingCartCustomerAddressEntity indirizzoBill = new shoppingCartCustomerAddressEntity();


        indirizzoSpedizione.mode = "shipping";
        indirizzoSpedizione.firstname = clienteMagento.firstname;
        indirizzoSpedizione.lastname = clienteMagento.lastname;
        indirizzoSpedizione.street = "viale europa 32";
        indirizzoSpedizione.city = "Foggia";

        indirizzoSpedizione.region = "FG";
        indirizzoSpedizione.telephone = "111";
        indirizzoSpedizione.postcode = "71122";
        indirizzoSpedizione.country_id = "IT";
        indirizzoSpedizione.is_default_billing = 0;
        indirizzoSpedizione.is_default_shipping = 0;

        indirizzoBill.mode = "billing";
        indirizzoBill.firstname = clienteMagento.firstname;
        indirizzoBill.lastname = clienteMagento.lastname;
        indirizzoBill.street = "viale europa 32";
        indirizzoBill.city = "Foggia";

        indirizzoBill.region = "FG";
        indirizzoBill.telephone = "111";
        indirizzoBill.postcode = "71122";
        indirizzoBill.country_id = "IT";
        indirizzoBill.is_default_billing = 0;
        indirizzoBill.is_default_shipping = 0;

        shoppingCartCustomerAddressEntity[] indirizzi = new shoppingCartCustomerAddressEntity[] { indirizzoSpedizione, indirizzoBill };

        proxy.shoppingCartCustomerAddresses(sessionId, idCarrello, indirizzi, "1");
        proxy.shoppingCartShippingMethod(sessionId, idCarrello, "flatrate_flatrate", "1");

        shoppingCartPaymentMethodResponseEntity[] paymentMethods = proxy.shoppingCartPaymentList(sessionId, idCarrello, "1");

        Console.WriteLine(paymentMethods); //paymentMethods is always empty!!

        shoppingCartPaymentMethodEntity modoPagamento = new shoppingCartPaymentMethodEntity();

        modoPagamento.po_number = null;
        modoPagamento.method = "checkmo";
        modoPagamento.cc_cid = null;
        modoPagamento.cc_owner = null;
        modoPagamento.cc_number = null;
        modoPagamento.cc_type = null;
        modoPagamento.cc_exp_year = null;
        modoPagamento.cc_exp_month = null;

        proxy.shoppingCartPaymentMethod(sessionId, idCarrello, modoPagamento, "1");

以下是例外:

         //Payment method is not allowed (I tryed checkmo, banktransfer, etc)
        //proxy.shoppingCartOrder(sessionId, idCarrello, "1", new string[] { });

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

shoppingCartCustomerSet(guest for simplicity);
shoppingCartCustomerAddresses();
shoppingCartProductAdd();
shoppingCartShippingMethod();
shoppingCartPaymentMethod();