/** * Based on payment model generates signature * @param Payment $payment * * @return string */ public static function generateSignature(Payment $payment) { $secretKey = $payment->getSecretKey(); $string = self::METHOD_NAME . $secretKey; $string .= $payment->getPgwShopId() . $secretKey; $string .= $payment->getPgwOrderId() . $secretKey; $string .= $payment->getPgwAmount() . $secretKey; $string .= $payment->getPgwInstallments() . $secretKey; $string .= $payment->getPgwAuthorizationType() . $secretKey; $string .= $payment->getPgwAuthorizationToken() . $secretKey; $string .= $payment->getPgwLanguage() . $secretKey; $string .= $payment->getPgwReturnMethod() . $secretKey; $string .= $payment->getPgwSuccessUrl() . $secretKey; $string .= $payment->getPgwFailureUrl() . $secretKey; $string .= $payment->getPgwCardNumber() . $secretKey; $string .= $payment->getPgwCardExpirationDate() . $secretKey; $string .= $payment->getPgwCardVerificationData() . $secretKey; $string .= $payment->getPgwFirstName() . $secretKey; $string .= $payment->getPgwLastName() . $secretKey; $string .= $payment->getPgwStreet() . $secretKey; $string .= $payment->getPgwCity() . $secretKey; $string .= $payment->getPgwPostCode() . $secretKey; $string .= $payment->getPgwCountry() . $secretKey; $string .= $payment->getPgwPhoneNumber() . $secretKey; $string .= $payment->getPgwEmail() . $secretKey; $string .= $payment->getPgwMerchantData() . $secretKey; return hash('sha512', $string); }