Listener::listen()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 31
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 20

Importance

Changes 3
Bugs 0 Features 0
Metric Value
cc 4
eloc 14
c 3
b 0
f 0
nc 4
nop 0
dl 0
loc 31
ccs 0
cts 19
cp 0
crap 20
rs 9.7998
1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\EMS\ECommerce;
4
5
use Pronamic\WordPress\Pay\Plugin;
6
7
/**
8
 * Title: EMS e-Commerce listener
9
 * Description:
10
 * Copyright: 2005-2022 Pronamic
11
 * Company: Pronamic
12
 *
13
 * @author Reüel van der Steege
14
 * @version 2.0.0
15
 * @since 1.0.0
16
 */
17
class Listener {
18
	/**
19
	 * Listen.
20
	 *
21
	 * @return void
22
	 */
23
	public static function listen() {
24
		if ( ! filter_has_var( INPUT_POST, 'ems_notify_payment_id' ) ) {
25
			return;
26
		}
27
28
		$payment_id = filter_input( INPUT_POST, 'ems_notify_payment_id' );
29
30
		$payment = get_pronamic_payment( $payment_id );
31
32
		if ( null === $payment ) {
33
			return;
34
		}
35
36
		// Add note.
37
		$note = sprintf(
38
			/* translators: %s: payment provider name */
39
			__( 'Webhook requested by %s.', 'pronamic_ideal' ),
40
			__( 'EMS', 'pronamic_ideal' )
41
		);
42
43
		try {
44
			$payment->add_note( $note );
45
		} catch ( \Exception $e ) {
46
			// Nothing to do.
47
		}
48
49
		// Log webhook request.
50
		do_action( 'pronamic_pay_webhook_log_payment', $payment );
51
52
		// Update payment.
53
		Plugin::update_payment( $payment );
54
	}
55
}
56