Как получить идентификаторы продавцов из заказов до размещения торговой площадки Lof Multivendor в magento 2, progra? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть magento 2.3 Enviroment с двумя модулями Lof Marketplace и Способ оплаты (Decidir2) для интеграции, мне нужно знать, как получить идентификатор продавца из заказов, чтобы передать тезисы в Способ оплаты (Decidir 2) и выбрать между single оплата илиdistributed оплата со всей суммой Продавцом.

public function order(\Magento\Payment\Model\InfoInterface $payment, $amount)
{
    $order                  = $payment->getOrder();
    $helper                 = $this->_spsHelper;
    $spsTransaccionesHelper = $this->_spsTransaccionesHelper;
    $customerSession        = $this->_customerSession;
    $infoOperacionSps = $this->_spsHelper->getInfoTransaccionSPS();
    if(!$infoOperacionSps){
        return $this;
    }

    \Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug('DECIDIR2 - MODEL PAYMENT - InfoOperacion: '.print_r($infoOperacionSps, true));

    \Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug('DECIDIR2 - MODEL PAYMENT - Version plugin: '.$this->_moduleList
        ->getOne(self::MODULE_NAME)['setup_version']);
    /*\Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug( 'infoOperacionSps payment model : '. print_r($infoOperacionSps, true) );
    \Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug( 'infoOperacionSps payment model : '. $order->getIncrementId() );
    \Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug( 'infoOperacionSps payment model : '. $order->getCustomerId() );
    \Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug( 'getCustomer()->getId : '. $order->getCustomerId() );*/

    $cuotaCollection = $this->_cuotaFactory->create()
        ->getCollection()
        ->addFieldToFilter('plan_pago_id',['eq'=>$infoOperacionSps['planPago']])
        ->addFieldToFilter('cuota',['eq'=>$infoOperacionSps['cuota']]);
    $cuotaData=$cuotaCollection->getData();
    \Magento\Framework\App\ObjectManager::getInstance()
    ->get(\Psr\Log\LoggerInterface::class)->debug( 'getCcuotaData: '. print_r($cuotaData, true) );
    if( empty($cuotaData[0]['cuota_gateway']) ){
        $cantidad_cuotas = $cuotaData[0]['cuota'];
    }else{
        $cantidad_cuotas = $cuotaData[0]['cuota_gateway'];
    }
    $payment_type = "single";
    $merchant="";
    $planPagoDataCollection = $this->_planPagoFactory->create()
        ->getCollection()
        ->addFieldToFilter('plan_pago_id',['eq'=>$infoOperacionSps['planPago']]);
    $planPagoData=$planPagoDataCollection->getData();
    if( !empty($planPagoData[0]['merchant']) ){
        $merchant = $planPagoData[0]['merchant'];
    }

    if(!$order->getCustomerId()){ //Usuario guest
        $customerId='guest';
    }else{
        $customerId=$order->getCustomerId();
    }

    $ws = $this->_webservice;
    $data = array(
        "site_transaction_id" => $order->getIncrementId(),
        "token" => $infoOperacionSps['tokenPago'],
        "payment_method_id" => (int)$infoOperacionSps['tarjeta_id'],
        "amount" => number_format($amount, 2, ".", ""),
        "bin" => $infoOperacionSps['bin'],
        "currency" => "ARS",
        "installments" => (int)$cantidad_cuotas,
        "description" => "Orden ".$order->getIncrementId(),
        "payment_type" => $payment_type,
        "sub_payments" => array(),
        "fraud_detection" => array()
...