Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
invalidateToken example
$this
->
expectException
(
InvalidTokenException::
class
)
;
}
$this
->
expectException
(
PaymentException::
class
)
;
$this
->
expectExceptionMessage
(
'The provided token ' .
$invalidToken
. ' is invalid and the payment could not be processed.'
)
;
$this
->tokenFactory->
parseToken
(
$invalidToken
)
;
}
public
function
testInvalidateToken
(
)
: void
{
$success
=
$this
->tokenFactory->
invalidateToken
(
Uuid::
randomHex
(
)
)
;
static
::
assertFalse
(
$success
)
;
}
public
function
testExpiredToken
(
)
: void
{
$configuration
= Configuration::
forSymmetricSigner
(
new
TestSigner
(
)
,
new
TestKey
(
)
)
;
$configuration
->
setValidationConstraints
(
new
StrictValidAt
(
new
FrozenClock
(
new
\
DateTimeImmutable
(
'now - 1 day'
)
)
)
)
;
$tokenFactory
=
new
JWTFactoryV2
(
$configuration
,
$this
->
createMock
(
Connection::
class
)
)
;
$transaction
= self::
createTransaction
(
)
;
$tokenStruct
=
new
TokenStruct
(
null, null,
$transaction
->
getPaymentMethodId
(
)
,
$transaction
->
getId
(
)
, null, -50
)
;
throw
$e
;
}
}
public
function
finalizeTransaction
(
string
$paymentToken
, Request
$request
, SalesChannelContext
$context
)
: TokenStruct
{
$token
=
$this
->tokenFactory->
parseToken
(
$paymentToken
)
;
if
(
$token
->
isExpired
(
)
)
{
$token
->
setException
(
PaymentException::
tokenExpired
(
$paymentToken
)
)
;
if
(
$token
->
getToken
(
)
!== null
)
{
$this
->tokenFactory->
invalidateToken
(
$token
->
getToken
(
)
)
;
}
return
$token
;
}
if
(
$token
->
getPaymentMethodId
(
)
=== null
)
{
throw
PaymentException::
invalidToken
(
$paymentToken
)
;
}
$transactionId
=
$token
->
getTransactionId
(
)
;