/** * Init cards data * * @return void */ protected function _initCards() { $paymentCardsInformation = $this->_payment->getAdditionalInformation(self::CARDS_NAMESPACE); if ($paymentCardsInformation) { $additionalInfo = $this->_payment->getAdditionalInformation(); unset($additionalInfo[self::CARDS_NAMESPACE]); foreach ($paymentCardsInformation as $cardId => $data) { $paymentCardsInformation[$cardId]['additional_information'] = $additionalInfo; } $this->_cards = $paymentCardsInformation; } }
public function testGetAdditionalInformationByKey() { $key = 'key'; $value = 'value'; $this->info->setAdditionalInformation($key, $value); $this->assertEquals($value, $this->info->getAdditionalInformation($key)); }
/** * Render info item * * @param array $keys * @param \Magento\Payment\Model\Info $payment * @param bool $labelValuesOnly * @return array */ protected function _getFullInfo(array $keys, \Magento\Payment\Model\Info $payment, $labelValuesOnly) { $result = array(); foreach ($keys as $key) { if (!isset($this->_paymentMapFull[$key])) { $this->_paymentMapFull[$key] = array(); } if (!isset($this->_paymentMapFull[$key]['label'])) { if (!$payment->hasAdditionalInformation($key)) { $this->_paymentMapFull[$key]['label'] = false; $this->_paymentMapFull[$key]['value'] = false; } else { $value = $payment->getAdditionalInformation($key); $this->_paymentMapFull[$key]['label'] = $this->_getLabel($key); $this->_paymentMapFull[$key]['value'] = $this->_getValue($value, $key); } } if (!empty($this->_paymentMapFull[$key]['value'])) { if ($labelValuesOnly) { $result[$this->_paymentMapFull[$key]['label']] = $this->_paymentMapFull[$key]['value']; } else { $result[$key] = $this->_paymentMapFull[$key]; } } } return $result; }
/** * If gateway actions are locked return true * * @param \Magento\Payment\Model\Info $payment * @return bool */ protected function _isGatewayActionsLocked($payment) { return $payment->getAdditionalInformation($this->_isGatewayActionsLockedKey); }
/** * Check whether can do payment review * * @param \Magento\Payment\Model\Info $payment * @return bool */ public function canReviewPayment(\Magento\Payment\Model\Info $payment) { $pendingReason = $payment->getAdditionalInformation(\Magento\Paypal\Model\Info::PENDING_REASON_GLOBAL); return $this->_isPaymentReviewRequired($payment) && $pendingReason != \Magento\Paypal\Model\Info::PAYMENTSTATUS_REVIEW; }
/** * Submit RP to the gateway * * @param RecurringPayment $payment * @param PaymentInfo $paymentInfo * @return void */ public function submit(RecurringPayment $payment, PaymentInfo $paymentInfo) { $token = $paymentInfo->getAdditionalInformation(PayPalExpress\Checkout::PAYMENT_INFO_TRANSPORT_TOKEN); $payment->setToken($token); $api = $this->_paymentMethod->getApi(); \Magento\Framework\Object\Mapper::accumulateByMap($payment, $api, array('token', 'subscriber_name', 'start_datetime', 'internal_reference_id', 'schedule_description', 'suspension_threshold', 'bill_failed_later', 'period_unit', 'period_frequency', 'period_max_cycles', 'billing_amount' => 'amount', 'trial_period_unit', 'trial_period_frequency', 'trial_period_max_cycles', 'trial_billing_amount', 'currency_code', 'shipping_amount', 'tax_amount', 'init_amount', 'init_may_fail')); $api->callCreateRecurringPayment(); $payment->setReferenceId($api->getRecurringPaymentId()); if ($api->getIsPaymentActive()) { $payment->setState(States::ACTIVE); } elseif ($api->getIsPaymentPending()) { $payment->setState(States::PENDING); } }
public function testInitAdditionalInformationWithUnserialize() { $data = serialize(['key1' => 'data1', 'key2' => 'data2']); $this->info->setData('additional_information', $data); $this->assertEquals(unserialize($data), $this->info->getAdditionalInformation()); }