![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/job-board.corals.io/Corals/modules/Payment/Coinbase/coinbase-commerce-php/ |
<?php namespace CoinbaseCommerce; use CoinbaseCommerce\Exceptions\InvalidResponseException; use CoinbaseCommerce\Exceptions\SignatureVerificationException; use CoinbaseCommerce\Resources\Event; class Webhook { public static function buildEvent($payload, $sigHeader, $secret) { $data = null; $data = \json_decode($payload, true); if (json_last_error()) { throw new InvalidResponseException('Invalid payload provided. No JSON object could be decoded.', $payload); } if (!isset($data['event'])) { throw new InvalidResponseException('Invalid payload provided.', $payload); } self::verifySignature($payload, $sigHeader, $secret); return new Event($data['event']); } public static function verifySignature($payload, $sigHeader, $secret) { $computedSignature = \hash_hmac('sha256', $payload, $secret); if (!Util::hashEqual($sigHeader, $computedSignature)) { throw new SignatureVerificationException($computedSignature, $payload); } } }