/**
* Set payment gateway
*
* @param Payment_geteways $paymentGateway
*
* @return $this
*/
public function setGateway(Payment_gateways $paymentGateway)
{
$this->gateway = $this->gatewayFactory->createGateway($paymentGateway);
$parameters = $paymentGateway->getDecodedData();
$isSandbox = $this->systemStatus->isSandboxPayment();
$gatewayParams = array();
switch ($paymentGateway->slug) {
case 'paypal_express':
$gatewayParams = array('testMode' => $isSandbox);
break;
case 'authorize.net_sim':
$gatewayParams = array('testMode' => false, 'developerMode' => $isSandbox);
break;
}
$parameters = array_merge($parameters, $gatewayParams);
$this->gateway->initialize($parameters);
return $this;
}