Я использую Magento 2.3.2
, проблема заключается в следующем: когда клиент запускает Checkout и достигает способов оплаты и выбирает метод моего банка, система непосредственно устанавливает заказ, не ожидая, пока платеж завершит процесс. Таким образом, статус заказа будет «Payment_pending», пока он успешно обработан!
Мой вопрос: как я могу позволить Magento не отправлять заказ до завершения процесса оплаты?
Коды моего банка: Config.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
<default>
<payment>
<paytabsexpress>
<model>Paytabs\Paytabsexpress\Model\PaymentMethod</model>
<title>Credit card </title>
<merchantid backend_model="Magento\Config\Model\Config\Backend\Encrypted" />
<secretkey backend_model="Magento\Config\Model\Config\Backend\Encrypted" />
<secretsign backend_model="Magento\Config\Model\Config\Backend\Encrypted" />
<payment_action>Sale</payment_action>
<visible_on_cart>1</visible_on_cart>
<order_status>pending_payment</order_status>
</paytabsexpress>
</payment>
</default>
</config>
form.html:
<div class="payment-method" data-bind="css: {'_active': (getCode() == isChecked())}">
<div class="payment-method-title field choice">
<input type="radio"
name="payment[method]"
class="radio"
data-bind="attr: {'id': getCode()}, value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()"/>
<label data-bind="attr: {'for': getCode()}" class="label"><span data-bind="text: getTitle()"></span></label>
</div>
<div class="payment-method-content">
<div class="payment-method-billing-address">
<!-- ko foreach: $parent.getRegion(getBillingAddressFormName()) -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<div class="checkout-agreements-block">
<!-- ko foreach: $parent.getRegion('before-place-order') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
</div>
<div class="actions-toolbar">
<div class="primary">
<button class="action primary checkout"
type="submit"
data-bind="
click: placeOrder,
attr: {title: $t('Place Order')},
css: {disabled: !isPlaceOrderActionAllowed()},
enable: (getCode() == isChecked())
"
disabled>
<span data-bind="i18n: 'Place Order'"></span>
</button>
</div>
</div>
<div id="paytabsexpressloader">
</div>
</div>
</div>