/** * @param Varien_Object $payment * @param $amount * @param array $extraConfig * @return mixed */ protected function _createCharge(Varien_Object $payment, $amount, $extraConfig = array()) { /** @var CheckoutApi_Client_ClientGW3 $Api */ $Api = CheckoutApi_Api::getApi(array('mode' => $this->getConfigData('mode'))); $scretKey = $this->getConfigData('privatekey'); $order = $payment->getOrder(); $billingaddress = $order->getBillingAddress(); $currencyDesc = $order->getBaseCurrencyCode(); $orderId = $order->getIncrementId(); $amountCents = $amount * 100; $config = array(); $config['authorization'] = $scretKey; $config['mode'] = $this->getConfigData('mode'); $config['timeout'] = $this->getConfigData('timeout'); $config['postedParam'] = array('email' => $billingaddress->getData('email'), 'amount' => $amountCents, 'currency' => $currencyDesc, 'description' => "Order number::{$orderId}"); $config['postedParam'] = array_merge($config['postedParam'], $extraConfig); $config['postedParam']['token'] = $payment->getCkoCcToken(); return $Api->createCharge($config); }