クラス
TransactionState
ソース ソース
ファイル: src/Models/TransactionState.php
class TransactionState implements TState, JsonSerializable { const AUTHORIZED = 'authorized'; const CAPTURED = 'captured'; const CANCELED = 'canceled'; const REFUNDED = 'refunded'; const EXPIRED = 'expired'; /** * State to CSS class map * * @var string[] */ private $cssClassMap = [ self::AUTHORIZED => 'card-auth', self::CAPTURED => 'card-gathering', self::CANCELED => 'card-delete', self::REFUNDED => 'card-refunded', self::EXPIRED => 'card-expired', ]; /** * LINE Pay transaction ID * * @var string */ private $transactionId; /** * Transaction state key string * * Should be one of: * - `authorized` * - `captured` * - `canceled` * - `refunded` * - `expired` * * @var string */ private $state; /** * Initializes LINE Pay transaction state object * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param string $transactionId * @param string $state * @return void */ public function __construct($transactionId, $state) { $this->transactionId = $transactionId; $this->state = $state; } /** * Returns array for `json_encode` * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return array */ public function jsonSerialize() { return [ 'transactionId' => $this->transactionId, 'state' => $this->state, 'displayText' => $this->getDisplayText(), 'cssClass' => $this->getCssClass(), ]; } /** * Returns human-readable text representation of current state * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return string */ public function getDisplayText() { $text = ''; switch ($this->state) { case self::AUTHORIZED: $text = __('AUTHORIZE', 'usces'); break; case self::CAPTURED: $text = __('CAPTURE', 'usces'); break; case self::CANCELED: $text = __('Canceled', 'wcex_linepay'); break; case self::REFUNDED: $text = __('REFUNDED', 'usces'); break; case self::EXPIRED: $text = __('Expired', 'wcex_linepay'); break; } return $text; } /** * Returns CSS class for the current state * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return string */ public function getCssClass() { return isset($this->cssClassMap[$this->state]) ? $this->cssClassMap[$this->state] : ''; } /** * Getter for `state` key string * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return string */ public function getState() { return $this->state; } /** * Getter for LINE Pay transaction ID * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return string */ public function getTransactionId() { return $this->transactionId; } }
- __construct — Initializes LINE Pay transaction state object
- getCssClass — Returns CSS class for the current state
- getDisplayText — Returns human-readable text representation of current state
- getState — Getter for `state` key string
- getTransactionId — Getter for LINE Pay transaction ID
- jsonSerialize — Returns array for `json_encode`