我在我的magento商店使用条形信用卡付款方式并开发移动应用程序。我正在使用本机magento api开发api。在创建订单api时出现问题,除了为条带信用卡添加付款之外的所有内容都可以正常工作,但是当我点击创建订单api时它会抛出异常。 “信用卡号码与信用卡类型例外不匹配”
以下是api代码,请分享您对此问题的了解。提前谢谢。
$proxy = new SoapClient($this->_client); //soap handle
$sessionId = $proxy->login($this->_apiuser, $this->_apikey);
$resultCustomerAddresses = $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses));
if ($resultCustomerAddresses != TRUE)
{
return json_encode(array('status' => 0, 'result' => array(),'message' => 'Error in saving address'));
}
$resultShippingMethods = $proxy->call($sessionId, "cart_shipping.list", array($shoppingCartId));
$randShippingMethodIndex = rand(0, count($resultShippingMethods)-1 );
$shippingMethod = $resultShippingMethods[$randShippingMethodIndex]["code"];
$resultShippingMethod = $proxy->call($sessionId, "cart_shipping.method", array($shoppingCartId, $shipping_method));
//$resultTotalOrder = $proxy->call($sessionId,'cart.totals',array($shoppingCartId));
$paymentMethod = array(
"method" => $payment_method
);
$resultPaymentMethod = $proxy->call($sessionId, "cart_payment.method", array($shoppingCartId, $payment_method));
$licenseForOrderCreation = null;
$resultOrderCreation = $proxy->call($sessionId,"cart.order",array($shoppingCartId, null, $licenseForOrderCreation));
答案 0 :(得分:1)
我有同样的问题并成功解决了,请参阅此答案:https://stackoverflow.com/a/41948259/1052675
基本上,您在保存报价之前提供卡信息。它将根据正则表达式模式和配置的购买限制验证卡,并确保您可以使用付款方式。
然后会忘记付款信息。
因此,在您告知它提交订单之前,您需要再次提供卡信息。
我的解决方案是前端应用程序上的简单自定义端点,它使我能够将卡信息保存在内存中,以便在保存报价和提交订单之间重新保存。