MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/artinside/www/sabbry/vendor/pagarme/pagarme-php/src/Endpoints/Postbacks.php
<?php

namespace PagarMe\Endpoints;

use PagarMe\Client;
use PagarMe\Routes;
use PagarMe\Endpoints\Endpoint;

class Postbacks extends Endpoint
{
    /**
     * @param array $payload
     *
     * @return \ArrayObject
     */
    public function redeliver(array $payload)
    {
        return $this->client->request(
            self::POST,
            Routes::postbacks()->redeliver(
                $payload['model'],
                $payload['model_id'],
                $payload['postback_id']
            )
        );
    }

    /**
     * @param array $payload
     *
     * @return \ArrayObject
     */
    public function get(array $payload)
    {
        return $this->client->request(
            self::GET,
            Routes::postbacks()->details(
                $payload['model'],
                $payload['model_id'],
                $payload['postback_id']
            )
        );
    }

    /**
     * @param array $payload
     *
     * @return \ArrayObject
     */
    public function getList(array $payload)
    {
        return $this->client->request(
            self::GET,
            Routes::postbacks()->base(
                $payload['model'],
                $payload['model_id']
            )
        );
    }

    /**
     * @param string $payload
     * @param string $signature
     *
     * @return boolean
     */
    public function validate($payload, $signature)
    {
        $parts = explode('=', $signature, 2);

        if (count($parts) != 2) {
            return false;
        }

        $apiKey = $this->client->getApiKey();

        return hash_hmac($parts[0], $payload, $apiKey) === $parts[1];
    }
}