Listener   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 17
c 3
b 0
f 0
dl 0
loc 32
ccs 0
cts 20
cp 0
rs 10
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A listen() 0 31 4
1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\Ingenico;
4
5
use Pronamic\WordPress\Pay\Plugin;
6
7
/**
8
 * Title: Ogone listener
9
 * Description:
10
 * Copyright: 2005-2021 Pronamic
11
 * Company: Pronamic
12
 *
13
 * @author  Remco Tolsma
14
 * @version 2.0.2
15
 * @since   1.0.0
16
 */
17
class Listener {
18
	public static function listen() {
19
		$data = Security::get_request_data();
20
21
		$data = array_change_key_case( $data, CASE_UPPER );
22
23
		if ( isset(
24
			$data[ Parameters::NC_ERROR ],
25
			$data['PAYID'],
26
			$data[ Parameters::ORDERID ],
27
			$data[ Parameters::STATUS ]
28
		) ) {
29
			$payment_id = $data[ Parameters::ORDERID ];
30
31
			if ( isset( $data['PAYMENT_ID'] ) ) {
32
				$payment_id = filter_var( $data['PAYMENT_ID'], FILTER_SANITIZE_NUMBER_INT );
33
			}
34
35
			$payment = get_pronamic_payment( $payment_id );
36
37
			if ( null === $payment ) {
38
				return;
39
			}
40
41
			// Add note.
42
			$payment->add_note( __( 'Webhook requested.', 'pronamic_ideal' ) );
43
44
			// Log webhook request.
45
			do_action( 'pronamic_pay_webhook_log_payment', $payment );
46
47
			// Update payment.
48
			Plugin::update_payment( $payment );
49
		}
50
	}
51
}
52