Listener::listen()   A
last analyzed

Complexity

Conditions 4
Paths 5

Size

Total Lines 31
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 20

Importance

Changes 3
Bugs 0 Features 0
Metric Value
cc 4
eloc 16
c 3
b 0
f 0
nc 5
nop 0
dl 0
loc 31
ccs 0
cts 20
cp 0
crap 20
rs 9.7333
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