3v4l.org

run code in 300+ PHP versions simultaneously
<?php $request = 'POST'; // I've set the callback url to http://signature.wix.codeoasis.com/ // I've tried with and without the '/' (ie $url = '') $url = '/'; $headers = array( 'X-Wix-Signature' => '3elavUOF0-I1_7tGz2XZKs_HSlrygsMiblpNFPKv3Ik', "X-Wix-Instance-Id" => "132fc751-9325-63d3-a605-f74e0c25192a", "X-Wix-Event-Id" => "da390885-e72f-4a93-be7f-a90220bac5c7", "X-Wix-Event-Type" => "/provision/provision", "X-Wix-Timestamp" => "2013-10-23T15:39:34.462Z", "X-Wix-Application-Id" => "132fbf95-d58e-f9ed-86e8-48b76f901d91" ); //$body = "{\n\t\"instance-id\": \"1328a7fe-e451-8780-d201-0c5d9a1fc02b\"\n}"; $body = '{"instance-id":"132fc751-9325-63d3-a605-f74e0c25192a"}'; // The app secret provided by Wix $appSecret = "97cfac6e-b061-4007-a03e-eb4bc199e620"; function concat($request, $url, $headers, $body) { // Request Method and Url separated by \n $result = trim($request); $result .= "\n"; $result .= trim($url); $result .= "\n"; // Sort Wix-* headers by key ksort($headers); // concatenate Wix-* headers (trimmed and separate by comma) $first = true; foreach ($headers as $key => $value) { if ($key != 'X-Wix-Signature' && $first == true) { $result = $result . trim($value); $first = false; } else if ($key != 'X-Wix-Signature') { $result = $result . '\n' . trim($value); } } // Add body $result = $result . "\n" . trim($body); return $result; } $concat = "POST\n\n1306dc69-eb2f-493d-fc98-f4e693829367\n1328a7fe-e451-8780-d201-0c5d9a1fc02b\n2013-09-30T10:46:38.993Z\n2cdae256-750f-4cc8-bbde-b35018bf8ceb\n/provision/provision\n{\"instance-id\":\"1328a7fe-e451-8780-d201-0c5d9a1fc02b\"}"; // Encrypt with hmac and app secret $encrypted = hash_hmac('sha256', $concat, $appSecret); $base64 = base64_encode($encrypted); echo "The computed signature is : " . $encrypted . "\n"; echo "The signature sent by Wix : " . $headers['X-Wix-Signature']; // The received request on http://signature.wix.codeoasis.com/ // // { // "Host": "signature.wix.codeoasis.com", // "X-Wix-Signature": "3elavUOF0-I1_7tGz2XZKs_HSlrygsMiblpNFPKv3Ik", // "X-Wix-Instance-Id": "132fc751-9325-63d3-a605-f74e0c25192a", // "X-Wix-Event-Id": "da390885-e72f-4a93-be7f-a90220bac5c7", // "Content-Type": "application/json; charset=utf-8", // "X-Wix-Event-Type": "/provision/provision", // "X-Wix-Timestamp": "2013-10-23T15:39:34.462Z", // "X-Wix-Application-Id": "132fbf95-d58e-f9ed-86e8-48b76f901d91", // "Connection": "keep-alive", // "Accept": "*/*", // "User-Agent": "Dispatch/0.10.1", // "Content-Length": "54", // "body": // { // "instance-id":"132fc751-9325-63d3-a605-f74e0c25192a" // } // }

preferences:
40.16 ms | 402 KiB | 5 Q