Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setPaymentMethod example
$context
=
$this
->orderConverter->
assembleSalesChannelContext
(
$order
,
$context
->
getContext
(
)
,
[
SalesChannelContextService::PAYMENT_METHOD_ID =>
$paymentMethodId
]
)
;
$this
->
validateRequest
(
$context
,
$paymentMethodId
)
;
$this
->
validatePaymentState
(
$order
)
;
$this
->
setPaymentMethod
(
$paymentMethodId
,
$order
,
$context
)
;
return
new
SetPaymentOrderRouteResponse
(
)
;
}
private
function
setPaymentMethod
(
string
$paymentMethodId
, OrderEntity
$order
, SalesChannelContext
$salesChannelContext
)
: void
{
$context
=
$salesChannelContext
->
getContext
(
)
;
if
(
$this
->
tryTransition
(
$order
,
$paymentMethodId
,
$context
)
)
{
return
;
}
#[Package('core')]
trait
RemoveAppTrait
{
private
function
removeApp
(
OrderTransactionEntity
$orderTransaction
)
: OrderTransactionEntity
{
$orderTransaction
=
clone
$orderTransaction
;
$paymentMethod
=
$orderTransaction
->
getPaymentMethod
(
)
;
if
(
$paymentMethod
=== null
)
{
return
$orderTransaction
;
}
$paymentMethod
=
clone
$paymentMethod
;
$orderTransaction
->
setPaymentMethod
(
$paymentMethod
)
;
$appPaymentMethod
=
$paymentMethod
->
getAppPaymentMethod
(
)
;
if
(
$appPaymentMethod
=== null
)
{
return
$orderTransaction
;
}
$appPaymentMethod
=
clone
$appPaymentMethod
;
$appPaymentMethod
->
setApp
(
null
)
;
$paymentMethod
->
setAppPaymentMethod
(
$appPaymentMethod
)
;
return
$orderTransaction
;
}
public
function
testPaymentHandlerNotFoundException
(
)
: void
{
$paymentMethod
=
new
PaymentMethodEntity
(
)
;
$paymentMethod
->
setId
(
'foo'
)
;
$paymentMethod
->
setHandlerIdentifier
(
'foo_recurring_handler'
)
;
$transaction
=
new
OrderTransactionEntity
(
)
;
$transaction
->
setId
(
'foo'
)
;
$transaction
->
setStateId
(
'initial_state_id'
)
;
$transaction
->
setPaymentMethodId
(
'foo'
)
;
$transaction
->
setPaymentMethod
(
$paymentMethod
)
;
$transactions
=
new
OrderTransactionCollection
(
[
$transaction
]
)
;
$order
=
new
OrderEntity
(
)
;
$order
->
setId
(
'foo'
)
;
$order
->
setTransactions
(
$transactions
)
;
$repo
=
$this
->
createMock
(
EntityRepository::
class
)
;
$repo
->
expects
(
static
::
once
(
)
)
->
method
(
'search'
)