/** * Fill preference with patment data * * @return array * @throws \Magento\Framework\Exception\LocalizedException * @throws \MercadoPago\Core\Model\Api\V1\Exception */ public function preparePostPayment() { $this->_helperData->log("Credit Card -> init prepare post payment", self::LOG_NAME); $quote = $this->_getQuote(); $order = $this->getInfoInstance()->getOrder(); $payment = $order->getPayment(); $payment_info = $this->getPaymentInfo($payment); $preference = $this->_coreModel->makeDefaultPreferencePaymentV1($payment_info, $quote, $order); $preference['installments'] = (int) $payment->getAdditionalInformation("installments"); $preference['payment_method_id'] = $payment->getAdditionalInformation("payment_method"); $preference['token'] = $payment->getAdditionalInformation("token"); if ($payment->getAdditionalInformation("issuer_id") != "") { $preference['issuer_id'] = (int) $payment->getAdditionalInformation("issuer_id"); } if ($payment->getAdditionalInformation("customer_id") != "") { $preference['payer']['id'] = $payment->getAdditionalInformation("customer_id"); } $preference['binary_mode'] = $this->_scopeConfig->isSetFlag('payment/mercadopago_custom/binary_mode'); $preference['statement_descriptor'] = $this->getConfigData('statement_descriptor'); $this->_helperData->log("Credit Card -> PREFERENCE to POST /v1/payments", self::LOG_NAME, $preference); /* POST /v1/payments */ $response = $this->_coreModel->postPaymentV1($preference); return $response; }