クラス
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`