<?php /** * @var \app\modules\shop\models\OrderTransaction $transaction */ $form = \yii\bootstrap\ActiveForm::begin(['id' => 'order-details-form', 'action' => \yii\helpers\Url::to(['/shop/payment/type', 'id' => $transaction->id, 'othash' => $transaction->generateHash(), 'update' => '1']), 'layout' => 'horizontal']); echo $form->field($transaction, 'payment_type_id')->dropDownList(array_reduce(\app\modules\shop\models\PaymentType::getPaymentTypes(), function ($result, $item) { /** @var \app\modules\shop\models\PaymentType $item */ $result[$item->id] = $item->name; return $result; }, [])); echo \yii\helpers\Html::submitButton(Yii::t('app', 'Save')); $form->end();
public static function handleStagePayment(OrderStageEvent $event) { /** @var Order $order */ $order = $event->eventData()['order']; $order->calculate(true); /** @var PaymentType[] $paymentTypes */ $paymentTypes = PaymentType::getPaymentTypes(); $event->addEventData(['paymentTypes' => $paymentTypes, 'totalPayment' => $order->total_price]); }