Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento SOAP订单失败,显示消息“0”;生日是必需的;_Php_Magento - Fatal编程技术网

Php Magento SOAP订单失败,显示消息“0”;生日是必需的;

Php Magento SOAP订单失败,显示消息“0”;生日是必需的;,php,magento,Php,Magento,我使用此代码通过magento(1.9)soapapiv2创建订单 问题是,我必须为一个站点这样做,其中dob(出生日期)是必填字段。因此,我确实收到了一条错误消息——在那个网站上——“生日是必需的” 是否有人知道如何解决该问题(在不按要求禁用dob字段的情况下) $storeId='1'; $quoteId=$client->shoppingCartCreate($session,$storeId); 回显“引号ID:”$quoteId; /*设置购物车客户*/ $guest=true; 如果

我使用此代码通过
magento
(1.9)
soapapi
v2创建订单

问题是,我必须为一个站点这样做,其中dob(出生日期)是必填字段。因此,我确实收到了一条错误消息——在那个网站上——“生日是必需的”

是否有人知道如何解决该问题(在不按要求禁用dob字段的情况下)

$storeId='1';
$quoteId=$client->shoppingCartCreate($session,$storeId);
回显“
引号ID:”$quoteId; /*设置购物车客户*/ $guest=true; 如果($guest) { $customerData=array( “firstname”=>“testFirstname”, “lastname”=>“testLastName”, “电子邮件”=>”testEmail@mail.com", “模式”=>“来宾”, “网站id”=>“1” ); } 其他的 { $customer=array( “客户id”=>“69301”, “网站id”=>“1”, “组id”=>“1”, “门店标识”=>“1”, “模式”=>“客户”, ); } //设置购物车客户(将客户指定给报价) $resultCustomerSet=$client->shoppingCartCustomerSet($session、$quoteId、$customerData、$storeId); 回显“
设置客户:”; 变量转储($resultCustomerSet)//设定客户 /*设置客户地址发货和计费*/ $addresses=数组( 排列( “模式”=>“配送”, “firstname”=>“Ahsan”, “lastname”=>“testLastname”, “公司”=>“测试公司”, “street”=>“testStreet”, “城市”=>“卡拉奇”, “地区”=>“信德省”, “邮政编码”=>“7502”, “国家/地区id=>”主键“, “电话”=>“0123456789”, “传真”=>“0123456789”, “是否默认配送”=>0, “是否为默认账单”=>0 ), 排列( “模式”=>“计费”, “firstname”=>“Ahsan”, “lastname”=>“testLastname”, “公司”=>“测试公司”, “street”=>“testStreet”, “城市”=>“卡拉奇”, “地区”=>“信德省”, “邮政编码”=>“7502”, “国家/地区id=>”主键“, “电话”=>“0123456789”, “传真”=>“0123456789”, “是否默认配送”=>0, “是否为默认账单”=>0 ) ); //设置购物车客户地址 $resultCustomerAddress=$client->shoppingCartCustomerAddresses($session,$quoteId,$addresses,$storeId); echo“
设置客户地址:”; 变量转储($resultCustomerAddress)//设置客户地址 /*将产品添加到购物车*/ $product=数组( “产品标识”=>“905”, //“sku”=>“简单产品”, “数量”=>“1”, “选项”=>null, “bundle_option”=>null, “捆绑选项数量”=>null, “链接”=>null); $product2=数组( “产品标识”=>“904”, //“sku”=>“简单产品”, “数量”=>“2”, “选项”=>null, “bundle_option”=>null, “捆绑选项数量”=>null, “链接”=>null); $addToCart=$client->shoppingCartProductAdd($session,$quoteId,array($product,$product2),$storeId); echo“
添加到购物车:”; var_dump($addToCart); /*设定付款方式*/ $responsePayment=$client->shoppingCartPaymentMethod($session,$quoteId,数组)( '方法'=>'现金交付', ),$storeId); echo“
设置付款方式:”; var_dump($responsePayment); /*设定运输方式*/ $setShipping=$client->shoppingCartShippingMethod($session,$quoteId,'flatrate\u flatrate',$storeId); echo“
设置发货方式:”; var_转储($setShipping); /*设置折扣代码*/ 尝试 { $result=$client->shoppingcartcuponadd($session,$quoteId,'test123',$storeId); 回显“
应用折扣代码:”; var_dump($结果); } 捕获(例外$ex) { echo“
折扣代码失败:”..ex->getMessage(); 模具(); } $orderId=$client->shoppingCartOrder($session,$quoteId,$storeId,null); echo“
下订单:”; var_dump($orderId);
您到底有什么问题?您说您收到一条错误消息“生日是必需的”,因为系统环境需要一个生日来运行订单。尝试下订单时,您的代码未定义任何生日。因此,系统不会下订单,但会向您发送错误消息。从给定的角度来看,您的系统工作正常。问题是,我不知道如何将bod添加到api请求中。。。如果我在$customerData中添加'bod',则没有任何效果。尽管指出,shoppingCartCustomerEntity没有bod字段。CartCustomer确实包含一个customer_id,该id指向一个customer(),该customer()包含一个名为“bod”的字段。也许这是您缺少的字段?但它应该作为“来宾”订单工作。有人知道怎么做吗?如果bod是疯狂的,我想你不会。你到底有什么问题?您说您收到一条错误消息“生日是必需的”,因为系统环境需要一个生日来运行订单。尝试下订单时,您的代码未定义任何生日。因此,系统不会下订单,但会向您发送错误消息。从给定的角度来看,您的系统工作正常。问题是,我不知道如何将bod添加到api请求中。。。如果我在$customerData中添加'bod',则没有任何效果。尽管指出,shoppingCartCustomerEntity没有bod字段。CartCustomer确实包含一个customer_id,该id指向一个customer(),该customer()包含一个名为“bod”的字段。也许这是您缺少的字段?但它应该作为“来宾”订单工作。有人知道怎么做吗?我想如果bod很疯狂的话,你就不会。
$storeId = '1';

$quoteId = $client->shoppingCartCreate($session,$storeId);

echo "<br>Quote ID : " . $quoteId;

/* Set cart customer */
$guest = true;

if ($guest) 
{
    $customerData = array(
        "firstname" => "testFirstname",
        "lastname" => "testLastName",
        "email" => "testEmail@mail.com",
        "mode" => "guest",
        "website_id" => "1"
    );
} 
else 
{
    $customer  = array(
        "customer_id" => '69301',
        "website_id" => "1",
        "group_id" => "1",
        "store_id" => "1",
        "mode" => "customer",
    );
}

//Set cart customer (assign customer to quote)
$resultCustomerSet = $client->shoppingCartCustomerSet($session, $quoteId, $customerData,$storeId);

echo "<br>Set Customer: ";
var_dump($resultCustomerSet);   //Set customer

/* Set customer addresses Shipping and Billing */

$addresses = array(
    array(
        "mode" => "shipping",
        "firstname" => "Ahsan",
        "lastname" => "testLastname",
        "company" => "testCompany",
        "street" => "testStreet",
        "city" => "Karachi",
        "region" => "Sindh",
        "postcode" => "7502",
        "country_id" => "PK",
        "telephone" => "0123456789",
        "fax" => "0123456789",
        "is_default_shipping" => 0,
        "is_default_billing" => 0
    ),
    array(
        "mode" => "billing",
        "firstname" => "Ahsan",
        "lastname" => "testLastname",
        "company" => "testCompany",
        "street" => "testStreet",
        "city" => "Karachi",
        "region" => "Sindh",
        "postcode" => "7502",
        "country_id" => "PK",
        "telephone" => "0123456789",
        "fax" => "0123456789",
        "is_default_shipping" => 0,
        "is_default_billing" => 0
    )
);

//Set cart customer address
$resultCustomerAddress = $client->shoppingCartCustomerAddresses($session, $quoteId, $addresses,$storeId);   

echo "<br>Set Customer Address: ";
var_dump($resultCustomerAddress);   //Set customer addresses

/* Add products to cart */
$product = array(
                            'product_id' => '905',
                            // 'sku' => 'simple_product',
                            'qty' => '1',
                            'options' => null,
                            'bundle_option' => null,
                            'bundle_option_qty' => null,
                            'links' => null);
$product2 = array(
                            'product_id' => '904',
                            // 'sku' => 'simple_product',
                            'qty' => '2',
                            'options' => null,
                            'bundle_option' => null,
                            'bundle_option_qty' => null,
                            'links' => null);

$addToCart = $client->shoppingCartProductAdd($session, $quoteId, array($product,$product2),$storeId);

echo "<br>Add to Cart: ";
var_dump($addToCart);

/* Set payment method */
$responsePayment = $client->shoppingCartPaymentMethod($session, $quoteId, array(
    'method' => 'cashondelivery',
),$storeId);  

echo "<br>Set Payment method: ";
var_dump($responsePayment);

/* Set shipping method */
$setShipping = $client->shoppingCartShippingMethod($session, $quoteId, 'flatrate_flatrate',$storeId);

echo "<br>Set Shipping method: ";
var_dump($setShipping);

/* Set Discount Code */

try
{
    $result = $client->shoppingCartCouponAdd($session, $quoteId, 'test123',$storeId);
    echo "<br>Apply discount code: ";
    var_dump($result);
}
catch(Exception $ex)
{
    echo "<br>Discount code Failed: " . $ex->getMessage();
    die();
}


$orderId = $client->shoppingCartOrder($session, $quoteId, $storeId, null);
echo "<br>Placed Order: ";
var_dump($orderId);