addParameter("callerReference", $callerReference); $this->addParameter("returnURL", $returnUrl); $this->addParameter("globalAmountLimit", $globalAmountLimit); } /** * Set usage limits for multi use token pipeline. */ function setUsageLimit1($limitType, $limitValue, $limitPeriod) { $this->addParameter("usageLimitType1", $limitType); $this->addParameter("usageLimitValue1", $limitValue); if (isset($limitPeriod)) { $this->addParameter("usageLimitPeriod1", $limitPeriod); } } /** * Set usage limits for multi use token pipeline. */ function setUsageLimit2($limitType, $limitValue, $limitPeriod) { $this->addParameter("usageLimitType1", $limitType); $this->addParameter("usageLimitValue1", $limitValue); if (isset($limitPeriod)) { $this->addParameter("usageLimitPeriod1", $limitPeriod); } } /** * Set recipient token list for multi use token pipeline. */ function setRecipientTokenList($isRecipientCobranding, $tokens) { $this->addParameter("isRecipientCobranding", ($isRecipientCobranding ? "True" : "False")); if (!isset($tokens)) return; $tokenList = implode(",", $tokens); $this->addParameter("recipientTokenList", $tokenList); } function validateParameters($parameters) { //mandatory parameters for multi use pipeline if (!isset($parameters["globalAmountLimit"])) { throw new Exception("globalAmountLimit is missing in parameters."); } //conditional parameters for multi use pipeline if (isset($parameters["isRecipientCobranding"]) and !isset($parameters["recipientTokenList"])) { throw new Exception("recipientTokenList is missing in parameters."); } if (isset($parameters["usageLimitType1"]) and !isset($parameters["usageLimitValue1"])) { throw new Exception("usageLimitValue1 is missing in parameters."); } if (isset($parameters["usageLimitType2"]) and !isset($parameters["usageLimitValue2"])) { throw new Exception("usageLimitValue2 is missing in parameters."); } } }