Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getPreOrderPayment example
throw
PaymentException::
validatePreparedPaymentInterrupted
(
sprintf
(
'App error: %s',
$exception
->
getMessage
(
)
)
)
;
}
if
(
!
$response
instanceof ValidateResponse
)
{
throw
PaymentException::
validatePreparedPaymentInterrupted
(
'Invalid app response'
)
;
}
if
(
$response
->
getMessage
(
)
)
{
throw
PaymentException::
validatePreparedPaymentInterrupted
(
$response
->
getMessage
(
)
)
;
}
return
new
ArrayStruct
(
$response
->
getPreOrderPayment
(
)
)
;
}
public
function
capture
(
PreparedPaymentTransactionStruct
$transaction
, RequestDataBag
$requestDataBag
, SalesChannelContext
$context
, Struct
$preOrderPaymentStruct
)
: void
{
$captureUrl
=
$this
->
getAppPaymentMethod
(
$transaction
->
getOrderTransaction
(
)
)
->
getCaptureUrl
(
)
;
if
(
empty
(
$captureUrl
)
)
{
return
;
}
$payload
=
$this
->
buildCapturePayload
(
$transaction
,
$preOrderPaymentStruct
)
;
$app
=
$this
->
getAppPaymentMethod
(
$transaction
->
getOrderTransaction
(
)
)
->
getApp
(
)
;
$transaction
=
new
OrderTransactionEntity
(
)
;
$order
=
new
OrderEntity
(
)
;
$preOrder
=
new
ArrayStruct
(
[
'foo' => 'bar'
]
)
;
$recurring
=
new
RecurringDataStruct
(
'foo',
new
\
DateTime
(
)
)
;
$source
=
new
Source
(
'foo', 'bar', '1.0.0'
)
;
$payload
=
new
CapturePayload
(
$transaction
,
$order
,
$preOrder
,
$recurring
)
;
$payload
->
setSource
(
$source
)
;
static
::
assertEquals
(
$transaction
,
$payload
->
getOrderTransaction
(
)
)
;
static
::
assertSame
(
$order
,
$payload
->
getOrder
(
)
)
;
static
::
assertSame
(
$preOrder
,
$payload
->
getPreOrderPayment
(
)
)
;
static
::
assertSame
(
$recurring
,
$payload
->
getRecurring
(
)
)
;
static
::
assertSame
(
$source
,
$payload
->
getSource
(
)
)
;
}
}