Completed
Push — master ( 6520eb...1719ac )
by Jeroen De
13s
created
app/RouteHandlers/PayPalNotificationHandler.php 1 patch
Spacing   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-declare( strict_types = 1 );
3
+declare(strict_types = 1);
4 4
 
5 5
 namespace WMDE\Fundraising\Frontend\App\RouteHandlers;
6 6
 
@@ -22,93 +22,93 @@  discard block
 block discarded – undo
22 22
 
23 23
 	private $ffFactory;
24 24
 
25
-	public function __construct( FunFunFactory $ffFactory ) {
25
+	public function __construct(FunFunFactory $ffFactory) {
26 26
 		$this->ffFactory = $ffFactory;
27 27
 	}
28 28
 
29
-	public function handle( Request $request ): Response {
29
+	public function handle(Request $request): Response {
30 30
 		$post = $request->request;
31 31
 
32 32
 		try {
33
-			$this->ffFactory->getPayPalPaymentNotificationVerifier()->verify( $post->all() );
34
-		} catch ( PayPalPaymentNotificationVerifierException $e ) {
33
+			$this->ffFactory->getPayPalPaymentNotificationVerifier()->verify($post->all());
34
+		} catch (PayPalPaymentNotificationVerifierException $e) {
35 35
 			// TODO: let PayPal resend IPN?
36 36
 
37
-			$this->ffFactory->getPaypalLogger()->log( LogLevel::ERROR, $e->getMessage(), [
37
+			$this->ffFactory->getPaypalLogger()->log(LogLevel::ERROR, $e->getMessage(), [
38 38
 				'post_vars' => $request->request->all()
39
-			] );
40
-			return $this->createErrorResponse( $e );
39
+			]);
40
+			return $this->createErrorResponse($e);
41 41
 		}
42 42
 
43 43
 		// TODO: check txn_type
44 44
 
45
-		$useCase = $this->ffFactory->newHandlePayPalPaymentNotificationUseCase( $this->getUpdateToken( $post ) );
45
+		$useCase = $this->ffFactory->newHandlePayPalPaymentNotificationUseCase($this->getUpdateToken($post));
46 46
 
47
-		$response = $useCase->handleNotification( $this->newUseCaseRequestFromPost( $post ) );
48
-		$this->logResponseIfNeeded( $response, $request );
47
+		$response = $useCase->handleNotification($this->newUseCaseRequestFromPost($post));
48
+		$this->logResponseIfNeeded($response, $request);
49 49
 
50
-		return new Response( '', Response::HTTP_OK ); # PayPal expects an empty response
50
+		return new Response('', Response::HTTP_OK); # PayPal expects an empty response
51 51
 	}
52 52
 
53
-	private function getUpdateToken( ParameterBag $postRequest ): string {
54
-		return $this->getValueFromCustomVars( $postRequest->get( 'custom', '' ), 'utoken' );
53
+	private function getUpdateToken(ParameterBag $postRequest): string {
54
+		return $this->getValueFromCustomVars($postRequest->get('custom', ''), 'utoken');
55 55
 	}
56 56
 
57
-	private function getValueFromCustomVars( string $customVars, string $key ): string {
58
-		$vars = json_decode( $customVars, true );
59
-		return !empty( $vars[$key] ) ? $vars[$key] : '';
57
+	private function getValueFromCustomVars(string $customVars, string $key): string {
58
+		$vars = json_decode($customVars, true);
59
+		return !empty($vars[$key]) ? $vars[$key] : '';
60 60
 	}
61 61
 
62
-	private function newUseCaseRequestFromPost( ParameterBag $postRequest ): PayPalNotificationRequest {
63
-		return ( new PayPalNotificationRequest() )
64
-			->setTransactionType( $postRequest->get( 'txn_type', '' ) )
65
-			->setTransactionId( $postRequest->get( 'txn_id', '' ) )
66
-			->setPayerId( $postRequest->get( 'payer_id', '' ) )
67
-			->setSubscriberId( $postRequest->get( 'subscr_id', '' ) )
68
-			->setPayerEmail( $postRequest->get( 'payer_email', '' ) )
69
-			->setPayerStatus( $postRequest->get( 'payer_status', '' ) )
70
-			->setPayerFirstName( $postRequest->get( 'first_name', '' ) )
71
-			->setPayerLastName( $postRequest->get( 'last_name', '' ) )
72
-			->setPayerAddressName( $postRequest->get( 'address_name', '' ) )
73
-			->setPayerAddressStreet( $postRequest->get( 'address_street', '' ) )
74
-			->setPayerAddressPostalCode( $postRequest->get( 'address_zip', '' ) )
75
-			->setPayerAddressCity( $postRequest->get( 'address_city', '' ) )
76
-			->setPayerAddressCountryCode( $postRequest->get( 'address_country_code', '' ) )
77
-			->setPayerAddressStatus( $postRequest->get( 'address_status', '' ) )
78
-			->setDonationId( (int)$postRequest->get( 'item_number', 0 ) )
79
-			->setCurrencyCode( $postRequest->get( 'mc_currency', '' ) )
80
-			->setTransactionFee( $postRequest->get( 'mc_fee', '0' ) ) // No Euro class to avoid exceptions on fees < 0
81
-			->setAmountGross( Euro::newFromString( $postRequest->get( 'mc_gross', '0' ) ) )
82
-			->setSettleAmount( Euro::newFromString( $postRequest->get( 'settle_amount', '0' ) ) )
83
-			->setPaymentTimestamp( $postRequest->get( 'payment_date', '' ) )
84
-			->setPaymentStatus( $postRequest->get( 'payment_status', '' ) )
85
-			->setPaymentType( $postRequest->get( 'payment_type', '' ) );
62
+	private function newUseCaseRequestFromPost(ParameterBag $postRequest): PayPalNotificationRequest {
63
+		return (new PayPalNotificationRequest())
64
+			->setTransactionType($postRequest->get('txn_type', ''))
65
+			->setTransactionId($postRequest->get('txn_id', ''))
66
+			->setPayerId($postRequest->get('payer_id', ''))
67
+			->setSubscriberId($postRequest->get('subscr_id', ''))
68
+			->setPayerEmail($postRequest->get('payer_email', ''))
69
+			->setPayerStatus($postRequest->get('payer_status', ''))
70
+			->setPayerFirstName($postRequest->get('first_name', ''))
71
+			->setPayerLastName($postRequest->get('last_name', ''))
72
+			->setPayerAddressName($postRequest->get('address_name', ''))
73
+			->setPayerAddressStreet($postRequest->get('address_street', ''))
74
+			->setPayerAddressPostalCode($postRequest->get('address_zip', ''))
75
+			->setPayerAddressCity($postRequest->get('address_city', ''))
76
+			->setPayerAddressCountryCode($postRequest->get('address_country_code', ''))
77
+			->setPayerAddressStatus($postRequest->get('address_status', ''))
78
+			->setDonationId((int)$postRequest->get('item_number', 0))
79
+			->setCurrencyCode($postRequest->get('mc_currency', ''))
80
+			->setTransactionFee($postRequest->get('mc_fee', '0')) // No Euro class to avoid exceptions on fees < 0
81
+			->setAmountGross(Euro::newFromString($postRequest->get('mc_gross', '0')))
82
+			->setSettleAmount(Euro::newFromString($postRequest->get('settle_amount', '0')))
83
+			->setPaymentTimestamp($postRequest->get('payment_date', ''))
84
+			->setPaymentStatus($postRequest->get('payment_status', ''))
85
+			->setPaymentType($postRequest->get('payment_type', ''));
86 86
 	}
87 87
 
88
-	private function createErrorResponse( PayPalPaymentNotificationVerifierException $e ): Response {
89
-		switch ( $e->getCode() ) {
88
+	private function createErrorResponse(PayPalPaymentNotificationVerifierException $e): Response {
89
+		switch ($e->getCode()) {
90 90
 			case PayPalPaymentNotificationVerifierException::ERROR_WRONG_RECEIVER:
91
-				return new Response( $e->getMessage(), Response::HTTP_FORBIDDEN );
91
+				return new Response($e->getMessage(), Response::HTTP_FORBIDDEN);
92 92
 			case PayPalPaymentNotificationVerifierException::ERROR_VERIFICATION_FAILED:
93
-				return new Response( $e->getMessage(), Response::HTTP_FORBIDDEN );
93
+				return new Response($e->getMessage(), Response::HTTP_FORBIDDEN);
94 94
 			case PayPalPaymentNotificationVerifierException::ERROR_UNSUPPORTED_CURRENCY:
95
-				return new Response( $e->getMessage(), Response::HTTP_NOT_ACCEPTABLE );
95
+				return new Response($e->getMessage(), Response::HTTP_NOT_ACCEPTABLE);
96 96
 			default:
97
-				return new Response( $e->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR );
97
+				return new Response($e->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
98 98
 		}
99 99
 	}
100 100
 
101
-	private function logResponseIfNeeded( PaypalNotificationResponse $response, Request $request ) {
102
-		if ( $response->notificationWasHandled() ) {
101
+	private function logResponseIfNeeded(PaypalNotificationResponse $response, Request $request) {
102
+		if ($response->notificationWasHandled()) {
103 103
 			return;
104 104
 		}
105 105
 
106 106
 		$context = $response->getContext();
107 107
 		$message = $context['message'] ?? 'Paypal request not handled';
108 108
 		$logLevel = $response->hasErrors() ? LogLevel::ERROR : LogLevel::INFO;
109
-		unset( $context['message'] );
109
+		unset($context['message']);
110 110
 		$context['post_vars'] = $request->request->all();
111
-		$this->ffFactory->getPaypalLogger()->log( $logLevel, $message, $context );
111
+		$this->ffFactory->getPaypalLogger()->log($logLevel, $message, $context);
112 112
 	}
113 113
 
114 114
 }
Please login to merge, or discard this patch.