public function createLocalPaymentCharge($param)
    {
        $hasError = false;
        $param['postedParam']['type'] = CheckoutApi_Client_Constant::LOCALPAYMENT_CHARGE_TYPE;
        $postedParam = $param['postedParam'];
        $this->flushState();
        $uri = $this->getUriCharge();
        $isValidEmail = CheckoutApi_Client_Validation_GW3::isEmailValid($postedParam);
        $isValidSessionToken = CheckoutApi_Client_Validation_GW3::isSessionToken($postedParam);
        $isValidLocalPaymentHash = CheckoutApi_Client_Validation_GW3::isLocalPyamentHashValid($postedParam);
        $param['method'] = CheckoutApi_Client_Adapter_Constant::API_POST;
        if(!$isValidEmail){
            $hasError = true;
            $this->throwException('Please provide a valid email address',array('postedParam'=>$postedParam));
        }

        if(!$isValidSessionToken){
            $hasError = true;
            $this->throwException('Please provide a valid session token',array('postedParam'=>$postedParam));
        }

        if(!$isValidLocalPaymentHash){
            $hasError = true;
            $this->throwException('Please provide a local payment hash',array('postedParam'=>$postedParam));
        }

        if(!isset($param['postedParam']['localPayment']['userData']) ) {
            $param['postedParam']['localPayment']['userData'] = '{}';
        }
        return $this->request( $uri ,$param,!$hasError);
    }