示例#1
0
 /**
  * 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);
 }
示例#2
0
 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);
 }
示例#3
0
 /**
  * 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);
     }
 }