/**
  * @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);
 }