Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/sale/payment-pay/mixins/application/src/ |
Upload File : |
import { EventType } from 'sale.payment-pay.const'; import { EventEmitter } from 'main.core.events'; import { VirtualForm, PaymentProcess } from 'sale.payment-pay.lib'; import { StageType } from 'sale.payment-pay.const'; export default { methods: { //region payment-process prepareParamsPaymentInfo(settings) { return { paySystem: settings.get('app.paySystems', [])[0], title: settings.get('app.title'), sum: settings.get('payment.sumFormatted'), paid: settings.get('payment.paid'), checks: settings.get('payment.checks', []), } }, prepareParamsPaymentProcess(settings) { return { returnUrl: settings.get('paymentProcess.returnUrl'), orderId: settings.get('paymentProcess.orderId'), paymentId: settings.get('paymentProcess.paymentId'), accessCode: settings.get('paymentProcess.accessCode'), allowPaymentRedirect: settings.get('paymentProcess.allowPaymentRedirect'), } }, startPayment(paySystemId) { if (this.loading) { return false; } this.loading = true; this.stages.paySystemList.selectedPaySystem = paySystemId; this.backendProvider.paySystemId = paySystemId; this.paymentProcess.start(); }, initPayment() { this.initBackendProvider(); this.initPaymentProcess(); }, initBackendProvider() { throw new Error("Method 'initBackendProvider' must be overloaded"); }, initPaymentProcess() { this.paymentProcess = new PaymentProcess({ backendProvider: this.backendProvider, allowPaymentRedirect: this.paymentProcess.allowPaymentRedirect, }); }, //endregion //region pay-system subscribeToGlobalEvents() { EventEmitter.subscribe(EventType.payment.reset, (e) => { this.resetView(this.props) }); EventEmitter.subscribe(EventType.payment.error, (e) => { this.handlePaymentError(e.getData()) }); EventEmitter.subscribe(EventType.payment.success, (e) => { this.handlePaymentSuccess(e.getData()) }); EventEmitter.subscribe(EventType.global.paySystemAjaxError, (e) => { this.handlePaySystemAjaxError(e.getData()) }); EventEmitter.subscribe(EventType.global.paySystemUpdateTemplate, (e) => { this.handlePaySystemUpdateTemplate(e.getData()) }); }, handlePaymentError(response) { this.stages.paySystemErrors.errors = response.errors || []; this.stage = StageType.errors; }, handlePaymentSuccess(response) { this.stages.paySystemResult.html = response.data.html || null; this.stages.paySystemResult.fields = response.data.fields || null; this.stage = StageType.result; }, handlePaySystemAjaxError(data) { this.stages.paySystemErrors.errors = data || []; this.stage = StageType.errors; }, handlePaySystemUpdateTemplate(data) { VirtualForm.createFromNode(this.$el).submit(); }, resetView(props) { this.stages = this.prepareParamsStages(props); this.stage = this.setStageType(props); this.loading = false; }, currentPS(selected, list) { return list.find(ps => ps.ID === selected); }, prepareParamsStages(props) { throw new Error("Method 'initStages' must be overloaded") }, setStageType(props) { throw new Error("Method 'setStageType' must be overloaded") } //endregion }, };