クラス
OrderMeta
ソース ソース
ファイル: src/Models/OrderMeta.php
class OrderMeta { const META_KEY = 'line_order_meta'; const TRANSACTION_STATE_KEY = 'linepay_trans_state'; /** * Welcart order ID * * @var int */ private $orderid; /** * LINE Pay transaction ID * * @var string */ private $transactionId; /** * Array of order meta data * * @var array */ private $meta; /** * LINE Pay transaction state * * Default: `null` * * @var TransactionState|null */ private $transactionState = null; /** * Constructs a LINE Pay order meta object from an existing Welcart transaction * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param int $orderid * @return void */ public function __construct($orderid) { global $usces; $this->orderid = (int)$orderid; $this->meta = unserialize($usces->get_order_meta_value(self::META_KEY, $orderid)); $this->transactionId = $this->meta['transactionId']; $transactionState = $usces->get_order_meta_value(self::TRANSACTION_STATE_KEY, $orderid); if (!empty($transactionState)) { $transactionState = json_decode($transactionState, true); $this->transactionState = new TransactionState($this->transactionId, $transactionState['state']); } } /** * Saves LINE Pay order meta data on a successful Welcart order * * @author Evan D Shaw <evandanielshaw@gmail.com> * @global \usc_e_shop $usces * @param TransactionState $state * @param array $meta * @param int $orderid * @return void */ public static function registerOrderMeta(TransactionState $state, array $meta, $orderid) { global $usces; $usces->set_order_meta_value('wc_trans_id', $state->getTransactionId(), $orderid); $usces->set_order_meta_value(self::META_KEY, serialize($meta), $orderid); $usces->set_order_meta_value(self::TRANSACTION_STATE_KEY, wp_json_encode($state), $orderid); } /** * Saves LINE Pay order meta data on a successful Welcart order * * @author Evan D Shaw <evandanielshaw@gmail.com> * @global \usc_e_shop $usces * @param TransactionState $state * @return OrderMeta */ public function setTransactionState(TransactionState $state) { global $usces; $usces->set_order_meta_value(self::TRANSACTION_STATE_KEY, wp_json_encode($state), $this->orderid); return $this; } /** * Getter for `orderid` * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return int */ public function getOrderId() { return $this->orderid; } /** * Getter for `transactionId` * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return string */ public function getTransactionId() { return $this->transactionId; } /** * Getter for `meta` * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return array */ public function getMeta() { return $this->meta; } /** * Getter for `transactionState` * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return TransactionState|null */ public function getTransactionState() { return $this->transactionState; } }
- __construct — Constructs a LINE Pay order meta object from an existing Welcart transaction
- getMeta — Getter for `meta`
- getOrderId — Getter for `orderid`
- getTransactionId — Getter for `transactionId`
- getTransactionState — Getter for `transactionState`
- registerOrderMeta — Saves LINE Pay order meta data on a successful Welcart order
- setTransactionState — Saves LINE Pay order meta data on a successful Welcart order