_config = $config; } else { $this->_config = array( 'merchantId' => MERCHANT_ID, 'accessKey' => ACCESS_KEY, 'secretKey' => SECRET_KEY, 'applicationName' => APPLICATION_NAME, 'applicationVersion' => APPLICATION_VERSION, 'region' => REGION, 'environment' => ENVIRONMENT, 'serviceUrl' => SERVICE_URL, 'widgetUrl' => WIDGET_URL, 'caBundleFile' => CA_BUNDLEFILE, 'clientId' => CLIENT_ID, 'proxyUsername' => PROXY_USERNAME, 'proxyPassword' => PROXY_PASSWORD, 'proxyHost' => PROXY_HOST, 'proxyPort' => PROXY_PORT, 'cnName' => CN_NAME ); } $this->_regionSpecificProperties = new OffAmazonPaymentsService_RegionSpecificProperties(); } /** * Setup the region specific properties file to use for the * merchant values class * * @param OffAmazonPaymentsService_RegionSpecificProperties instance to use * * @return this */ public function withRegionSpecificProperties( $regionSpecificProperties) { $this->_regionSpecificProperties = $regionSpecificProperties; return $this; } /** * Create a new instance of the merchant values object * with the configured properties * * @return OffAmazonPaymentsService_MerchantValues */ public function build() { return new OffAmazonPaymentsService_MerchantValues( $this->_config, $this->_regionSpecificProperties ); } }