Как обезопасить платежный плагин в Magento 2 - PullRequest
0 голосов
/ 01 июля 2019

Я вижу много уроков в интернете, все они останавливаются на

nameplugin-method.js

как заказ на покупку офлайн плагина по умолчанию:

Форма:

<form id="purchaseorder-form" class="form form-purchase-order" data-role="purchaseorder-form">
    <fieldset class="fieldset payment method" data-bind='attr: {id: "payment_form_" + getCode()}'>
        <div class="field field-number required">
            <label for="po_number" class="label">
                <span><!-- ko i18n: 'Purchase Order Number'--><!-- /ko --></span>
            </label>
            <div class="control">
                <input type="text"
                       id="po_number"
                       name="payment[po_number]"
                       data-validate="{required:true}"
                       data-bind='
                                attr: {title: $t("Purchase Order Number")},
                                value: purchaseOrderNumber'
                       class="input-text"/>
            </div>
        </div>
    </fieldset>
</form>

JavaScript:

function (Component, $) {
    'use strict';
    return Component.extend({
        defaults: {
            template: 'Magento_OfflinePayments/payment/purchaseorder-form',
            purchaseOrderNumber: ''
        },
        initObservable: function () {
            this._super()
                .observe('purchaseOrderNumber');
            return this;
        },
        getData: function () {
            return {
                "method": this.item.method,
                'po_number': this.purchaseOrderNumber(),
                "additional_data": null
            };

        },
        validate: function () {
            var form = 'form[data-role=purchaseorder-form]';
            return $(form).validation() && $(form).validation('isValid');
        }
    });
}

Думая о безопасности, я не буду делать интеграцию платежей с javascript, потому что это может быть изменено во время выполнения.

Итак, я должен сделать что-то вроде AJAX в этом плагине, чтобы вызвать другой класс, у которого есть вся информация о заказе.

Как это сделать?

Официальная документация Magento 2 не затрагивает эту тему.

...