public static function listen() { $data = Pronamic_WP_Pay_Gateways_Ogone_Security::get_request_data(); $data = array_change_key_case($data, CASE_UPPER); if (isset($data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::NC_ERROR], $data['PAYID'], $data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::ORDERID], $data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::STATUS])) { $payment_id = $data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::ORDERID]; $payment = get_pronamic_payment($payment_id); Pronamic_WP_Pay_Plugin::update_payment($payment); } }
/** * 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 = $this->client->verify_request($data); if (false !== $data) { $status = Pronamic_WP_Pay_Gateways_Ogone_Statuses::transform($data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::STATUS]); $payment->set_status($status); $this->update_status_payment_note($payment, $data); } }
/** * 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); } }
/** * 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 = $this->client->verify_request($data); if (false !== $data) { $status = Pronamic_WP_Pay_Gateways_Ogone_Statuses::transform($data[Pronamic_WP_Pay_Gateways_Ogone_Parameters::STATUS]); $payment->set_status($status); $this->update_status_payment_note($payment, $data); return; } $order_id = $payment->format_string($this->config->order_id); $status = $this->client->get_order_status($order_id); if (null !== $status) { $payment->set_status($status); } }