/**
  * @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')));
     $config = parent::_createCharge($payment, $amount, $extraConfig);
     $config['paymentToken'] = $payment->getAdditionalInformation('cko_cc_paymenToken');
     $config['authorization'] = $this->getConfigData('privatekey');
     return $Api->verifyChargePaymentToken($config);
 }
 /**
  * @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')));
     $order = $payment->getOrder();
     $billingAddress = $order->getBillingAddress();
     $config = parent::_createCharge($payment, $amount, $extraConfig);
     $config['postedParam']['email'] = $billingAddress->getData('email');
     $config['postedParam']['card'] = array_merge(array('phoneNumber' => $billingAddress->getData('telephone'), 'name' => $payment->getCcOwner(), 'number' => $payment->getCcNumber(), 'expiryMonth' => (int) $payment->getCcExpMonth(), 'expiryYear' => (int) $payment->getCcExpYear(), 'cvv' => $payment->getCcCid()), $config['postedParam']['card']);
     return $Api->createCharge($config);
 }