/** * 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); } }
/** * Get order status */ public function get_order_status($order_id) { $return = null; // API user ID and password $user_id = $this->get_user_id(); $password = $this->get_password(); if ('' === $user_id || '' === $password) { return $return; } $result = Pronamic_WP_Pay_Util::remote_get_body($this->get_direct_query_url(), 200, array('method' => 'POST', 'body' => array(Pronamic_WP_Pay_Gateways_Ogone_Parameters::ORDERID => $order_id, Pronamic_WP_Pay_Gateways_Ogone_Parameters::PSPID => $this->data->get_field(Pronamic_WP_Pay_Gateways_Ogone_Parameters::PSPID), Pronamic_WP_Pay_Gateways_Ogone_Parameters::USER_ID => $user_id, Pronamic_WP_Pay_Gateways_Ogone_Parameters::PASSWORD => $password), 'timeout' => 30)); $xml = Pronamic_WP_Pay_Util::simplexml_load_string($result); if (!is_wp_error($xml)) { $order_response = Pronamic_WP_Pay_Gateways_Ogone_OrderResponseParser::parse($xml); $status = Pronamic_WP_Pay_XML_Security::filter($order_response->status); $return = Pronamic_WP_Pay_Gateways_Ogone_Statuses::transform($status); } return $return; }
/** * 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); } }