@@ -16,7 +16,8 @@ class Notification
1616 * @throws NotificationException
1717 * @throws JsonException
1818 */
19- public function __construct (string $ hashKey , $ payload = null ) {
19+ public function __construct (string $ hashKey , $ payload = null )
20+ {
2021
2122 $ this ->hashKey = $ hashKey ;
2223
@@ -30,16 +31,20 @@ public function __construct(string $hashKey, $payload = null) {
3031 * @throws NotificationException
3132 * @throws JsonException
3233 */
33- private function validate ($ payload = null ) {
34+ private function validate ($ payload = null )
35+ {
3436
3537 if (!$ payload ) {
3638 throw new NotificationException ('No payload found ' );
3739 }
3840
39- $ data = json_decode ($ payload , true , 512 , JSON_THROW_ON_ERROR );
40- $ this ->data = $ data ;
41+ try {
42+ $ this ->data = json_decode ($ payload , true , 512 , JSON_THROW_ON_ERROR );
43+ } catch (JsonException $ e ) {
44+ throw new NotificationException ('Couldn \'t parse data ' );
45+ }
4146
42- if ($ this ->signature ($ data ) !== $ data ['signature ' ]) {
47+ if ($ this ->signature ($ this -> data ) !== $ this -> data ['signature ' ]) {
4348 throw new NotificationException ('Bad signature ' );
4449 }
4550
@@ -48,7 +53,8 @@ private function validate($payload = null) {
4853 /**
4954 * @throws NotificationException
5055 */
51- private function signature (array $ data ) {
56+ private function signature (array $ data )
57+ {
5258
5359 if (!isset ($ data ['signature ' ])) {
5460 throw new NotificationException ('Signature param not found ' );
@@ -90,59 +96,73 @@ private function signature(array $data) {
9096
9197 }
9298
93- public function getId () {
99+ public function getId ()
100+ {
94101 return $ this ->data ['id ' ];
95102 }
96103
97- public function getServiceId () {
104+ public function getServiceId ()
105+ {
98106 return $ this ->data ['service_id ' ];
99107 }
100108
101- public function getStatus () {
109+ public function getStatus ()
110+ {
102111 return $ this ->data ['status ' ];
103112 }
104113
105- public function getValueNet () {
114+ public function getValueNet ()
115+ {
106116 return $ this ->data ['values ' ]['net ' ];
107117 }
108118
109- public function getValueGross () {
119+ public function getValueGross ()
120+ {
110121 return $ this ->data ['values ' ]['gross ' ];
111122 }
112123
113- public function getValuePartner () {
124+ public function getValuePartner ()
125+ {
114126 return $ this ->data ['values ' ]['partner ' ];
115127 }
116128
117- public function getReturnSuccess () {
129+ public function getReturnSuccess ()
130+ {
118131 return $ this ->data ['returns ' ]['complete ' ] ?? null ;
119132 }
120133
121- public function getReturnFailure () {
134+ public function getReturnFailure ()
135+ {
122136 return $ this ->data ['returns ' ]['failure ' ] ?? null ;
123137 }
124138
125- public function getControl () {
139+ public function getControl ()
140+ {
126141 return $ this ->data ['control ' ] ?? null ;
127142 }
128143
129- public function getNumberFrom () {
144+ public function getNumberFrom ()
145+ {
130146 return $ this ->data ['number_from ' ] ?? null ;
131147 }
132148
133- public function getProvider () {
149+ public function getProvider ()
150+ {
134151 return $ this ->data ['provider ' ] ?? null ;
135152 }
136153
137- public function getData (): array {
154+ public function getData (): array
155+ {
138156 return $ this ->data ;
139157 }
140158
141- public function isPaid (): bool {
159+ public function isPaid (): bool
160+ {
142161 return $ this ->data ['status ' ] === 'transaction_db_payed ' ;
143162 }
144163
145- public function responseOk () {
164+ public function responseOk ()
165+ {
146166 http_response_code (200 );
147167 header ('Content-Type: plain/text ' );
148168 exit ('OK ' );
0 commit comments