src/Model/Payload.php
public function withCustomData(string $name, $value): Payload
    {
        if ($value && !is_array($value) && !is_scalar($value) && !$value instanceof \JsonSerializable) {
            throw new \InvalidArgumentException(sprintf(
                'The custom data value should be a scalar or \JsonSerializable instance, but "%s" given.',
                is_object($value) ? get_class($value) : gettype($value)
            ));
        }

        $cloned = clone $this;

        $cloned->customData[$name] = $value;

        return $cloned;
    }
public function withCustomData(string $name, $value): Payload
    {
        if ($value && !is_array($value) && !is_scalar($value) && !$value instanceof \JsonSerializable) {
            throw new \InvalidArgumentException(sprintf(
                'The custom data value should be a scalar or \JsonSerializable instance, but "%s" given.',
                is_object($value) ? get_class($value) : gettype($value)
            ));
        }

        $cloned = clone $this;

        $cloned->customData[$name] = $value;

        return $cloned;
    }
public function withCustomData ( string $ name , $ value ) : Payload { if ( $ value && ! is_array ( $ value ) && ! is_scalar ( $ value ) && ! $ value instanceof \ JsonSerializable ) { throw new \ InvalidArgumentException ( sprintf ( 'The custom data value should be a scalar or \JsonSerializable instance, but "%s" given.' , is_object ( $ value ) ? get_class ( $ value ) : gettype ( $ value ) ) ) ; } $ cloned = clone $ this ; $ cloned -> customData [ $ name ] = $ value ; return $ cloned ; }
Add or replace custom data

@param string $name
@param mixed  $value

@return Payload

@throws \InvalidArgumentException
Add or replace custom data