/** * Get a list of card provider * @param array $param payload param for retriving a list of card by providers * @return CheckoutApi_Lib_RespondObj * Simple usage: * $param['providerId'] = $providerId ; * $cardProvidersObj = $Api->getCardProvider($param); */ public function getCardProvider($param) { $this->flushState(); $isValidProvider = CheckoutApi_Client_Validation_GW3::isProvider($param); $uri = $this->getUriProvider() . '/cards'; $hasError = false; if (!$isValidProvider) { $hasError = true; $this->throwException('Please provide a valid provider id', array('param' => $param)); } if (!$hasError) { $uri = "{$uri}/{$param['providerId']}"; } return $this->request($uri, $param, !$hasError); }
/** * A helper method that check if card is properly set in payload. It check if expiry date , card number , cvv and name is set * @param $param * @return bool * Simple usage: * CheckoutApi_Client_Validation_GW3::isCardValid($param) */ public static function isCardValid($param) { $isValid = true; if (isset($param['card'])) { $card = $param['card']; $isNameValid = CheckoutApi_Client_Validation_GW3::isNameValid($card); if (!$isNameValid) { $isValid = false; } $isCardNumberValid = CheckoutApi_Client_Validation_GW3::isCardNumberValid($card); if (!$isCardNumberValid && !isset($param['card']['number'])) { $isValid = false; } $isValidMonth = CheckoutApi_Client_Validation_GW3::isMonthValid($card); if (!$isValidMonth && !isset($param['card']['expiryMonth'])) { $isValid = false; } $isValidYear = CheckoutApi_Client_Validation_GW3::isValidYear($card); if (!$isValidYear && !isset($param['card']['expiryYear'])) { $isValid = false; } $isValidCvv = CheckoutApi_Client_Validation_GW3::isValidCvv($card); if (!$isValidCvv && !isset($param['card']['cvv'])) { $isValid = false; } return $isValid; } return true; }