Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
unsatisfiableness
/
core
/
lib
/
coinbase
/
coinbase-commerce
/
src
:
Webhook.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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); } } }