/** * Get signature OUT * * @param array $fields */ public function get_signature_out($fields) { $calculation_fields = Pronamic_WP_Pay_Gateways_Ogone_Security::get_calculations_parameters_out(); $fields = Pronamic_WP_Pay_Gateways_Ogone_Security::get_calculation_fields($calculation_fields, $fields); return Pronamic_WP_Pay_Gateways_Ogone_Security::get_signature($fields, $this->get_pass_phrase_out(), $this->hash_algorithm); }
public static function sign_data(Pronamic_WP_Pay_Gateways_Ogone_Data $data, $pass_phrase, $hash_algorithm) { $calculation_fields = Pronamic_WP_Pay_Gateways_Ogone_Security::get_calculations_parameters_in(); $fields = Pronamic_WP_Pay_Gateways_Ogone_Security::get_calculation_fields($calculation_fields, $data->get_fields()); $signature = Pronamic_WP_Pay_Gateways_Ogone_Security::get_signature($fields, $pass_phrase, $hash_algorithm); $data->set_field('SHASign', $signature); }
/** * Update status of the specified payment * * @param Pronamic_Pay_Payment $payment */ public function update_status(Pronamic_Pay_Payment $payment) { $data = Pronamic_WP_Pay_Gateways_Ogone_Security::get_request_data(); $data = array_change_key_case($data, CASE_UPPER); $calculation_fields = Pronamic_WP_Pay_Gateways_Ogone_Security::get_calculations_parameters_out(); $fields = Pronamic_WP_Pay_Gateways_Ogone_Security::get_calculation_fields($calculation_fields, $data); $signature = $data['SHASIGN']; $signature_out = Pronamic_WP_Pay_Gateways_Ogone_Security::get_signature($fields, $this->config->sha_out_pass_phrase, $this->config->hash_algorithm); if (0 === strcasecmp($signature, $signature_out)) { $status = Pronamic_WP_Pay_Gateways_Ogone_Statuses::transform($data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::STATUS]); $payment->set_status($status); } }