kind || self::TEST === $this->kind; } /** * Was this a test-mode send? */ public function isTestMode(): bool { return self::TEST === $this->kind; } /** * Did nothing go out because of the store rather than the customer? */ public function isShopFault(): bool { return self::NO_GATEWAY === $this->kind || self::FAILED === $this->kind; } /** * Was nothing configured to send with? */ public function hasNoGateway(): bool { return self::NO_GATEWAY === $this->kind; } /** * The gateway that delivered, or `test_mode`, or empty. */ public function driverId(): string { return $this->driverId; } /** * The provider's reason. For the log and the admin — never shown to a * customer, who cannot act on "pattern 4412 is not approved". */ public function message(): string { return $this->message; } /** * The code, only ever non-empty in test mode. */ public function testCode(): string { return $this->testCode; } }