Signature.php 954 字节
<?php


namespace Lackoxygen\Customs\Utils;

use Lackoxygen\Customs\Request\PayExInfo;

class Signature
{
    /**
     * @var PayExInfo $exInfo
     */
    protected $exInfo;

    /**
     * Signature constructor.
     *
     * @param PayExInfo $exInfo
     */
    public function __construct(PayExInfo $exInfo)
    {
        $this->exInfo = $exInfo;
    }


    /**
     * @return string
     */
    public function signatureString(): string
    {
        $buffer = "\"sessionID\":\"{$this->exInfo->getSessionID()}\"";
        $buffer .= "||";
        $buffer .= "\"payExchangeInfoHead\":\"{$this->exInfo->getPayExchangeInfoHead()->toJson(JSON_UNESCAPED_UNICODE)}\"";
        $buffer .= "||";
        $buffer .= "\"payExchangeInfoLists\":\"{$this->exInfo->getPayExchangeInfoLists()->toJson(JSON_UNESCAPED_UNICODE)}\"";
        $buffer .= "||";
        $buffer .= "\"serviceTime\":\"{$this->exInfo->getServiceTime()}\"";

        return $buffer;
    }
}