Version Notes
Download this release
Release Info
Developer | Michael Lühr |
Extension | Ogone_ePayments |
Version | 16.12.14 |
Comparing to | |
See all releases |
Code changes from version 16.05.26 to 16.12.14
- app/code/community/Netresearch/OPS/Block/Adminhtml/Customer/Edit/Tab/Alias.php +32 -29
- app/code/community/Netresearch/OPS/Block/Adminhtml/Customer/Renderer/PaymentMethod.php +8 -1
- app/code/community/Netresearch/OPS/Block/Adminhtml/Kwixo/Shipping/Edit.php +7 -4
- app/code/community/Netresearch/OPS/Block/Adminhtml/Kwixocategory/CategoryTree.php +11 -4
- app/code/community/Netresearch/OPS/Block/Adminhtml/Kwixocategory/Edit/Form.php +47 -30
- app/code/community/Netresearch/OPS/Block/Alias/List.php +4 -1
- app/code/community/Netresearch/OPS/Block/Checkout/SubscriptionNotice.php +19 -10
- app/code/community/Netresearch/OPS/Block/Form.php +170 -23
- app/code/community/Netresearch/OPS/Block/Form/Alias.php +3 -3
- app/code/community/Netresearch/OPS/Block/Form/BankTransfer.php +42 -0
- app/code/community/Netresearch/OPS/Block/Form/Cc.php +17 -107
- app/code/community/Netresearch/OPS/Block/Form/DirectDebit.php +7 -193
- app/code/community/Netresearch/OPS/Block/Form/DirectEbanking.php +42 -0
- app/code/community/Netresearch/OPS/Block/Form/Flex.php +1 -2
- app/code/community/Netresearch/OPS/Block/Form/Ideal.php +2 -2
- app/code/community/Netresearch/OPS/Block/Form/Kwixo/ApresReception.php +1 -0
- app/code/community/Netresearch/OPS/Block/Form/Kwixo/Comptant.php +1 -0
- app/code/community/Netresearch/OPS/Block/Form/Kwixo/Credit.php +1 -0
- app/code/community/Netresearch/OPS/Block/Form/OpenInvoice.php +63 -0
- app/code/community/Netresearch/OPS/Block/Form/PayPerMail.php +43 -0
- app/code/community/Netresearch/OPS/Block/Form/RecurringCc.php +2 -1
- app/code/community/Netresearch/OPS/Block/Info/Alias.php +1 -0
- app/code/community/Netresearch/OPS/Block/Info/Bancontact.php +54 -0
- app/code/community/Netresearch/OPS/Block/Info/Cc.php +1 -0
- app/code/community/Netresearch/OPS/Block/Info/Flex.php +2 -0
- app/code/community/Netresearch/OPS/Block/Info/OpsId.php +1 -0
- app/code/community/Netresearch/OPS/Block/Info/PayPerMail.php +44 -0
- app/code/community/Netresearch/OPS/Block/Info/RecurringCc.php +4 -1
- app/code/community/Netresearch/OPS/Block/Info/Redirect.php +1 -0
- app/code/community/Netresearch/OPS/Block/Placeform.php +38 -14
- app/code/community/Netresearch/OPS/Block/Placeform3dsecure.php +1 -1
- app/code/community/Netresearch/OPS/Block/RetryPayment.php +64 -10
- app/code/community/Netresearch/OPS/Block/RetryPayment/Methods.php +80 -0
- app/code/community/Netresearch/OPS/Block/System/Config/Form/Field/Brand.php +8 -4
- app/code/community/Netresearch/OPS/Block/System/Config/Form/Field/Image.php +87 -0
- app/code/community/Netresearch/OPS/Block/System/Config/Form/Field/Method.php +12 -6
- app/code/community/Netresearch/OPS/Block/System/Config/Mode.php +32 -31
- app/code/community/Netresearch/OPS/Block/System/Config/PaymentForm.php +47 -0
- app/code/community/Netresearch/OPS/Block/System/Config/Support.php +9 -7
- app/code/community/Netresearch/OPS/Controller/Abstract.php +17 -8
- app/code/community/Netresearch/OPS/Helper/Address.php +181 -0
- app/code/community/Netresearch/OPS/Helper/Alias.php +103 -80
- app/code/community/Netresearch/OPS/Helper/Api.php +16 -12
- app/code/community/Netresearch/OPS/Helper/Creditcard.php +8 -6
- app/code/community/Netresearch/OPS/Helper/Data.php +5 -6
- app/code/community/Netresearch/OPS/Helper/Debitcard.php +1 -1
- app/code/community/Netresearch/OPS/Helper/DirectDebit.php +16 -183
- app/code/community/Netresearch/OPS/Helper/Directlink.php +21 -27
- app/code/community/Netresearch/OPS/Helper/Kwixo.php +7 -15
- app/code/community/Netresearch/OPS/Helper/MobileDetect.php +68 -0
- app/code/community/Netresearch/OPS/Helper/Order.php +2 -3
- app/code/community/Netresearch/OPS/Helper/Order/Refund.php +8 -4
- app/code/community/Netresearch/OPS/Helper/Payment.php +73 -278
- app/code/community/Netresearch/OPS/Helper/Payment/DirectLink/Request.php +6 -3
- app/code/community/Netresearch/OPS/Helper/Payment/Request.php +170 -91
- app/code/community/Netresearch/OPS/Helper/Quote.php +6 -4
- app/code/community/Netresearch/OPS/Helper/Subscription.php +1 -1
- app/code/community/Netresearch/OPS/Helper/Validation/Checkout/Step.php +51 -30
- app/code/community/Netresearch/OPS/Helper/Validation/Result.php +7 -7
- app/code/community/Netresearch/OPS/Model/Alias.php +11 -5
- app/code/community/Netresearch/OPS/Model/Api/Directlink.php +43 -23
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Capture/Parameter.php +3 -2
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter.php +3 -3
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter/Abstract.php +11 -9
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter/Additional/Interface.php +1 -1
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter/Additional/OpenInvoiceNlAbstract.php +52 -45
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Refund/Additional/OpenInvoiceNl.php +59 -62
- app/code/community/Netresearch/OPS/Model/Backend/Operation/Refund/Parameter.php +6 -4
- app/code/community/Netresearch/OPS/Model/Config.php +151 -16
- app/code/community/Netresearch/OPS/Model/File/Download.php +3 -3
- app/code/community/Netresearch/OPS/Model/Kwixo/Category/Mapping.php +4 -3
- app/code/community/Netresearch/OPS/Model/Kwixo/Shipping/Setting.php +0 -1
- app/code/community/Netresearch/OPS/Model/Mysql4/Alias.php +6 -6
- app/code/community/Netresearch/OPS/Model/Mysql4/Kwixo/Category/Mapping.php +1 -1
- app/code/community/Netresearch/OPS/Model/Mysql4/Kwixo/Shipping/Setting.php +0 -1
- app/code/community/Netresearch/OPS/Model/Observer.php +43 -17
- app/code/community/Netresearch/OPS/Model/Payment/Abstract.php +142 -120
- app/code/community/Netresearch/OPS/Model/Payment/Bancontact.php +55 -1
- app/code/community/Netresearch/OPS/Model/Payment/BankTransfer.php +4 -1
- app/code/community/Netresearch/OPS/Model/Payment/Cc.php +31 -6
- app/code/community/Netresearch/OPS/Model/Payment/Debitcard.php +4 -1
- app/code/community/Netresearch/OPS/Model/Payment/DirectDebit.php +6 -5
- app/code/community/Netresearch/OPS/Model/Payment/DirectEbanking.php +7 -14
- app/code/community/Netresearch/OPS/Model/Payment/DirectLink.php +4 -2
- app/code/community/Netresearch/OPS/Model/Payment/Features/PaymentEmail.php +198 -197
- app/code/community/Netresearch/OPS/Model/Payment/Features/ZeroAmountAuth.php +2 -1
- app/code/community/Netresearch/OPS/Model/Payment/IDeal.php +1 -5
- app/code/community/Netresearch/OPS/Model/Payment/InterSolve.php +1 -1
- app/code/community/Netresearch/OPS/Model/Payment/Kwixo/Abstract.php +53 -115
- app/code/community/Netresearch/OPS/Model/Payment/Masterpass.php +9 -9
- app/code/community/Netresearch/OPS/Model/Payment/Mpass.php +0 -25
- app/code/community/Netresearch/OPS/Model/Payment/OpenInvoice/Abstract.php +55 -17
- app/code/community/Netresearch/OPS/Model/Payment/OpenInvoiceAt.php +93 -84
- app/code/community/Netresearch/OPS/Model/Payment/OpenInvoiceDe.php +3 -3
- app/code/community/Netresearch/OPS/Model/Payment/OpenInvoiceNl.php +16 -22
- app/code/community/Netresearch/OPS/Model/Payment/PayPerMail.php +41 -0
- app/code/community/Netresearch/OPS/Model/Payment/Recurring/Cc.php +21 -12
- app/code/community/Netresearch/OPS/Model/Payment/Recurring/Cc/ParameterBag.php +22 -15
- app/code/community/Netresearch/OPS/Model/Response/Handler.php +2 -1
- app/code/community/Netresearch/OPS/Model/Response/Type/Abstract.php +41 -9
- app/code/community/Netresearch/OPS/Model/Response/Type/Authorize.php +179 -115
- app/code/community/Netresearch/OPS/Model/Response/Type/Capture.php +79 -45
- app/code/community/Netresearch/OPS/Model/Response/Type/Refund.php +66 -42
- app/code/community/Netresearch/OPS/Model/Response/Type/Special.php +6 -8
- app/code/community/Netresearch/OPS/Model/Response/Type/Void.php +3 -4
- app/code/community/Netresearch/OPS/Model/Source/BankTransfer/Countries.php +11 -2
- app/code/community/Netresearch/OPS/Model/Source/DirectDebit/Countries.php +7 -1
- app/code/community/Netresearch/OPS/Model/Source/DirectEbanking/Brands.php +1 -1
- app/code/community/Netresearch/OPS/Model/Source/Kwixo/ShipMethodType.php +6 -6
- app/code/community/Netresearch/OPS/Model/Source/Mode.php +31 -29
- app/code/community/Netresearch/OPS/Model/Source/OrderReference.php +8 -2
- app/code/community/Netresearch/OPS/Model/Source/PaymentAction.php +8 -2
- app/code/community/Netresearch/OPS/Model/Source/Pmlist.php +12 -3
- app/code/community/Netresearch/OPS/Model/Source/Template.php +16 -4
- app/code/community/Netresearch/OPS/Model/Source/TemplateType.php +23 -21
- app/code/community/Netresearch/OPS/Model/Status.php +4 -3
- app/code/community/Netresearch/OPS/Model/Status/Update.php +4 -2
- app/code/community/Netresearch/OPS/Model/Subscription/Manager.php +10 -8
- app/code/community/Netresearch/OPS/Model/System/Config/Backend/Encoding.php +46 -0
- app/code/community/Netresearch/OPS/Model/System/Config/Backend/Flex/Methods.php +2 -2
- app/code/community/Netresearch/OPS/Model/System/Config/Backend/Intersolve/Brands.php +1 -1
- app/code/community/Netresearch/OPS/Model/System/Config/Backend/PaymentLogo.php +47 -0
- app/code/community/Netresearch/OPS/Model/System/Config/Mode.php +40 -39
- app/code/community/Netresearch/OPS/Model/System/Config/Template.php +63 -63
- app/code/community/Netresearch/OPS/Model/Validator/CompositeInterface.php +1 -1
- app/code/community/Netresearch/OPS/Model/Validator/Kwixo/Shipping/Setting.php +4 -4
- app/code/community/Netresearch/OPS/Model/Validator/Parameter/Factory.php +8 -3
- app/code/community/Netresearch/OPS/Model/Validator/Parameter/Length.php +9 -3
- app/code/community/Netresearch/OPS/Model/Validator/Payment/DirectDebit.php +0 -250
- app/code/community/Netresearch/OPS/Test/Block/Adminhtml/Customer/Renderer/StateTest.php +1 -1
- app/code/community/Netresearch/OPS/Test/Block/Alias/ListTest.php +1 -1
- app/code/community/Netresearch/OPS/Test/Block/Checkout/DeviceFingerprintingTest.php +2 -2
- app/code/community/Netresearch/OPS/Test/Block/Form/CcTest.php +4 -4
- app/code/community/Netresearch/OPS/Test/Block/Form/DirectDebitTest.php +0 -281
- app/code/community/Netresearch/OPS/Test/Block/Form/Ideal.php +1 -1
- app/code/community/Netresearch/OPS/Test/Block/FormTest.php +50 -77
- app/code/community/Netresearch/OPS/Test/Block/FormTest/fixtures/FormTest.yaml +22 -0
- app/code/community/Netresearch/OPS/Test/Block/FrauddetectionTest.php +16 -3
- app/code/community/Netresearch/OPS/Test/Block/PlaceformTest.php +20 -2
- app/code/community/Netresearch/OPS/Test/Block/RetryPayment/MethodsTest.php +86 -0
- app/code/community/Netresearch/OPS/Test/Block/RetryPaymentTest.php +94 -0
- app/code/community/Netresearch/OPS/Test/Block/System/Config/Form/Field/ImageTest.php +73 -0
- app/code/community/Netresearch/OPS/Test/Block/System/Config/ModeTest.php +21 -20
- app/code/community/Netresearch/OPS/Test/Controller/Adminhtml/AdminControllerTest.php +82 -80
- app/code/community/Netresearch/OPS/Test/Controller/Adminhtml/KwixoshippingControllerTest.php +8 -23
- app/code/community/Netresearch/OPS/Test/Controller/AliasControllerTest.php +125 -106
- app/code/community/Netresearch/OPS/Test/Controller/PaymentControllerTest.php +223 -56
- app/code/community/Netresearch/OPS/Test/Controller/PaymentControllerTest/fixtures/orders.yaml +26 -0
- app/code/community/Netresearch/OPS/Test/Helper/AddressTest.php +22 -0
- app/code/community/Netresearch/OPS/Test/Helper/AddressTest/expectations/splitStreet.yaml +209 -0
- app/code/community/Netresearch/OPS/Test/Helper/AddressTest/providers/splitStreet.yaml +105 -0
- app/code/community/Netresearch/OPS/Test/Helper/AliasTest.php +88 -58
- app/code/community/Netresearch/OPS/Test/Helper/DataTest.php +18 -22
- app/code/community/Netresearch/OPS/Test/Helper/DirectDebitTest.php +67 -424
- app/code/community/Netresearch/OPS/Test/Helper/DirectDebitTest/fixtures/orders.yaml +79 -0
- app/code/community/Netresearch/OPS/Test/Helper/DirectLinkTest.php +26 -8
- app/code/community/Netresearch/OPS/Test/Helper/MobileDetectTest.php +77 -0
- app/code/community/Netresearch/OPS/Test/Helper/Payment/RequestTest.php +5 -2
- app/code/community/Netresearch/OPS/Test/Helper/PaymentTest.php +101 -170
- app/code/community/Netresearch/OPS/Test/Helper/SubscriptionTest.php +2 -1
- app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Capture/Additional/OpenInvoiceNlTest.php +23 -37
- app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Capture/ParameterTest.php +17 -3
- app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/ParameterTest.php +2 -1
- app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Refund/Additional/OpenInvoiceNlTest.php +68 -52
- app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Refund/ParameterTest.php +9 -3
- app/code/community/Netresearch/OPS/Test/Model/ConfigTest.php +40 -0
- app/code/community/Netresearch/OPS/Test/Model/File/Download.php +4 -3
- app/code/community/Netresearch/OPS/Test/Model/Mysql4/Alias/AliasTest.php +2 -1
- app/code/community/Netresearch/OPS/Test/Model/ObserverTest.php +122 -71
- app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractRefundTest.php +7 -7
- app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractTest.php +69 -30
- app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractTest/expectations/paymentMethods.yaml +0 -3
- app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractTest/fixtures/.gitkeep +0 -0
- app/code/community/Netresearch/OPS/Test/Model/Payment/BancontactTest.php +50 -0
- app/code/community/Netresearch/OPS/Test/Model/Payment/BancontactTest/fixtures/.gitkeep +0 -0
- app/code/community/Netresearch/OPS/Test/Model/Payment/CcTest.php +3 -3
- app/code/community/Netresearch/OPS/Test/Model/Payment/DirectLinkTest.php +4 -7
- app/code/community/Netresearch/OPS/Test/Model/Payment/Features/PaymentEmailTest.php +12 -16
- app/code/community/Netresearch/OPS/Test/Model/Payment/IDealTest.php +21 -44
- app/code/community/Netresearch/OPS/Test/Model/Payment/InterSolveTest.php +4 -29
- app/code/community/Netresearch/OPS/Test/Model/Payment/Kwixo/AbstractTest.php +2 -40
- app/code/community/Netresearch/OPS/Test/Model/Payment/Kwixo/AbstractTest/expectations/paymentMethods.yaml +0 -3
- app/code/community/Netresearch/OPS/Test/Model/Payment/KwixoApresReceptionTest.php +4 -4
- app/code/community/Netresearch/OPS/Test/Model/Payment/KwixoComptantTest.php +4 -4
- app/code/community/Netresearch/OPS/Test/Model/Payment/KwixoCreditTest.php +2 -1
- app/code/community/Netresearch/OPS/Test/Model/Payment/OpenInvoiceAtTest.php +27 -0
- app/code/community/Netresearch/OPS/Test/Model/Payment/OpenInvoiceNlTest.php +10 -6
- app/code/community/Netresearch/OPS/Test/Model/Payment/PayPerMailTest.php +77 -0
- app/code/community/Netresearch/OPS/Test/Model/Payment/Recurring/Cc/ParameterBagTest.php +2 -1
- app/code/community/Netresearch/OPS/Test/Model/Payment/Recurring/CcTest.php +6 -3
- app/code/community/Netresearch/OPS/Test/Model/Response/TestCase.php +4 -6
- app/code/community/Netresearch/OPS/Test/Model/Response/Type/AuthorizeTest.php +5 -5
- app/code/community/Netresearch/OPS/Test/Model/Response/Type/CaptureTest.php +2 -2
- app/code/community/Netresearch/OPS/Test/Model/Source/ModeTest.php +21 -21
- app/code/community/Netresearch/OPS/Test/Model/Status/UpdateTest.php +27 -31
- app/code/community/Netresearch/OPS/Test/Model/StatusTest.php +1 -1
- app/code/community/Netresearch/OPS/Test/Model/Subscription/ManagerTest.php +2 -1
- app/code/community/Netresearch/OPS/Test/Model/System/Config/Backend/EncodingTest.php +60 -0
- app/code/community/Netresearch/OPS/Test/Model/System/Config/Backend/PaymentLogoTest.php +53 -0
- app/code/community/Netresearch/OPS/Test/Model/Validator/Payment/DirectDebitTest.php +0 -166
- app/code/community/Netresearch/OPS/Test/var/fixtures/orders.yaml +65 -1
- app/code/community/Netresearch/OPS/Trait/AliasController.php +87 -61
- app/code/community/Netresearch/OPS/Trait/PaymentHelper.php +1 -1
- app/code/community/Netresearch/OPS/controllers/Adminhtml/AdminController.php +4 -2
- app/code/community/Netresearch/OPS/controllers/Adminhtml/KwixocategoryController.php +7 -2
- app/code/community/Netresearch/OPS/controllers/Adminhtml/KwixoshippingController.php +37 -31
- app/code/community/Netresearch/OPS/controllers/AliasController.php +13 -13
- app/code/community/Netresearch/OPS/controllers/ApiController.php +1 -6
- app/code/community/Netresearch/OPS/controllers/CustomerController.php +3 -1
- app/code/community/Netresearch/OPS/controllers/DeviceController.php +4 -3
- app/code/community/Netresearch/OPS/controllers/PaymentController.php +142 -30
- app/code/community/Netresearch/OPS/data/ops_setup/data-install-14.02.05.php +12 -12
- app/code/community/Netresearch/OPS/etc/config.xml +31 -9
- app/code/community/Netresearch/OPS/etc/jstranslator.xml +27 -0
- app/code/community/Netresearch/OPS/etc/system.xml +1672 -379
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-1.0.1-12.12.03.php +4 -2
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.04.10-13.04.16.php +16 -8
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.05.30-13.06.07.php +16 -8
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.06.07-13.07.04.php +4 -2
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.11.04-13.11.05.php +4 -2
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-14.01.27-14.02.05.php +1 -2
- app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-16.05.26-27.06.16.php +8 -0
- app/design/adminhtml/default/default/layout/ops.xml +10 -15
- app/design/adminhtml/default/default/template/ops/categoriestree.phtml +19 -0
- app/design/adminhtml/default/default/template/ops/form/cc.phtml +6 -58
- app/design/adminhtml/default/default/template/ops/form/directDebit.phtml +177 -49
- app/design/adminhtml/default/default/template/ops/form/opsId.phtml +20 -3
- app/design/adminhtml/default/default/template/ops/form/payPerMail.phtml +31 -0
- app/design/adminhtml/default/default/template/ops/info.phtml +9 -14
- app/design/adminhtml/default/default/template/ops/info/bancontact.phtml +81 -0
- app/design/adminhtml/default/default/template/ops/info/cc.phtml +9 -14
- app/design/adminhtml/default/default/template/ops/info/opsId.phtml +9 -14
- app/design/adminhtml/default/default/template/ops/info/payPerMail.phtml +23 -0
- app/design/adminhtml/default/default/template/ops/info/redirect.phtml +9 -14
- app/design/adminhtml/default/default/template/ops/sales/order/creditmemo/closed-transaction/warning.phtml +21 -0
- app/design/adminhtml/default/default/template/ops/sales/order/creditmemo/totals/checkbox.phtml +9 -14
- app/design/adminhtml/default/default/template/ops/system/config/kwixoconfiglinks.phtml +21 -0
- app/design/adminhtml/default/default/template/ops/system/config/support.phtml +21 -0
- app/design/frontend/base/default/layout/ops.xml +38 -15
- app/design/frontend/base/default/template/ops/customer/alias/list.phtml +17 -19
- app/design/frontend/base/default/template/ops/form.phtml +1 -65
- app/design/frontend/base/default/template/ops/form/alias.phtml +2 -2
- app/design/frontend/base/default/template/ops/form/bankTransfer.phtml +51 -0
- app/design/frontend/base/default/template/ops/form/cc.phtml +85 -96
- app/design/frontend/base/default/template/ops/form/directDebit.phtml +125 -57
- app/design/frontend/base/default/template/ops/form/directEbanking.phtml +51 -0
- app/design/frontend/base/default/template/ops/form/flex.phtml +5 -4
- app/design/frontend/base/default/template/ops/form/ideal.phtml +22 -1
- app/design/frontend/base/default/template/ops/form/intersolve.phtml +1 -0
- app/design/frontend/base/default/template/ops/form/openInvoice.phtml +42 -0
- app/design/frontend/base/default/template/ops/form/other.phtml +24 -1
- app/design/frontend/base/default/template/ops/frauddetection.phtml +20 -0
- app/design/frontend/base/default/template/ops/info/bancontact.phtml +23 -0
- app/design/frontend/base/default/template/ops/info/cc.phtml +9 -14
- app/design/frontend/base/default/template/ops/info/opsId.phtml +21 -0
- app/design/frontend/base/default/template/ops/info/payPerMail.phtml +23 -0
- app/design/frontend/base/default/template/ops/info/redirect.phtml +9 -14
- app/design/frontend/base/default/template/ops/paypage.phtml +9 -14
- app/design/frontend/base/default/template/ops/placeform.phtml +17 -18
app/code/community/Netresearch/OPS/Block/Adminhtml/Customer/Edit/Tab/Alias.php
CHANGED
@@ -78,15 +78,6 @@ class Netresearch_OPS_Block_Adminhtml_Customer_Edit_Tab_Alias
|
|
78 |
return 'orders';
|
79 |
}
|
80 |
|
81 |
-
/*
|
82 |
-
* Retrieves Grid Url
|
83 |
-
*
|
84 |
-
* @return string
|
85 |
-
*/
|
86 |
-
public function getGridUrl()
|
87 |
-
{
|
88 |
-
//return $this->getUrl('*/ops/customer', array('_current'=>true));
|
89 |
-
}
|
90 |
|
91 |
protected function _prepareCollection()
|
92 |
{
|
@@ -102,45 +93,60 @@ class Netresearch_OPS_Block_Adminhtml_Customer_Edit_Tab_Alias
|
|
102 |
|
103 |
protected function _prepareColumns()
|
104 |
{
|
105 |
-
$this->addColumn(
|
|
|
106 |
'header' => Mage::helper('ops')->__('Alias'),
|
107 |
'align' => 'right',
|
108 |
'index' => 'alias',
|
109 |
-
|
|
|
110 |
|
111 |
-
$this->addColumn(
|
|
|
112 |
'header' => Mage::helper('ops')->__('Payment method'),
|
113 |
'index' => 'payment_method',
|
114 |
'renderer' => 'Netresearch_OPS_Block_Adminhtml_Customer_Renderer_PaymentMethod'
|
115 |
-
|
|
|
116 |
|
117 |
-
$this->addColumn(
|
|
|
118 |
'header' => Mage::helper('ops')->__('Credit Card Type'),
|
119 |
'index' => 'brand',
|
120 |
-
|
|
|
121 |
|
122 |
-
$this->addColumn(
|
|
|
123 |
'header' => Mage::helper('ops')->__('Card Number/Account Number'),
|
124 |
'index' => 'pseudo_account_or_cc_no',
|
125 |
-
|
|
|
126 |
|
127 |
-
$this->addColumn(
|
|
|
128 |
'header' => Mage::helper('ops')->__('Expiration Date'),
|
129 |
'index' => 'expiration_date',
|
130 |
-
|
|
|
131 |
|
132 |
-
$this->addColumn(
|
|
|
133 |
'header' => Mage::helper('ops')->__('Card Holder'),
|
134 |
'index' => 'card_holder',
|
135 |
-
|
|
|
136 |
|
137 |
-
$this->addColumn(
|
|
|
138 |
'header' => Mage::helper('ops')->__('State'),
|
139 |
'index' => 'state',
|
140 |
'renderer' => 'Netresearch_OPS_Block_Adminhtml_Customer_Renderer_State',
|
141 |
-
|
|
|
142 |
|
143 |
-
$this->addColumn(
|
|
|
144 |
array(
|
145 |
'header' => Mage::helper('ops')->__('Action'),
|
146 |
'width' => '100',
|
@@ -157,13 +163,10 @@ class Netresearch_OPS_Block_Adminhtml_Customer_Edit_Tab_Alias
|
|
157 |
'sortable' => false,
|
158 |
'index' => 'stores',
|
159 |
'is_system' => true,
|
160 |
-
|
|
|
161 |
|
162 |
return parent::_prepareColumns();
|
163 |
}
|
164 |
|
165 |
-
public function getRowUrl($row)
|
166 |
-
{
|
167 |
-
//return $this->getUrl('*/customer/edit', array('id' => $row->getId()));
|
168 |
-
}
|
169 |
}
|
78 |
return 'orders';
|
79 |
}
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
protected function _prepareCollection()
|
83 |
{
|
93 |
|
94 |
protected function _prepareColumns()
|
95 |
{
|
96 |
+
$this->addColumn(
|
97 |
+
'alias', array(
|
98 |
'header' => Mage::helper('ops')->__('Alias'),
|
99 |
'align' => 'right',
|
100 |
'index' => 'alias',
|
101 |
+
)
|
102 |
+
);
|
103 |
|
104 |
+
$this->addColumn(
|
105 |
+
'payment_method', array(
|
106 |
'header' => Mage::helper('ops')->__('Payment method'),
|
107 |
'index' => 'payment_method',
|
108 |
'renderer' => 'Netresearch_OPS_Block_Adminhtml_Customer_Renderer_PaymentMethod'
|
109 |
+
)
|
110 |
+
);
|
111 |
|
112 |
+
$this->addColumn(
|
113 |
+
'brand', array(
|
114 |
'header' => Mage::helper('ops')->__('Credit Card Type'),
|
115 |
'index' => 'brand',
|
116 |
+
)
|
117 |
+
);
|
118 |
|
119 |
+
$this->addColumn(
|
120 |
+
'pseudo_account_or_cc_no', array(
|
121 |
'header' => Mage::helper('ops')->__('Card Number/Account Number'),
|
122 |
'index' => 'pseudo_account_or_cc_no',
|
123 |
+
)
|
124 |
+
);
|
125 |
|
126 |
+
$this->addColumn(
|
127 |
+
'expiration_date', array(
|
128 |
'header' => Mage::helper('ops')->__('Expiration Date'),
|
129 |
'index' => 'expiration_date',
|
130 |
+
)
|
131 |
+
);
|
132 |
|
133 |
+
$this->addColumn(
|
134 |
+
'card_holder', array(
|
135 |
'header' => Mage::helper('ops')->__('Card Holder'),
|
136 |
'index' => 'card_holder',
|
137 |
+
)
|
138 |
+
);
|
139 |
|
140 |
+
$this->addColumn(
|
141 |
+
'state', array(
|
142 |
'header' => Mage::helper('ops')->__('State'),
|
143 |
'index' => 'state',
|
144 |
'renderer' => 'Netresearch_OPS_Block_Adminhtml_Customer_Renderer_State',
|
145 |
+
)
|
146 |
+
);
|
147 |
|
148 |
+
$this->addColumn(
|
149 |
+
'action',
|
150 |
array(
|
151 |
'header' => Mage::helper('ops')->__('Action'),
|
152 |
'width' => '100',
|
163 |
'sortable' => false,
|
164 |
'index' => 'stores',
|
165 |
'is_system' => true,
|
166 |
+
)
|
167 |
+
);
|
168 |
|
169 |
return parent::_prepareColumns();
|
170 |
}
|
171 |
|
|
|
|
|
|
|
|
|
172 |
}
|
app/code/community/Netresearch/OPS/Block/Adminhtml/Customer/Renderer/PaymentMethod.php
CHANGED
@@ -9,12 +9,19 @@ class Netresearch_OPS_Block_Adminhtml_Customer_Renderer_PaymentMethod
|
|
9 |
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
10 |
{
|
11 |
|
|
|
|
|
|
|
|
|
12 |
public function render(Varien_Object $row)
|
13 |
{
|
|
|
14 |
$methodCode = $row->getData($this->getColumn()->getIndex());
|
15 |
$instance = Mage::helper('payment')->getMethodInstance($methodCode);
|
16 |
if ($instance) {
|
17 |
-
|
18 |
}
|
|
|
|
|
19 |
}
|
20 |
}
|
9 |
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
10 |
{
|
11 |
|
12 |
+
/**
|
13 |
+
* @param Varien_Object $row
|
14 |
+
* @return string
|
15 |
+
*/
|
16 |
public function render(Varien_Object $row)
|
17 |
{
|
18 |
+
$title = '';
|
19 |
$methodCode = $row->getData($this->getColumn()->getIndex());
|
20 |
$instance = Mage::helper('payment')->getMethodInstance($methodCode);
|
21 |
if ($instance) {
|
22 |
+
$title = $instance->getTitle();
|
23 |
}
|
24 |
+
|
25 |
+
return $title;
|
26 |
}
|
27 |
}
|
app/code/community/Netresearch/OPS/Block/Adminhtml/Kwixo/Shipping/Edit.php
CHANGED
@@ -13,7 +13,7 @@ class Netresearch_OPS_Block_Adminhtml_Kwixo_Shipping_Edit
|
|
13 |
{
|
14 |
|
15 |
|
16 |
-
|
17 |
|
18 |
/**
|
19 |
* gets the form action url
|
@@ -64,15 +64,18 @@ class Netresearch_OPS_Block_Adminhtml_Kwixo_Shipping_Edit
|
|
64 |
return $this->kwixoShippingModel;
|
65 |
}
|
66 |
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
69 |
{
|
70 |
$values = array(
|
71 |
'kwixo_shipping_type' => '',
|
72 |
'kwixo_shipping_speed' => '',
|
73 |
'kwixo_shipping_details' => ''
|
74 |
);
|
75 |
-
if (
|
76 |
$errorData = $this->getData('postData');
|
77 |
$values = $errorData[$carrierCode];
|
78 |
} else {
|
13 |
{
|
14 |
|
15 |
|
16 |
+
protected $kwixoShippingModel = null;
|
17 |
|
18 |
/**
|
19 |
* gets the form action url
|
64 |
return $this->kwixoShippingModel;
|
65 |
}
|
66 |
|
67 |
+
/**
|
68 |
+
* @param $carrierCode
|
69 |
+
* @return array
|
70 |
+
*/
|
71 |
+
protected function getValues($carrierCode)
|
72 |
{
|
73 |
$values = array(
|
74 |
'kwixo_shipping_type' => '',
|
75 |
'kwixo_shipping_speed' => '',
|
76 |
'kwixo_shipping_details' => ''
|
77 |
);
|
78 |
+
if (null != ($this->getData('postData')) && array_key_exists($carrierCode, $this->getData('postData'))) {
|
79 |
$errorData = $this->getData('postData');
|
80 |
$values = $errorData[$carrierCode];
|
81 |
} else {
|
app/code/community/Netresearch/OPS/Block/Adminhtml/Kwixocategory/CategoryTree.php
CHANGED
@@ -33,7 +33,16 @@ class Netresearch_OPS_Block_Adminhtml_Kwixocategory_CategoryTree
|
|
33 |
|
34 |
public function getSwitchTreeUrl()
|
35 |
{
|
36 |
-
return $this->getUrl(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
|
39 |
public function getNodesUrl()
|
@@ -50,8 +59,6 @@ class Netresearch_OPS_Block_Adminhtml_Kwixocategory_CategoryTree
|
|
50 |
{
|
51 |
$item = array();
|
52 |
$item['text'] = $this->buildNodeName($node);
|
53 |
-
//$rootForStores = in_array($node->getEntityId(), $this->getRootIds());
|
54 |
-
|
55 |
$item['id'] = $node->getId();
|
56 |
$item['cls'] = 'folder ' . ($node->getIsActive() ? 'active-category' : 'no-active-category');
|
57 |
$item['store'] = (int) $this->getStore()->getId();
|
@@ -92,7 +99,7 @@ class Netresearch_OPS_Block_Adminhtml_Kwixocategory_CategoryTree
|
|
92 |
|
93 |
public function buildNodeName($node)
|
94 |
{
|
95 |
-
$result = $this->
|
96 |
return $result;
|
97 |
}
|
98 |
|
33 |
|
34 |
public function getSwitchTreeUrl()
|
35 |
{
|
36 |
+
return $this->getUrl(
|
37 |
+
"*/*/tree",
|
38 |
+
array(
|
39 |
+
'_current' => true,
|
40 |
+
'store' => null,
|
41 |
+
'_query' => false,
|
42 |
+
'id' => null,
|
43 |
+
'parent' => null
|
44 |
+
)
|
45 |
+
);
|
46 |
}
|
47 |
|
48 |
public function getNodesUrl()
|
59 |
{
|
60 |
$item = array();
|
61 |
$item['text'] = $this->buildNodeName($node);
|
|
|
|
|
62 |
$item['id'] = $node->getId();
|
63 |
$item['cls'] = 'folder ' . ($node->getIsActive() ? 'active-category' : 'no-active-category');
|
64 |
$item['store'] = (int) $this->getStore()->getId();
|
99 |
|
100 |
public function buildNodeName($node)
|
101 |
{
|
102 |
+
$result = $this->escapeHtml($node->getName());
|
103 |
return $result;
|
104 |
}
|
105 |
|
app/code/community/Netresearch/OPS/Block/Adminhtml/Kwixocategory/Edit/Form.php
CHANGED
@@ -4,12 +4,14 @@ class Netresearch_OPS_Block_Adminhtml_Kwixocategory_Edit_Form
|
|
4 |
{
|
5 |
protected function _prepareForm()
|
6 |
{
|
7 |
-
$form = new Varien_Data_Form(
|
|
|
8 |
'id' => 'edit_form',
|
9 |
'action' => $this->getUrl('*/*/save'),
|
10 |
'method' => 'post',
|
11 |
'enctype' => 'multipart/form-data'
|
12 |
-
|
|
|
13 |
|
14 |
$categoryId = (int) $this->getRequest()->getParam('id');
|
15 |
if ($categoryId <= 0) {
|
@@ -18,38 +20,53 @@ class Netresearch_OPS_Block_Adminhtml_Kwixocategory_Edit_Form
|
|
18 |
$kwixoCategoryMapping = Mage::getModel('ops/kwixo_category_mapping')->loadByCategoryId($categoryId);
|
19 |
$storeId = (int) $this->getRequest()->getParam('store');
|
20 |
|
21 |
-
$fieldset = $form->addFieldset(
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
$fieldset->addField(
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
|
|
|
|
28 |
|
29 |
-
$fieldset->addField(
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
39 |
|
40 |
-
$fieldset->addField(
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
48 |
|
49 |
-
$fieldset->addField(
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
53 |
|
54 |
$form->setUseContainer(true);
|
55 |
$this->setForm($form);
|
4 |
{
|
5 |
protected function _prepareForm()
|
6 |
{
|
7 |
+
$form = new Varien_Data_Form(
|
8 |
+
array(
|
9 |
'id' => 'edit_form',
|
10 |
'action' => $this->getUrl('*/*/save'),
|
11 |
'method' => 'post',
|
12 |
'enctype' => 'multipart/form-data'
|
13 |
+
)
|
14 |
+
);
|
15 |
|
16 |
$categoryId = (int) $this->getRequest()->getParam('id');
|
17 |
if ($categoryId <= 0) {
|
20 |
$kwixoCategoryMapping = Mage::getModel('ops/kwixo_category_mapping')->loadByCategoryId($categoryId);
|
21 |
$storeId = (int) $this->getRequest()->getParam('store');
|
22 |
|
23 |
+
$fieldset = $form->addFieldset(
|
24 |
+
'ops_form',
|
25 |
+
array(
|
26 |
+
'legend' => Mage::helper('ops/data')->__('Categories configuration')
|
27 |
+
)
|
28 |
+
);
|
29 |
|
30 |
+
$fieldset->addField(
|
31 |
+
'storeId', 'hidden', array(
|
32 |
+
'required' => true,
|
33 |
+
'name' => 'storeId',
|
34 |
+
'value' => $storeId,
|
35 |
+
)
|
36 |
+
);
|
37 |
|
38 |
+
$fieldset->addField(
|
39 |
+
'id', 'hidden', array(
|
40 |
+
'required' => false,
|
41 |
+
'name' => 'id',
|
42 |
+
'value' => $kwixoCategoryMapping->getId(),
|
43 |
+
)
|
44 |
+
);
|
45 |
+
$fieldset->addField(
|
46 |
+
'category_id', 'hidden', array(
|
47 |
+
'required' => true,
|
48 |
+
'name' => 'category_id',
|
49 |
+
'value' => $categoryId,
|
50 |
+
)
|
51 |
+
);
|
52 |
|
53 |
+
$fieldset->addField(
|
54 |
+
'kwixoCategory_id', 'select', array(
|
55 |
+
'label' => Mage::Helper('ops/data')->__('Kwixo category'),
|
56 |
+
'class' => 'required-entry',
|
57 |
+
'required' => true,
|
58 |
+
'name' => 'kwixoCategory_id',
|
59 |
+
'value' => $kwixoCategoryMapping->getKwixoCategoryId(),
|
60 |
+
'values' => Mage::getModel('ops/source_kwixo_productCategories')->toOptionArray()
|
61 |
+
)
|
62 |
+
);
|
63 |
|
64 |
+
$fieldset->addField(
|
65 |
+
'applysubcat', 'checkbox', array(
|
66 |
+
'label' => Mage::Helper('ops/data')->__('Apply to sub-categories'),
|
67 |
+
'name' => 'applysubcat'
|
68 |
+
)
|
69 |
+
);
|
70 |
|
71 |
$form->setUseContainer(true);
|
72 |
$this->setForm($form);
|
app/code/community/Netresearch/OPS/Block/Alias/List.php
CHANGED
@@ -40,10 +40,13 @@ class Netresearch_OPS_Block_Alias_List
|
|
40 |
*/
|
41 |
public function getMethodName($methodCode)
|
42 |
{
|
|
|
43 |
$instance = Mage::helper('payment')->getMethodInstance($methodCode);
|
44 |
if ($instance) {
|
45 |
-
|
46 |
}
|
|
|
|
|
47 |
}
|
48 |
|
49 |
/**
|
40 |
*/
|
41 |
public function getMethodName($methodCode)
|
42 |
{
|
43 |
+
$title = '';
|
44 |
$instance = Mage::helper('payment')->getMethodInstance($methodCode);
|
45 |
if ($instance) {
|
46 |
+
$title = $instance->getTitle();
|
47 |
}
|
48 |
+
|
49 |
+
return $title;
|
50 |
}
|
51 |
|
52 |
/**
|
app/code/community/Netresearch/OPS/Block/Checkout/SubscriptionNotice.php
CHANGED
@@ -93,7 +93,8 @@ class Netresearch_OPS_Block_Checkout_SubscriptionNotice extends Mage_Core_Block_
|
|
93 |
*/
|
94 |
public function getInitialFeeText()
|
95 |
{
|
96 |
-
return $this->__(
|
|
|
97 |
$this->helper('checkout')->formatPrice($this->getProfile()->getInitAmount())
|
98 |
);
|
99 |
}
|
@@ -105,7 +106,8 @@ class Netresearch_OPS_Block_Checkout_SubscriptionNotice extends Mage_Core_Block_
|
|
105 |
{
|
106 |
$profile = $this->getProfile();
|
107 |
|
108 |
-
return $this->__(
|
|
|
109 |
$this->helper('checkout')->formatPrice(
|
110 |
$profile->getTrialBillingAmount() + $profile->getShippingAmount()
|
111 |
),
|
@@ -122,7 +124,8 @@ class Netresearch_OPS_Block_Checkout_SubscriptionNotice extends Mage_Core_Block_
|
|
122 |
{
|
123 |
$profile = $this->getProfile();
|
124 |
|
125 |
-
$message = $this->__(
|
|
|
126 |
$this->helper('checkout')->formatPrice(
|
127 |
$profile->getBillingAmount() + $profile->getTaxAmount() + $profile->getShippingAmount()
|
128 |
),
|
@@ -130,16 +133,19 @@ class Netresearch_OPS_Block_Checkout_SubscriptionNotice extends Mage_Core_Block_
|
|
130 |
$profile->getPeriodUnitLabel($profile->getPeriodUnit())
|
131 |
);
|
132 |
|
133 |
-
if($this->getRegularSubscriptionEndDate()){
|
134 |
-
$message .= $this->__(
|
135 |
-
|
|
|
|
|
136 |
}
|
137 |
return $message;
|
138 |
}
|
139 |
|
140 |
public function getCancelInformationText()
|
141 |
{
|
142 |
-
return $this->__(
|
|
|
143 |
' or request this by clicking the suspend button on the subscriptions detail view in your customer account.'
|
144 |
. ' A link to that page will be displayed on the checkout success page.'
|
145 |
);
|
@@ -163,7 +169,8 @@ class Netresearch_OPS_Block_Checkout_SubscriptionNotice extends Mage_Core_Block_
|
|
163 |
$parameterModel = Mage::getModel('ops/payment_recurring_cc_parameterBag');
|
164 |
$enddate = null;
|
165 |
$startDate = new DateTime($this->getProfile()->getStartDatetime());
|
166 |
-
$enddate = $parameterModel->calculateEndDate(
|
|
|
167 |
$this->getProfile()->getTrialPeriodFrequency(), $this->getProfile()->getTrialPeriodMaxCycles()
|
168 |
);
|
169 |
|
@@ -179,14 +186,16 @@ class Netresearch_OPS_Block_Checkout_SubscriptionNotice extends Mage_Core_Block_
|
|
179 |
} else {
|
180 |
$startDate = new DateTime($this->getProfile()->getStartDatetime());
|
181 |
}
|
182 |
-
$enddate = $parameterModel->calculateEndDate(
|
|
|
183 |
$this->getProfile()->getPeriodFrequency(), $this->getProfile()->getPeriodMaxCycles()
|
184 |
);
|
185 |
|
186 |
return $enddate;
|
187 |
}
|
188 |
|
189 |
-
protected function localizeDate(DateTime $date)
|
|
|
190 |
$date = new Zend_Date($date->getTimestamp());
|
191 |
return Mage::helper('core')->formatDate($date);
|
192 |
}
|
93 |
*/
|
94 |
public function getInitialFeeText()
|
95 |
{
|
96 |
+
return $this->__(
|
97 |
+
'You will be charged an initial amount of %s.',
|
98 |
$this->helper('checkout')->formatPrice($this->getProfile()->getInitAmount())
|
99 |
);
|
100 |
}
|
106 |
{
|
107 |
$profile = $this->getProfile();
|
108 |
|
109 |
+
return $this->__(
|
110 |
+
'A trial subscription will be created. This will charge you %s every %s %s until %s.',
|
111 |
$this->helper('checkout')->formatPrice(
|
112 |
$profile->getTrialBillingAmount() + $profile->getShippingAmount()
|
113 |
),
|
124 |
{
|
125 |
$profile = $this->getProfile();
|
126 |
|
127 |
+
$message = $this->__(
|
128 |
+
'A subscription will be created. This will charge you %s every %s %s.',
|
129 |
$this->helper('checkout')->formatPrice(
|
130 |
$profile->getBillingAmount() + $profile->getTaxAmount() + $profile->getShippingAmount()
|
131 |
),
|
133 |
$profile->getPeriodUnitLabel($profile->getPeriodUnit())
|
134 |
);
|
135 |
|
136 |
+
if ($this->getRegularSubscriptionEndDate()) {
|
137 |
+
$message .= $this->__(
|
138 |
+
' The subscription will end on %s.',
|
139 |
+
$this->localizeDate($this->getRegularSubscriptionEndDate())
|
140 |
+
);
|
141 |
}
|
142 |
return $message;
|
143 |
}
|
144 |
|
145 |
public function getCancelInformationText()
|
146 |
{
|
147 |
+
return $this->__(
|
148 |
+
'To cancel the subscription, please send an email to the shop owner' .
|
149 |
' or request this by clicking the suspend button on the subscriptions detail view in your customer account.'
|
150 |
. ' A link to that page will be displayed on the checkout success page.'
|
151 |
);
|
169 |
$parameterModel = Mage::getModel('ops/payment_recurring_cc_parameterBag');
|
170 |
$enddate = null;
|
171 |
$startDate = new DateTime($this->getProfile()->getStartDatetime());
|
172 |
+
$enddate = $parameterModel->calculateEndDate(
|
173 |
+
$startDate, $this->getProfile()->getTrialPeriodUnit(),
|
174 |
$this->getProfile()->getTrialPeriodFrequency(), $this->getProfile()->getTrialPeriodMaxCycles()
|
175 |
);
|
176 |
|
186 |
} else {
|
187 |
$startDate = new DateTime($this->getProfile()->getStartDatetime());
|
188 |
}
|
189 |
+
$enddate = $parameterModel->calculateEndDate(
|
190 |
+
$startDate, $this->getProfile()->getPeriodUnit(),
|
191 |
$this->getProfile()->getPeriodFrequency(), $this->getProfile()->getPeriodMaxCycles()
|
192 |
);
|
193 |
|
194 |
return $enddate;
|
195 |
}
|
196 |
|
197 |
+
protected function localizeDate(DateTime $date)
|
198 |
+
{
|
199 |
$date = new Zend_Date($date->getTimestamp());
|
200 |
return Mage::helper('core')->formatDate($date);
|
201 |
}
|
app/code/community/Netresearch/OPS/Block/Form.php
CHANGED
@@ -33,6 +33,8 @@ class Netresearch_OPS_Block_Form extends Mage_Payment_Block_Form_Cc
|
|
33 |
|
34 |
protected $config = null;
|
35 |
|
|
|
|
|
36 |
/**
|
37 |
* Frontend Payment Template
|
38 |
*/
|
@@ -78,7 +80,12 @@ class Netresearch_OPS_Block_Form extends Mage_Payment_Block_Form_Cc
|
|
78 |
*/
|
79 |
public function getQuote()
|
80 |
{
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
82 |
}
|
83 |
|
84 |
/**
|
@@ -159,34 +166,13 @@ class Netresearch_OPS_Block_Form extends Mage_Payment_Block_Form_Cc
|
|
159 |
}
|
160 |
|
161 |
/**
|
162 |
-
* @return
|
163 |
*/
|
164 |
protected function getFieldMapping()
|
165 |
{
|
166 |
return $this->getConfig()->getFrontendFieldMapping();
|
167 |
}
|
168 |
|
169 |
-
/**
|
170 |
-
* returns the corresponding fields for frontend validation if needed
|
171 |
-
*
|
172 |
-
* @return string - the json encoded fields
|
173 |
-
*/
|
174 |
-
public function getFrontendValidators()
|
175 |
-
{
|
176 |
-
$frontendFields = array();
|
177 |
-
if ($this->getConfig()->canSubmitExtraParameter($this->getQuote()->getStoreId())) {
|
178 |
-
$fieldsToValidate = $this->getConfig()->getParameterLengths();
|
179 |
-
$mappedFields = $this->getFieldMapping();
|
180 |
-
foreach ($fieldsToValidate as $key => $value) {
|
181 |
-
if (array_key_exists($key, $mappedFields)) {
|
182 |
-
$frontendFields = $this->getFrontendValidationFields($mappedFields, $key, $value, $frontendFields);
|
183 |
-
}
|
184 |
-
}
|
185 |
-
}
|
186 |
-
|
187 |
-
return Mage::helper('core/data')->jsonEncode($frontendFields);
|
188 |
-
}
|
189 |
-
|
190 |
/**
|
191 |
* @param $mappedFields
|
192 |
* @param $key
|
@@ -213,4 +199,165 @@ class Netresearch_OPS_Block_Form extends Mage_Payment_Block_Form_Cc
|
|
213 |
$brandName = str_replace(' ', '', $brand);
|
214 |
return $this->getSkinUrl('images/ops/alias/brands/'. $brandName .'.png');
|
215 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
}
|
33 |
|
34 |
protected $config = null;
|
35 |
|
36 |
+
protected $_aliasDataForCustomer = array();
|
37 |
+
|
38 |
/**
|
39 |
* Frontend Payment Template
|
40 |
*/
|
80 |
*/
|
81 |
public function getQuote()
|
82 |
{
|
83 |
+
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
84 |
+
if (Mage::app()->getStore()->isAdmin()) {
|
85 |
+
$quote = Mage::getSingleton('adminhtml/sales_order_create')->getQuote();
|
86 |
+
}
|
87 |
+
|
88 |
+
return $quote;
|
89 |
}
|
90 |
|
91 |
/**
|
166 |
}
|
167 |
|
168 |
/**
|
169 |
+
* @return array
|
170 |
*/
|
171 |
protected function getFieldMapping()
|
172 |
{
|
173 |
return $this->getConfig()->getFrontendFieldMapping();
|
174 |
}
|
175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
/**
|
177 |
* @param $mappedFields
|
178 |
* @param $key
|
199 |
$brandName = str_replace(' ', '', $brand);
|
200 |
return $this->getSkinUrl('images/ops/alias/brands/'. $brandName .'.png');
|
201 |
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
* Function to add the Payment Logo to the according title
|
205 |
+
*
|
206 |
+
* @return string
|
207 |
+
*/
|
208 |
+
public function getMethodLabelAfterHtml()
|
209 |
+
{
|
210 |
+
$paymentCode = $this->getMethod()->getCode();
|
211 |
+
$logoValue = Mage::getStoreConfig('payment/' . $paymentCode . '/image');
|
212 |
+
$logoPosition = Mage::getStoreConfig('payment/' . $paymentCode . '/position');
|
213 |
+
|
214 |
+
if ($logoPosition != 'hidden') {
|
215 |
+
if (!empty($logoValue)) {
|
216 |
+
$url = Mage::getBaseUrl('media') . 'ops/paymentLogo/' . $logoValue;
|
217 |
+
} else {
|
218 |
+
$url = Mage::helper('ops/payment')->getPaymentDefaultLogo($paymentCode);
|
219 |
+
}
|
220 |
+
|
221 |
+
return "<span class='payment-logo $logoPosition'><img src='$url' alt='$paymentCode' title='$paymentCode'/></span>";
|
222 |
+
}
|
223 |
+
|
224 |
+
return '';
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Obtain redirect message.
|
229 |
+
*
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
public function getRedirectMessage()
|
233 |
+
{
|
234 |
+
return $this->__('You will be redirected to finalize your payment.');
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* retrieves the alias data for the logged in customer
|
239 |
+
*
|
240 |
+
* @return array | null - array the alias data or null if the customer
|
241 |
+
* is not logged in
|
242 |
+
*/
|
243 |
+
protected function getStoredAliasForCustomer()
|
244 |
+
{
|
245 |
+
if (Mage::helper('customer/data')->isLoggedIn()
|
246 |
+
&& Mage::getModel('ops/config')->isAliasManagerEnabled($this->getMethodCode())
|
247 |
+
) {
|
248 |
+
$quote = $this->getQuote();
|
249 |
+
$aliases = Mage::helper('ops/alias')->getAliasesForAddresses(
|
250 |
+
$quote->getCustomer()->getId(), $quote->getBillingAddress(),
|
251 |
+
$quote->getShippingAddress(), $quote->getStoreId()
|
252 |
+
)
|
253 |
+
->addFieldToFilter('state', Netresearch_OPS_Model_Alias_State::ACTIVE)
|
254 |
+
->addFieldToFilter('payment_method', $this->getMethodCode())
|
255 |
+
->setOrder('created_at', Varien_Data_Collection::SORT_ORDER_DESC);
|
256 |
+
|
257 |
+
|
258 |
+
foreach ($aliases as $key => $alias) {
|
259 |
+
$this->_aliasDataForCustomer[$key] = $alias;
|
260 |
+
}
|
261 |
+
}
|
262 |
+
|
263 |
+
return $this->_aliasDataForCustomer;
|
264 |
+
}
|
265 |
+
|
266 |
+
/**
|
267 |
+
* @param null $storeId
|
268 |
+
* @param bool $admin
|
269 |
+
*
|
270 |
+
* @return string
|
271 |
+
*/
|
272 |
+
public function getAliasAcceptUrl($storeId = null, $admin = false)
|
273 |
+
{
|
274 |
+
return Mage::getModel('ops/config')->getAliasAcceptUrl($storeId, $admin);
|
275 |
+
}
|
276 |
+
|
277 |
+
/**
|
278 |
+
* @param null $storeId
|
279 |
+
* @param bool $admin
|
280 |
+
*
|
281 |
+
* @return string
|
282 |
+
*/
|
283 |
+
public function getAliasExceptionUrl($storeId = null, $admin = false)
|
284 |
+
{
|
285 |
+
return Mage::getModel('ops/config')->getAliasExceptionUrl($storeId, $admin);
|
286 |
+
}
|
287 |
+
|
288 |
+
|
289 |
+
/**
|
290 |
+
* @param null $storeId
|
291 |
+
*
|
292 |
+
* @return string
|
293 |
+
*/
|
294 |
+
public function getAliasGatewayUrl($storeId = null)
|
295 |
+
{
|
296 |
+
return Mage::getModel('ops/config')->getAliasGatewayUrl($storeId);
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
*
|
301 |
+
* @param $aliasId
|
302 |
+
*
|
303 |
+
* @return null|string - the card holder either from alias data or
|
304 |
+
* the name from the the user who is logged in, null otherwise
|
305 |
+
*/
|
306 |
+
public function getCardHolderName($aliasId)
|
307 |
+
{
|
308 |
+
$cardHolderName = $this->getStoredAliasDataForCustomer($aliasId, 'card_holder');
|
309 |
+
$customerHelper = Mage::helper('customer/data');
|
310 |
+
if ((null === $cardHolderName || 0 === strlen(trim($cardHolderName)))
|
311 |
+
&& $customerHelper->isLoggedIn()
|
312 |
+
&& Mage::getModel('ops/config')->isAliasManagerEnabled($this->getMethodCode())
|
313 |
+
) {
|
314 |
+
$cardHolderName = $customerHelper->getCustomerName();
|
315 |
+
}
|
316 |
+
|
317 |
+
return $cardHolderName;
|
318 |
+
}
|
319 |
+
|
320 |
+
/**
|
321 |
+
* @param $aliasId
|
322 |
+
* @return null|string
|
323 |
+
*/
|
324 |
+
public function getAliasCardNumber($aliasId)
|
325 |
+
{
|
326 |
+
$aliasCardNumber = $this->getStoredAliasDataForCustomer($aliasId, 'pseudo_account_or_cc_no');
|
327 |
+
if (0 < strlen(trim($aliasCardNumber))) {
|
328 |
+
$aliasCardNumber = Mage::helper('ops/alias')->formatAliasCardNo(
|
329 |
+
$this->getStoredAliasDataForCustomer($aliasId, 'brand'), $aliasCardNumber
|
330 |
+
);
|
331 |
+
}
|
332 |
+
|
333 |
+
return $aliasCardNumber;
|
334 |
+
}
|
335 |
+
|
336 |
+
/**
|
337 |
+
* retrieves single values to given keys from the alias data
|
338 |
+
*
|
339 |
+
* @param $aliasId
|
340 |
+
* @param $key - string the key for the alias data
|
341 |
+
*
|
342 |
+
* @return null|string - null if key is not set in the alias data, otherwise
|
343 |
+
* the value for the given key from the alias data
|
344 |
+
*/
|
345 |
+
protected function getStoredAliasDataForCustomer($aliasId, $key)
|
346 |
+
{
|
347 |
+
$returnValue = null;
|
348 |
+
$aliasData = array();
|
349 |
+
|
350 |
+
if (empty($this->_aliasDataForCustomer)) {
|
351 |
+
$aliasData = $this->getStoredAliasForCustomer();
|
352 |
+
} else {
|
353 |
+
$aliasData = $this->_aliasDataForCustomer;
|
354 |
+
}
|
355 |
+
|
356 |
+
if (array_key_exists($aliasId, $aliasData) && $aliasData[$aliasId]->hasData($key)) {
|
357 |
+
$returnValue = $aliasData[$aliasId]->getData($key);
|
358 |
+
}
|
359 |
+
|
360 |
+
return $returnValue;
|
361 |
+
}
|
362 |
+
|
363 |
}
|
app/code/community/Netresearch/OPS/Block/Form/Alias.php
CHANGED
@@ -39,10 +39,10 @@ class Netresearch_OPS_Block_Form_Alias extends Netresearch_OPS_Block_Form
|
|
39 |
}
|
40 |
return array();
|
41 |
}
|
42 |
-
|
43 |
/**
|
44 |
-
*
|
45 |
-
* @
|
46 |
*/
|
47 |
protected function getHumanReadableAlias($alias)
|
48 |
{
|
39 |
}
|
40 |
return array();
|
41 |
}
|
42 |
+
|
43 |
/**
|
44 |
+
* @param $alias
|
45 |
+
* @return string
|
46 |
*/
|
47 |
protected function getHumanReadableAlias($alias)
|
48 |
{
|
app/code/community/Netresearch/OPS/Block/Form/BankTransfer.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* BankTransfer.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
28 |
+
*/
|
29 |
+
?>
|
30 |
+
<?php
|
31 |
+
|
32 |
+
class Netresearch_OPS_Block_Form_BankTransfer extends Netresearch_OPS_Block_Form
|
33 |
+
{
|
34 |
+
/**
|
35 |
+
* @inheritDoc
|
36 |
+
*/
|
37 |
+
protected function _construct()
|
38 |
+
{
|
39 |
+
parent::_construct();
|
40 |
+
$this->setTemplate('ops/form/bankTransfer.phtml');
|
41 |
+
}
|
42 |
+
}
|
app/code/community/Netresearch/OPS/Block/Form/Cc.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
class Netresearch_OPS_Block_Form_Cc extends Netresearch_OPS_Block_Form
|
12 |
{
|
13 |
|
14 |
-
|
15 |
|
16 |
/**
|
17 |
* CC Payment Template
|
@@ -36,38 +36,6 @@ class Netresearch_OPS_Block_Form_Cc extends Netresearch_OPS_Block_Form
|
|
36 |
->getAliasInterfaceCompatibleTypes();
|
37 |
}
|
38 |
|
39 |
-
/**
|
40 |
-
* @param null $storeId
|
41 |
-
* @param bool $admin
|
42 |
-
*
|
43 |
-
* @return string
|
44 |
-
*/
|
45 |
-
public function getAliasAcceptUrl($storeId = null, $admin = false)
|
46 |
-
{
|
47 |
-
return Mage::getModel('ops/config')->getAliasAcceptUrl($storeId, $admin);
|
48 |
-
}
|
49 |
-
|
50 |
-
/**
|
51 |
-
* @param null $storeId
|
52 |
-
* @param bool $admin
|
53 |
-
*
|
54 |
-
* @return string
|
55 |
-
*/
|
56 |
-
public function getAliasExceptionUrl($storeId = null, $admin = false)
|
57 |
-
{
|
58 |
-
return Mage::getModel('ops/config')->getAliasExceptionUrl($storeId, $admin);
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
-
* @param null $storeId
|
63 |
-
*
|
64 |
-
* @return string
|
65 |
-
*/
|
66 |
-
public function getAliasGatewayUrl($storeId = null)
|
67 |
-
{
|
68 |
-
return Mage::getModel('ops/config')->getAliasGatewayUrl($storeId);
|
69 |
-
}
|
70 |
-
|
71 |
/**
|
72 |
* @return string
|
73 |
*/
|
@@ -122,47 +90,20 @@ class Netresearch_OPS_Block_Form_Cc extends Netresearch_OPS_Block_Form
|
|
122 |
|
123 |
|
124 |
foreach ($aliases as $key => $alias) {
|
125 |
-
$this->
|
126 |
}
|
127 |
}
|
128 |
|
129 |
-
return $this->
|
130 |
}
|
131 |
|
132 |
|
133 |
-
/**
|
134 |
-
* retrieves single values to given keys from the alias data
|
135 |
-
*
|
136 |
-
* @param $aliasId
|
137 |
-
* @param $key - string the key for the alias data
|
138 |
-
*
|
139 |
-
* @return null|string - null if key is not set in the alias data, otherwise
|
140 |
-
* the value for the given key from the alias data
|
141 |
-
*/
|
142 |
-
protected function getStoredAliasDataForCustomer($aliasId, $key)
|
143 |
-
{
|
144 |
-
$returnValue = null;
|
145 |
-
$aliasData = array();
|
146 |
-
|
147 |
-
if (empty($this->aliasDataForCustomer)) {
|
148 |
-
$aliasData = $this->getStoredAliasForCustomer();
|
149 |
-
} else {
|
150 |
-
$aliasData = $this->aliasDataForCustomer;
|
151 |
-
}
|
152 |
-
|
153 |
-
if (array_key_exists($aliasId, $aliasData) && $aliasData[$aliasId]->hasData($key)) {
|
154 |
-
$returnValue = $aliasData[$aliasId]->getData($key);
|
155 |
-
}
|
156 |
|
157 |
-
return $returnValue;
|
158 |
-
}
|
159 |
|
160 |
/**
|
161 |
-
*
|
162 |
-
*
|
163 |
-
* @
|
164 |
-
*
|
165 |
-
* @return null | string the extracted part of the date
|
166 |
*/
|
167 |
public function getExpirationDatePart($aliasId, $key)
|
168 |
{
|
@@ -193,56 +134,17 @@ class Netresearch_OPS_Block_Form_Cc extends Netresearch_OPS_Block_Form
|
|
193 |
|
194 |
}
|
195 |
|
196 |
-
/**
|
197 |
-
* retrieves the masked alias card number and formats it in a card specific format
|
198 |
-
*
|
199 |
-
* @return null|string - null if no alias data were found,
|
200 |
-
* otherwise the formatted card number
|
201 |
-
*/
|
202 |
-
public function getAliasCardNumber($aliasId)
|
203 |
-
{
|
204 |
-
$aliasCardNumber = $this->getStoredAliasDataForCustomer($aliasId, 'pseudo_account_or_cc_no');
|
205 |
-
if (0 < strlen(trim($aliasCardNumber))) {
|
206 |
-
$aliasCardNumber = Mage::helper('ops/alias')->formatAliasCardNo(
|
207 |
-
$this->getStoredAliasDataForCustomer($aliasId, 'brand'), $aliasCardNumber
|
208 |
-
);
|
209 |
-
}
|
210 |
-
|
211 |
-
return $aliasCardNumber;
|
212 |
-
}
|
213 |
-
|
214 |
-
/**
|
215 |
-
* @return null|string - the card holder either from alias data or
|
216 |
-
* the name from the the user who is logged in, null otherwise
|
217 |
-
*/
|
218 |
-
public function getCardHolderName($aliasId)
|
219 |
-
{
|
220 |
-
$cardHolderName = $this->getStoredAliasDataForCustomer($aliasId, 'card_holder');
|
221 |
-
$customerHelper = Mage::helper('customer/data');
|
222 |
-
if ((is_null($cardHolderName) || 0 === strlen(trim($cardHolderName)))
|
223 |
-
&& $customerHelper->isLoggedIn()
|
224 |
-
&& Mage::getModel('ops/config')->isAliasManagerEnabled($this->getMethodCode())
|
225 |
-
) {
|
226 |
-
$cardHolderName = $customerHelper->getCustomerName();
|
227 |
-
}
|
228 |
-
|
229 |
-
return $cardHolderName;
|
230 |
-
}
|
231 |
|
232 |
/**
|
233 |
* the brand of the stored card data
|
234 |
*
|
|
|
|
|
235 |
* @return null|string - string if stored card data were found, null otherwise
|
236 |
*/
|
237 |
public function getStoredAliasBrand($aliasId)
|
238 |
{
|
239 |
-
|
240 |
-
$methodCode = $this->getMethodCode();
|
241 |
-
if (in_array($storedBrand, Mage::getModel('ops/config')->getInlinePaymentCcTypes($methodCode))) {
|
242 |
-
return $storedBrand;
|
243 |
-
}
|
244 |
-
|
245 |
-
return '';
|
246 |
}
|
247 |
|
248 |
/**
|
@@ -265,4 +167,12 @@ class Netresearch_OPS_Block_Form_Cc extends Netresearch_OPS_Block_Form
|
|
265 |
return explode(',', $this->getConfig()->getAcceptedCcTypes($this->getMethodCode()));
|
266 |
}
|
267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
}
|
11 |
class Netresearch_OPS_Block_Form_Cc extends Netresearch_OPS_Block_Form
|
12 |
{
|
13 |
|
14 |
+
protected $_aliasDataForCustomer = array();
|
15 |
|
16 |
/**
|
17 |
* CC Payment Template
|
36 |
->getAliasInterfaceCompatibleTypes();
|
37 |
}
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
/**
|
40 |
* @return string
|
41 |
*/
|
90 |
|
91 |
|
92 |
foreach ($aliases as $key => $alias) {
|
93 |
+
$this->_aliasDataForCustomer[$key] = $alias;
|
94 |
}
|
95 |
}
|
96 |
|
97 |
+
return $this->_aliasDataForCustomer;
|
98 |
}
|
99 |
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
|
|
|
|
102 |
|
103 |
/**
|
104 |
+
* @param $aliasId
|
105 |
+
* @param $key
|
106 |
+
* @return null|string
|
|
|
|
|
107 |
*/
|
108 |
public function getExpirationDatePart($aliasId, $key)
|
109 |
{
|
134 |
|
135 |
}
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
/**
|
139 |
* the brand of the stored card data
|
140 |
*
|
141 |
+
* @param $aliasId
|
142 |
+
*
|
143 |
* @return null|string - string if stored card data were found, null otherwise
|
144 |
*/
|
145 |
public function getStoredAliasBrand($aliasId)
|
146 |
{
|
147 |
+
return $this->getStoredAliasDataForCustomer($aliasId, 'brand');
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
149 |
|
150 |
/**
|
167 |
return explode(',', $this->getConfig()->getAcceptedCcTypes($this->getMethodCode()));
|
168 |
}
|
169 |
|
170 |
+
public function checkIfBrandHasAliasInterfaceSupport($alias)
|
171 |
+
{
|
172 |
+
$brand = $this->getStoredAliasBrand($alias);
|
173 |
+
$allowedBrands = $this->getMethod()->getBrandsForAliasInterface();
|
174 |
+
|
175 |
+
return in_array($brand, $allowedBrands);
|
176 |
+
}
|
177 |
+
|
178 |
}
|
app/code/community/Netresearch/OPS/Block/Form/DirectDebit.php
CHANGED
@@ -10,8 +10,6 @@
|
|
10 |
class Netresearch_OPS_Block_Form_DirectDebit extends Netresearch_OPS_Block_Form
|
11 |
{
|
12 |
|
13 |
-
protected $previousParams = array();
|
14 |
-
|
15 |
/**
|
16 |
* Backend Payment Template
|
17 |
*/
|
@@ -34,200 +32,16 @@ class Netresearch_OPS_Block_Form_DirectDebit extends Netresearch_OPS_Block_Form
|
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
-
*
|
38 |
-
*
|
39 |
-
* @return array - the previously entred params
|
40 |
-
*/
|
41 |
-
public function getParams()
|
42 |
-
{
|
43 |
-
$params = Mage::getModel('adminhtml/session')->getData(
|
44 |
-
'ops_direct_debit_params'
|
45 |
-
);
|
46 |
-
|
47 |
-
Mage::getModel('adminhtml/session')->unsetData(
|
48 |
-
'ops_direct_debit_params'
|
49 |
-
);
|
50 |
-
if (!is_array($params)) {
|
51 |
-
$params = array(
|
52 |
-
'country' => '',
|
53 |
-
'CN' => '',
|
54 |
-
'iban' => '',
|
55 |
-
'bic' => '',
|
56 |
-
'account' => '',
|
57 |
-
'bankcode' => ''
|
58 |
-
);
|
59 |
-
}
|
60 |
-
$this->previousParams = $params;
|
61 |
-
|
62 |
-
return $this->previousParams;
|
63 |
-
}
|
64 |
-
|
65 |
-
/**
|
66 |
-
* checks if the iban field is required
|
67 |
-
*
|
68 |
-
* @return bool - true if so, false otherwise
|
69 |
-
*/
|
70 |
-
public function isIbanFieldRequired()
|
71 |
-
{
|
72 |
-
return (count($this->previousParams) == 0
|
73 |
-
|| (array_key_exists(
|
74 |
-
'iban', $this->previousParams
|
75 |
-
)
|
76 |
-
&& 0 < strlen('iban')
|
77 |
-
|| array_key_exists('account', $this->previousParams)
|
78 |
-
&& 0 == strlen($this->previousParams['account'])));
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* checks if the account field is required
|
83 |
-
*
|
84 |
-
* @return bool - true if so, false otherwise
|
85 |
-
*/
|
86 |
-
public function isAccountFieldRequired()
|
87 |
-
{
|
88 |
-
return (count($this->previousParams) == 0
|
89 |
-
|| (array_key_exists(
|
90 |
-
'account', $this->previousParams
|
91 |
-
)
|
92 |
-
&& (!array_key_exists('iban', $this->previousParams)
|
93 |
-
|| 0 == strlen($this->previousParams['iban']))));
|
94 |
-
}
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
/**
|
99 |
-
* checks if the bankcode field is required
|
100 |
-
*
|
101 |
-
* @return bool - true if so, false otherwise
|
102 |
-
*/
|
103 |
-
public function isBankCodeFieldRequired()
|
104 |
-
{
|
105 |
-
return $this->isAccountFieldRequired()
|
106 |
-
&& array_key_exists(
|
107 |
-
'country', $this->previousParams
|
108 |
-
)
|
109 |
-
&& ('DE' == strtoupper(
|
110 |
-
$this->getCountry())
|
111 |
-
|| 'AT' == strtoupper($this->getCountry())
|
112 |
-
|
113 |
-
);
|
114 |
-
}
|
115 |
-
|
116 |
-
/**
|
117 |
-
* checks if the bankcode field is visible
|
118 |
-
*
|
119 |
-
* @return bool - true if so, false otherwise
|
120 |
-
*/
|
121 |
-
public function isBankCodeFieldVisible()
|
122 |
-
{
|
123 |
-
return array_key_exists('country', $this->previousParams)
|
124 |
-
&& ('DE' == strtoupper($this->getCountry())
|
125 |
-
|| 'AT' == strtoupper($this->getCountry()));
|
126 |
-
}
|
127 |
-
|
128 |
-
/**
|
129 |
-
* checks if the bic field is visible
|
130 |
-
*
|
131 |
-
* @return bool - true if so, false otherwise
|
132 |
-
*/
|
133 |
-
public function isBicFieldVisible()
|
134 |
-
{
|
135 |
-
return ('NL' == strtoupper($this->getCountry()));
|
136 |
-
}
|
137 |
-
|
138 |
-
/**
|
139 |
-
* gets the previously entered country (if any)
|
140 |
-
*
|
141 |
-
* @return string - empty string if no country is given, otherwise the country
|
142 |
*/
|
143 |
-
public function
|
144 |
{
|
145 |
-
$
|
146 |
-
if (
|
147 |
-
$
|
|
|
148 |
}
|
|
|
149 |
|
150 |
-
return $country;
|
151 |
-
}
|
152 |
-
|
153 |
-
/**
|
154 |
-
* gets the previously entered iban (if any)
|
155 |
-
*
|
156 |
-
* @return string - empty string if no iban is given, otherwise the iban
|
157 |
-
*/
|
158 |
-
public function getIban()
|
159 |
-
{
|
160 |
-
$iban = '';
|
161 |
-
if (array_key_exists('iban', $this->previousParams)) {
|
162 |
-
$iban = $this->previousParams['iban'];
|
163 |
-
}
|
164 |
-
|
165 |
-
return $iban;
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* gets the previously entered bic (if any)
|
170 |
-
*
|
171 |
-
* @return string - empty string if no bic is given, otherwise the bic
|
172 |
-
*/
|
173 |
-
public function getBic()
|
174 |
-
{
|
175 |
-
$bic = '';
|
176 |
-
if (array_key_exists('bic', $this->previousParams)) {
|
177 |
-
$bic = $this->previousParams['bic'];
|
178 |
-
}
|
179 |
-
|
180 |
-
return $bic;
|
181 |
-
}
|
182 |
-
|
183 |
-
/**
|
184 |
-
* gets the previously entered account (if any)
|
185 |
-
*
|
186 |
-
* @return string - empty string if no account is given, otherwise the account
|
187 |
-
*/
|
188 |
-
public function getAccount()
|
189 |
-
{
|
190 |
-
$account = '';
|
191 |
-
if (array_key_exists('account', $this->previousParams)) {
|
192 |
-
$account = $this->previousParams['account'];
|
193 |
-
}
|
194 |
-
|
195 |
-
return $account;
|
196 |
-
}
|
197 |
-
|
198 |
-
/**
|
199 |
-
* gets the previously entered bankcode (if any)
|
200 |
-
*
|
201 |
-
* @return string - empty string if no bankcode is given, otherwise the bankcode
|
202 |
-
*/
|
203 |
-
public function getBankcode()
|
204 |
-
{
|
205 |
-
$bankcode = '';
|
206 |
-
if (array_key_exists('bankcode', $this->previousParams)) {
|
207 |
-
$bankcode = $this->previousParams['bankcode'];
|
208 |
-
}
|
209 |
-
|
210 |
-
return $bankcode;
|
211 |
-
}
|
212 |
-
|
213 |
-
/**
|
214 |
-
* gets the previously entered card holder (if any)
|
215 |
-
* @param $aliasId - not used, but required by parent methods
|
216 |
-
*
|
217 |
-
* @return string - empty string if no card holder is given, otherwise the card holder
|
218 |
-
*/
|
219 |
-
public function getCardholderName($aliasId = null)
|
220 |
-
{
|
221 |
-
$cardholder = '';
|
222 |
-
if (array_key_exists('CN', $this->previousParams)) {
|
223 |
-
$cardholder = $this->previousParams['CN'];
|
224 |
-
}
|
225 |
-
|
226 |
-
return $cardholder;
|
227 |
-
}
|
228 |
-
|
229 |
-
public function getRegisterDirectDebitPaymentUrl()
|
230 |
-
{
|
231 |
-
return Mage::getModel('ops/config')->getRegisterDirectDebitPaymentUrl();
|
232 |
}
|
233 |
}
|
10 |
class Netresearch_OPS_Block_Form_DirectDebit extends Netresearch_OPS_Block_Form
|
11 |
{
|
12 |
|
|
|
|
|
13 |
/**
|
14 |
* Backend Payment Template
|
15 |
*/
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
+
* @return string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
*/
|
37 |
+
public function getSelectedCountryId()
|
38 |
{
|
39 |
+
$countryId = $this->getQuote()->getPayment()->getAdditionalInformation('country_id');
|
40 |
+
if (Mage::app()->getStore()->isAdmin()) {
|
41 |
+
$data = $this->getQuote()->getPayment()->getData('ops_directDebit_data');
|
42 |
+
$countryId = $data && array_key_exists('country_id', $data) ? $data['country_id'] : '';
|
43 |
}
|
44 |
+
return $countryId;
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
}
|
app/code/community/Netresearch/OPS/Block/Form/DirectEbanking.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* DirectEbanking.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
28 |
+
*/
|
29 |
+
?>
|
30 |
+
<?php
|
31 |
+
|
32 |
+
class Netresearch_OPS_Block_Form_DirectEbanking extends Netresearch_OPS_Block_Form
|
33 |
+
{
|
34 |
+
/**
|
35 |
+
* @inheritDoc
|
36 |
+
*/
|
37 |
+
protected function _construct()
|
38 |
+
{
|
39 |
+
parent::_construct();
|
40 |
+
$this->setTemplate('ops/form/directEbanking.phtml');
|
41 |
+
}
|
42 |
+
}
|
app/code/community/Netresearch/OPS/Block/Form/Flex.php
CHANGED
@@ -47,9 +47,8 @@ class Netresearch_OPS_Block_Form_Flex extends Netresearch_OPS_Block_Form
|
|
47 |
*/
|
48 |
public function getFlexMethods()
|
49 |
{
|
50 |
-
|
51 |
$methods = $this->getMethod()->getConfigData('methods');
|
52 |
-
if(!is_array($methods)){
|
53 |
$methods = unserialize($methods);
|
54 |
}
|
55 |
|
47 |
*/
|
48 |
public function getFlexMethods()
|
49 |
{
|
|
|
50 |
$methods = $this->getMethod()->getConfigData('methods');
|
51 |
+
if (!is_array($methods)) {
|
52 |
$methods = unserialize($methods);
|
53 |
}
|
54 |
|
app/code/community/Netresearch/OPS/Block/Form/Ideal.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
|
9 |
|
10 |
class Netresearch_OPS_Block_Form_Ideal
|
11 |
-
extends
|
12 |
{
|
13 |
|
14 |
/**
|
@@ -30,4 +30,4 @@ class Netresearch_OPS_Block_Form_Ideal
|
|
30 |
{
|
31 |
return Mage::getModel('ops/payment_iDeal')->getIDealIssuers();
|
32 |
}
|
33 |
-
}
|
8 |
|
9 |
|
10 |
class Netresearch_OPS_Block_Form_Ideal
|
11 |
+
extends Netresearch_OPS_Block_Form
|
12 |
{
|
13 |
|
14 |
/**
|
30 |
{
|
31 |
return Mage::getModel('ops/payment_iDeal')->getIDealIssuers();
|
32 |
}
|
33 |
+
}
|
app/code/community/Netresearch/OPS/Block/Form/Kwixo/ApresReception.php
CHANGED
@@ -21,6 +21,7 @@ class Netresearch_OPS_Block_Form_Kwixo_ApresReception extends Netresearch_OPS_Bl
|
|
21 |
protected function _construct()
|
22 |
{
|
23 |
parent::_construct();
|
|
|
24 |
$this->setTemplate(self::FRONTEND_TEMPLATE);
|
25 |
}
|
26 |
}
|
21 |
protected function _construct()
|
22 |
{
|
23 |
parent::_construct();
|
24 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
25 |
$this->setTemplate(self::FRONTEND_TEMPLATE);
|
26 |
}
|
27 |
}
|
app/code/community/Netresearch/OPS/Block/Form/Kwixo/Comptant.php
CHANGED
@@ -22,6 +22,7 @@ class Netresearch_OPS_Block_Form_Kwixo_Comptant extends Netresearch_OPS_Block_Fo
|
|
22 |
protected function _construct()
|
23 |
{
|
24 |
parent::_construct();
|
|
|
25 |
$this->setTemplate(self::FRONTEND_TEMPLATE);
|
26 |
}
|
27 |
|
22 |
protected function _construct()
|
23 |
{
|
24 |
parent::_construct();
|
25 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
26 |
$this->setTemplate(self::FRONTEND_TEMPLATE);
|
27 |
}
|
28 |
|
app/code/community/Netresearch/OPS/Block/Form/Kwixo/Credit.php
CHANGED
@@ -22,6 +22,7 @@ class Netresearch_OPS_Block_Form_Kwixo_Credit extends Netresearch_OPS_Block_Form
|
|
22 |
protected function _construct()
|
23 |
{
|
24 |
parent::_construct();
|
|
|
25 |
$this->setTemplate(self::FRONTEND_TEMPLATE);
|
26 |
}
|
27 |
}
|
22 |
protected function _construct()
|
23 |
{
|
24 |
parent::_construct();
|
25 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
26 |
$this->setTemplate(self::FRONTEND_TEMPLATE);
|
27 |
}
|
28 |
}
|
app/code/community/Netresearch/OPS/Block/Form/OpenInvoice.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Netresearch_OPS_Block_Form_OpenInvoice
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
+
*/
|
29 |
+
class Netresearch_OPS_Block_Form_OpenInvoice extends Netresearch_OPS_Block_Form
|
30 |
+
{
|
31 |
+
protected function _construct()
|
32 |
+
{
|
33 |
+
parent::_construct();
|
34 |
+
$this->setTemplate('ops/form/openInvoice.phtml');
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @return string
|
39 |
+
* @see Netresearch_OPS_Model_Payment_OpenInvoice_Abstract::getInvoiceTermsTitle
|
40 |
+
*/
|
41 |
+
public function getInvoiceTermsTitle()
|
42 |
+
{
|
43 |
+
return $this->getMethod()->getInvoiceTermsTitle();
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @return string
|
48 |
+
* @see Netresearch_OPS_Model_Payment_OpenInvoice_Abstract::getInvoiceTermsUrl
|
49 |
+
*/
|
50 |
+
public function getInvoiceTermsUrl()
|
51 |
+
{
|
52 |
+
return $this->getMethod()->getInvoiceTermsUrl();
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @return bool
|
57 |
+
* @see Netresearch_OPS_Model_Payment_OpenInvoice_Abstract::showInvoiceTermsLink
|
58 |
+
*/
|
59 |
+
public function showInvoiceTermsLink()
|
60 |
+
{
|
61 |
+
return $this->getMethod()->showInvoiceTermsLink();
|
62 |
+
}
|
63 |
+
}
|
app/code/community/Netresearch/OPS/Block/Form/PayPerMail.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* PayPerMail.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
+
*/
|
29 |
+
?>
|
30 |
+
<?php
|
31 |
+
|
32 |
+
class Netresearch_OPS_Block_Form_PayPerMail extends Netresearch_OPS_Block_Form
|
33 |
+
{
|
34 |
+
/**
|
35 |
+
* @inheritDoc
|
36 |
+
*/
|
37 |
+
protected function _construct()
|
38 |
+
{
|
39 |
+
parent::_construct();
|
40 |
+
$this->setTemplate('ops/form/payPerMail.phtml');
|
41 |
+
}
|
42 |
+
|
43 |
+
}
|
app/code/community/Netresearch/OPS/Block/Form/RecurringCc.php
CHANGED
@@ -27,7 +27,8 @@
|
|
27 |
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
*/
|
29 |
|
30 |
-
class Netresearch_OPS_Block_Form_RecurringCc extends Netresearch_OPS_Block_Form_Cc
|
|
|
31 |
|
32 |
public function getCcBrands()
|
33 |
{
|
27 |
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
*/
|
29 |
|
30 |
+
class Netresearch_OPS_Block_Form_RecurringCc extends Netresearch_OPS_Block_Form_Cc
|
31 |
+
{
|
32 |
|
33 |
public function getCcBrands()
|
34 |
{
|
app/code/community/Netresearch/OPS/Block/Info/Alias.php
CHANGED
@@ -25,6 +25,7 @@ class Netresearch_OPS_Block_Info_Alias extends Netresearch_OPS_Block_Info_Redire
|
|
25 |
protected function _construct()
|
26 |
{
|
27 |
parent::_construct();
|
|
|
28 |
$this->setTemplate('ops/info/cc.phtml');
|
29 |
}
|
30 |
}
|
25 |
protected function _construct()
|
26 |
{
|
27 |
parent::_construct();
|
28 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
29 |
$this->setTemplate('ops/info/cc.phtml');
|
30 |
}
|
31 |
}
|
app/code/community/Netresearch/OPS/Block/Info/Bancontact.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Netresearch_OPS
|
23 |
+
* @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* OPS payment information block
|
29 |
+
*/
|
30 |
+
class Netresearch_OPS_Block_Info_Bancontact extends Mage_Payment_Block_Info
|
31 |
+
{
|
32 |
+
/**
|
33 |
+
* Init ops payment information block
|
34 |
+
*
|
35 |
+
*/
|
36 |
+
protected function _construct()
|
37 |
+
{
|
38 |
+
parent::_construct();
|
39 |
+
$this->setTemplate('ops/info/bancontact.phtml');
|
40 |
+
}
|
41 |
+
|
42 |
+
|
43 |
+
public function getDeviceParameter()
|
44 |
+
{
|
45 |
+
return $this->getInfo()->getAdditionalInformation('DEVICE');
|
46 |
+
}
|
47 |
+
|
48 |
+
|
49 |
+
public function getMobileModeParameter()
|
50 |
+
{
|
51 |
+
return $this->getInfo()->getAdditionalInformation('MOBILEMODE');
|
52 |
+
}
|
53 |
+
|
54 |
+
}
|
app/code/community/Netresearch/OPS/Block/Info/Cc.php
CHANGED
@@ -36,6 +36,7 @@ class Netresearch_OPS_Block_Info_Cc extends Netresearch_OPS_Block_Info_Redirect
|
|
36 |
protected function _construct()
|
37 |
{
|
38 |
parent::_construct();
|
|
|
39 |
$this->setTemplate('ops/info/cc.phtml');
|
40 |
}
|
41 |
}
|
36 |
protected function _construct()
|
37 |
{
|
38 |
parent::_construct();
|
39 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
40 |
$this->setTemplate('ops/info/cc.phtml');
|
41 |
}
|
42 |
}
|
app/code/community/Netresearch/OPS/Block/Info/Flex.php
CHANGED
@@ -37,6 +37,7 @@ class Netresearch_OPS_Block_Info_Flex extends Mage_Payment_Block_Info
|
|
37 |
protected function _construct()
|
38 |
{
|
39 |
parent::_construct();
|
|
|
40 |
$this->setTemplate('ops/info/flex.phtml');
|
41 |
}
|
42 |
|
@@ -46,6 +47,7 @@ class Netresearch_OPS_Block_Info_Flex extends Mage_Payment_Block_Info
|
|
46 |
*/
|
47 |
public function getFlexTitle()
|
48 |
{
|
|
|
49 |
return $this->getMethod()->getInfoInstance()->getAdditionalInformation(
|
50 |
Netresearch_OPS_Model_Payment_Flex::INFO_KEY_TITLE
|
51 |
);
|
37 |
protected function _construct()
|
38 |
{
|
39 |
parent::_construct();
|
40 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
41 |
$this->setTemplate('ops/info/flex.phtml');
|
42 |
}
|
43 |
|
47 |
*/
|
48 |
public function getFlexTitle()
|
49 |
{
|
50 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
51 |
return $this->getMethod()->getInfoInstance()->getAdditionalInformation(
|
52 |
Netresearch_OPS_Model_Payment_Flex::INFO_KEY_TITLE
|
53 |
);
|
app/code/community/Netresearch/OPS/Block/Info/OpsId.php
CHANGED
@@ -36,6 +36,7 @@ class Netresearch_OPS_Block_Info_OpsId extends Mage_Payment_Block_Info
|
|
36 |
protected function _construct()
|
37 |
{
|
38 |
parent::_construct();
|
|
|
39 |
$this->setTemplate('ops/info/opsId.phtml');
|
40 |
}
|
41 |
}
|
36 |
protected function _construct()
|
37 |
{
|
38 |
parent::_construct();
|
39 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
40 |
$this->setTemplate('ops/info/opsId.phtml');
|
41 |
}
|
42 |
}
|
app/code/community/Netresearch/OPS/Block/Info/PayPerMail.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* PayPerMail.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
28 |
+
*/
|
29 |
+
?>
|
30 |
+
<?php
|
31 |
+
|
32 |
+
class Netresearch_OPS_Block_Info_PayPerMail extends Mage_Payment_Block_Info
|
33 |
+
{
|
34 |
+
/**
|
35 |
+
* @inheritDoc
|
36 |
+
*/
|
37 |
+
protected function _construct()
|
38 |
+
{
|
39 |
+
parent::_construct();
|
40 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
41 |
+
$this->setTemplate('ops/info/payPerMail.phtml');
|
42 |
+
}
|
43 |
+
|
44 |
+
}
|
app/code/community/Netresearch/OPS/Block/Info/RecurringCc.php
CHANGED
@@ -27,6 +27,9 @@
|
|
27 |
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
*/
|
29 |
|
30 |
-
class Netresearch_OPS_Block_Info_RecurringCc extends Netresearch_OPS_Block_Info_Cc
|
|
|
|
|
|
|
31 |
|
32 |
}
|
27 |
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
*/
|
29 |
|
30 |
+
class Netresearch_OPS_Block_Info_RecurringCc extends Netresearch_OPS_Block_Info_Cc
|
31 |
+
{
|
32 |
+
|
33 |
+
|
34 |
|
35 |
}
|
app/code/community/Netresearch/OPS/Block/Info/Redirect.php
CHANGED
@@ -36,6 +36,7 @@ class Netresearch_OPS_Block_Info_Redirect extends Mage_Payment_Block_Info
|
|
36 |
protected function _construct()
|
37 |
{
|
38 |
parent::_construct();
|
|
|
39 |
$this->setTemplate('ops/info/redirect.phtml');
|
40 |
}
|
41 |
}
|
36 |
protected function _construct()
|
37 |
{
|
38 |
parent::_construct();
|
39 |
+
/** @noinspection PhpUndefinedMethodInspection */
|
40 |
$this->setTemplate('ops/info/redirect.phtml');
|
41 |
}
|
42 |
}
|
app/code/community/Netresearch/OPS/Block/Placeform.php
CHANGED
@@ -31,11 +31,10 @@ class Netresearch_OPS_Block_Placeform extends Mage_Core_Block_Template
|
|
31 |
protected $formFields;
|
32 |
protected $question;
|
33 |
|
34 |
-
public function __construct()
|
35 |
-
{
|
36 |
-
|
37 |
-
}
|
38 |
|
|
|
|
|
|
|
39 |
public function getConfig()
|
40 |
{
|
41 |
return Mage::getModel('ops/config');
|
@@ -58,10 +57,13 @@ class Netresearch_OPS_Block_Placeform extends Mage_Core_Block_Template
|
|
58 |
*/
|
59 |
protected function _getApi()
|
60 |
{
|
|
|
61 |
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getCheckout()->getLastRealOrderId());
|
62 |
-
if ($order &&
|
63 |
-
|
64 |
}
|
|
|
|
|
65 |
}
|
66 |
|
67 |
/**
|
@@ -102,7 +104,8 @@ class Netresearch_OPS_Block_Placeform extends Mage_Core_Block_Template
|
|
102 |
*/
|
103 |
public function getFormData()
|
104 |
{
|
105 |
-
if (
|
|
|
106 |
$this->formFields = $this->_getApi()->getFormFields($this->_getOrder(), $this->getRequest()->getParams());
|
107 |
}
|
108 |
return $this->formFields;
|
@@ -121,7 +124,9 @@ class Netresearch_OPS_Block_Placeform extends Mage_Core_Block_Template
|
|
121 |
$question = $this->getQuestion();
|
122 |
|
123 |
if ($this->getRequest()->isPost() || empty($question)) {
|
124 |
-
|
|
|
|
|
125 |
} else {
|
126 |
$formAction = Mage::getUrl(
|
127 |
'*/*/*', array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())
|
@@ -131,33 +136,52 @@ class Netresearch_OPS_Block_Placeform extends Mage_Core_Block_Template
|
|
131 |
return $formAction;
|
132 |
}
|
133 |
|
|
|
|
|
|
|
134 |
public function hasMissingParams()
|
135 |
{
|
136 |
-
if (
|
137 |
return null;
|
138 |
}
|
139 |
-
if (
|
140 |
-
$this->hasMissingParams = $this->_getApi()
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
return $this->hasMissingParams;
|
143 |
}
|
144 |
|
|
|
|
|
|
|
145 |
public function getQuestion()
|
146 |
{
|
147 |
-
if (
|
148 |
-
$this->question = $this->_getApi()->getQuestion(
|
149 |
}
|
150 |
return $this->question;
|
151 |
}
|
152 |
|
|
|
|
|
|
|
153 |
public function getQuestionedFormFields()
|
154 |
{
|
155 |
if (is_null($this->missingFormFields) && $this->_getOrder() && !is_null($this->_getOrder()->getId())) {
|
156 |
-
$this->missingFormFields = $this->_getApi()
|
|
|
157 |
}
|
|
|
158 |
return $this->missingFormFields;
|
159 |
}
|
160 |
|
|
|
|
|
|
|
161 |
public function isIframeTarget()
|
162 |
{
|
163 |
return $this->getConfig()->getConfigData('template') === Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_IFRAME;
|
31 |
protected $formFields;
|
32 |
protected $question;
|
33 |
|
|
|
|
|
|
|
|
|
34 |
|
35 |
+
/**
|
36 |
+
* @return Netresearch_OPS_Model_Config
|
37 |
+
*/
|
38 |
public function getConfig()
|
39 |
{
|
40 |
return Mage::getModel('ops/config');
|
57 |
*/
|
58 |
protected function _getApi()
|
59 |
{
|
60 |
+
$methodInstance = null;
|
61 |
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getCheckout()->getLastRealOrderId());
|
62 |
+
if ($order && null != $order->getId()) {
|
63 |
+
$methodInstance = $order->getPayment()->getMethodInstance();
|
64 |
}
|
65 |
+
|
66 |
+
return $methodInstance;
|
67 |
}
|
68 |
|
69 |
/**
|
104 |
*/
|
105 |
public function getFormData()
|
106 |
{
|
107 |
+
if (null == $this->formFields && $this->_getOrder()
|
108 |
+
&& null != $this->_getOrder()->getId()) {
|
109 |
$this->formFields = $this->_getApi()->getFormFields($this->_getOrder(), $this->getRequest()->getParams());
|
110 |
}
|
111 |
return $this->formFields;
|
124 |
$question = $this->getQuestion();
|
125 |
|
126 |
if ($this->getRequest()->isPost() || empty($question)) {
|
127 |
+
/** @var Netresearch_OPS_Model_Payment_Abstract $method */
|
128 |
+
$method = $this->_getOrder()->getPayment()->getMethodInstance();
|
129 |
+
$formAction = $method->getFrontendGateWay();
|
130 |
} else {
|
131 |
$formAction = Mage::getUrl(
|
132 |
'*/*/*', array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())
|
136 |
return $formAction;
|
137 |
}
|
138 |
|
139 |
+
/**
|
140 |
+
* @return bool|null
|
141 |
+
*/
|
142 |
public function hasMissingParams()
|
143 |
{
|
144 |
+
if (null === $this->_getOrder()) {
|
145 |
return null;
|
146 |
}
|
147 |
+
if (null === $this->hasMissingParams) {
|
148 |
+
$this->hasMissingParams = $this->_getApi()
|
149 |
+
->hasFormMissingParams(
|
150 |
+
$this->_getOrder(),
|
151 |
+
$this->getRequest()->getParams(),
|
152 |
+
$this->getFormData()
|
153 |
+
);
|
154 |
}
|
155 |
return $this->hasMissingParams;
|
156 |
}
|
157 |
|
158 |
+
/**
|
159 |
+
* @return string
|
160 |
+
*/
|
161 |
public function getQuestion()
|
162 |
{
|
163 |
+
if (null === $this->question && $this->_getOrder() && null != $this->_getOrder()->getId()) {
|
164 |
+
$this->question = $this->_getApi()->getQuestion();
|
165 |
}
|
166 |
return $this->question;
|
167 |
}
|
168 |
|
169 |
+
/**
|
170 |
+
* @return array
|
171 |
+
*/
|
172 |
public function getQuestionedFormFields()
|
173 |
{
|
174 |
if (is_null($this->missingFormFields) && $this->_getOrder() && !is_null($this->_getOrder()->getId())) {
|
175 |
+
$this->missingFormFields = $this->_getApi()
|
176 |
+
->getQuestionedFormFields($this->_getOrder());
|
177 |
}
|
178 |
+
|
179 |
return $this->missingFormFields;
|
180 |
}
|
181 |
|
182 |
+
/**
|
183 |
+
* @return bool
|
184 |
+
*/
|
185 |
public function isIframeTarget()
|
186 |
{
|
187 |
return $this->getConfig()->getConfigData('template') === Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_IFRAME;
|
app/code/community/Netresearch/OPS/Block/Placeform3dsecure.php
CHANGED
@@ -34,7 +34,7 @@ class Netresearch_OPS_Block_Placeform3dsecure extends Netresearch_OPS_Block_Plac
|
|
34 |
*/
|
35 |
public function getFormData()
|
36 |
{
|
37 |
-
if (
|
38 |
return base64_decode($this->_getOrder()->getPayment()->getAdditionalInformation('HTML_ANSWER'));
|
39 |
}
|
40 |
return null;
|
34 |
*/
|
35 |
public function getFormData()
|
36 |
{
|
37 |
+
if (null != $this->_getOrder()) {
|
38 |
return base64_decode($this->_getOrder()->getPayment()->getAdditionalInformation('HTML_ANSWER'));
|
39 |
}
|
40 |
return null;
|
app/code/community/Netresearch/OPS/Block/RetryPayment.php
CHANGED
@@ -20,16 +20,16 @@
|
|
20 |
*/
|
21 |
|
22 |
/**
|
23 |
-
*
|
24 |
*
|
25 |
* @category payment
|
26 |
* @package Netresearch_OPS
|
27 |
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
-
*/
|
29 |
-
|
30 |
-
|
31 |
|
32 |
-
protected $
|
33 |
|
34 |
protected function _getApi()
|
35 |
{
|
@@ -38,12 +38,66 @@ class Netresearch_OPS_Block_RetryPayment extends Netresearch_OPS_Block_Placeform
|
|
38 |
|
39 |
protected function _getOrder()
|
40 |
{
|
41 |
-
if(
|
42 |
-
$opsOrderId = $this->
|
43 |
-
$this->
|
44 |
}
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
|
22 |
/**
|
23 |
+
* Netresearch_OPS_Block_RetryPayment
|
24 |
*
|
25 |
* @category payment
|
26 |
* @package Netresearch_OPS
|
27 |
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
+
*/
|
29 |
+
class Netresearch_OPS_Block_RetryPayment extends Netresearch_OPS_Block_Placeform
|
30 |
+
{
|
31 |
|
32 |
+
protected $_order = null;
|
33 |
|
34 |
protected function _getApi()
|
35 |
{
|
38 |
|
39 |
protected function _getOrder()
|
40 |
{
|
41 |
+
if (null === $this->_order) {
|
42 |
+
$opsOrderId = $this->getOrderId();
|
43 |
+
$this->_order = Mage::helper('ops/order')->getOrder($opsOrderId);
|
44 |
}
|
45 |
+
|
46 |
+
return $this->_order;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Getting placeform url
|
51 |
+
*
|
52 |
+
* @return string
|
53 |
+
*/
|
54 |
+
public function getFormAction()
|
55 |
+
{
|
56 |
+
$formAction = Mage::getUrl(
|
57 |
+
'*/*/updatePaymentAndPlaceForm',
|
58 |
+
array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())
|
59 |
+
);
|
60 |
+
|
61 |
+
return $formAction;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Getting cancel url
|
66 |
+
*
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
+
public function getCancelUrl()
|
70 |
+
{
|
71 |
+
$formAction = Mage::getUrl(
|
72 |
+
'*/*/cancel',
|
73 |
+
array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())
|
74 |
+
);
|
75 |
+
|
76 |
+
return $formAction;
|
77 |
}
|
78 |
|
79 |
+
public function getOrderId()
|
80 |
+
{
|
81 |
+
return $this->getRequest()->getParam('orderID');
|
82 |
+
}
|
83 |
|
84 |
+
/**
|
85 |
+
* Returns the orders billing address
|
86 |
+
*
|
87 |
+
* @return Mage_Sales_Model_Order_Address
|
88 |
+
*/
|
89 |
+
public function getBillingAddress()
|
90 |
+
{
|
91 |
+
return $this->_getOrder()->getBillingAddress();
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Returns the orders shipping address or false in case of a virtual order
|
96 |
+
*
|
97 |
+
* @return Mage_Sales_Model_Order_Address|false
|
98 |
+
*/
|
99 |
+
public function getShippingAddress()
|
100 |
+
{
|
101 |
+
return $this->_getOrder()->getShippingAddress();
|
102 |
+
}
|
103 |
+
}
|
app/code/community/Netresearch/OPS/Block/RetryPayment/Methods.php
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Netresearch_OPS_Block_RetryPayment_Methods
|
24 |
+
*
|
25 |
+
* @category OPS
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
28 |
+
*/
|
29 |
+
class Netresearch_OPS_Block_RetryPayment_Methods extends Mage_Checkout_Block_Onepage_Payment_Methods
|
30 |
+
{
|
31 |
+
protected $quote = null;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Get Order ID from Url
|
35 |
+
*
|
36 |
+
* @return null
|
37 |
+
* @throws Exception
|
38 |
+
*/
|
39 |
+
public function getQuote()
|
40 |
+
{
|
41 |
+
if (null === $this->quote) {
|
42 |
+
$opsOrderId = $this->getRequest()->getParam('orderID');
|
43 |
+
$order = Mage::helper('ops/order')-> getOrder($opsOrderId);
|
44 |
+
$quote = Mage::getModel('sales/quote')->load($order->getQuoteId());
|
45 |
+
|
46 |
+
if ($quote->getId()) {
|
47 |
+
$quote->setIsActive(1)
|
48 |
+
->save();
|
49 |
+
Mage::getSingleton('checkout/session')
|
50 |
+
->replaceQuote($quote);
|
51 |
+
}
|
52 |
+
|
53 |
+
$this->quote = $quote;
|
54 |
+
}
|
55 |
+
|
56 |
+
return $this->quote;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Retrieve available payment methods - filtered by OPS methods
|
61 |
+
*
|
62 |
+
* @return array
|
63 |
+
*/
|
64 |
+
public function getMethods()
|
65 |
+
{
|
66 |
+
$methods = $this->getData('methods');
|
67 |
+
if ($methods === null) {
|
68 |
+
$methods = parent::getMethods();
|
69 |
+
foreach ($methods as $key => $method) {
|
70 |
+
if (!$method instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
71 |
+
$this->_assignMethod($method);
|
72 |
+
unset($methods[$key]);
|
73 |
+
}
|
74 |
+
}
|
75 |
+
$this->setData('methods', $methods);
|
76 |
+
}
|
77 |
+
|
78 |
+
return $methods;
|
79 |
+
}
|
80 |
+
}
|
app/code/community/Netresearch/OPS/Block/System/Config/Form/Field/Brand.php
CHANGED
@@ -34,14 +34,18 @@ class Netresearch_OPS_Block_System_Config_Form_Field_Brand
|
|
34 |
{
|
35 |
public function __construct()
|
36 |
{
|
37 |
-
$this->addColumn(
|
|
|
38 |
'label' => Mage::helper('ops')->__('Brand'),
|
39 |
'style' => 'width:120px',
|
40 |
-
|
41 |
-
|
|
|
|
|
42 |
'label' => Mage::helper('ops')->__('Title'),
|
43 |
'style' => 'width:120px',
|
44 |
-
|
|
|
45 |
$this->_addAfter = false;
|
46 |
$this->_addButtonLabel = Mage::helper('ops')->__('Add Brand');
|
47 |
parent::__construct();
|
34 |
{
|
35 |
public function __construct()
|
36 |
{
|
37 |
+
$this->addColumn(
|
38 |
+
'brand', array(
|
39 |
'label' => Mage::helper('ops')->__('Brand'),
|
40 |
'style' => 'width:120px',
|
41 |
+
)
|
42 |
+
);
|
43 |
+
$this->addColumn(
|
44 |
+
'value', array(
|
45 |
'label' => Mage::helper('ops')->__('Title'),
|
46 |
'style' => 'width:120px',
|
47 |
+
)
|
48 |
+
);
|
49 |
$this->_addAfter = false;
|
50 |
$this->_addButtonLabel = Mage::helper('ops')->__('Add Brand');
|
51 |
parent::__construct();
|
app/code/community/Netresearch/OPS/Block/System/Config/Form/Field/Image.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Netresearch OPS
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* @category Netresearch
|
19 |
+
* @package Netresearch_OPS
|
20 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
21 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
22 |
+
*/
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Netresearch
|
26 |
+
*
|
27 |
+
* @category Netresearch
|
28 |
+
* @package Netresearch_OPS
|
29 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
30 |
+
*/
|
31 |
+
class Netresearch_OPS_Block_System_Config_Form_Field_Image
|
32 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field_Image
|
33 |
+
{
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Return element html code
|
37 |
+
*
|
38 |
+
* @return string
|
39 |
+
*/
|
40 |
+
public function getElementHtml()
|
41 |
+
{
|
42 |
+
$html = '';
|
43 |
+
$url = $this->_getUrl();
|
44 |
+
|
45 |
+
if (!empty($url)) {
|
46 |
+
$value = $this->getData('value');
|
47 |
+
$html = '<a href="' . $url . '"'
|
48 |
+
. ' onclick="imagePreview(\'' . $this->getHtmlId() . '_image\'); return false;">'
|
49 |
+
. '<img src="' . $url . '" id="' . $this->getHtmlId() . '_image" title="' . $value . '"'
|
50 |
+
. ' alt="' . $value . '" height="22" width="22" class="small-image-preview v-middle" />'
|
51 |
+
. '</a> ';
|
52 |
+
}
|
53 |
+
$this->setData('class', 'input-file');
|
54 |
+
$html .= Varien_Data_Form_Element_Abstract::getElementHtml();
|
55 |
+
$html .= $this->_getDeleteCheckbox();
|
56 |
+
|
57 |
+
return $html;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Get image preview url
|
62 |
+
*
|
63 |
+
* @return string
|
64 |
+
*/
|
65 |
+
protected function _getUrl()
|
66 |
+
{
|
67 |
+
$url = $this->getData('value');
|
68 |
+
$config = $this->getData('field_config');
|
69 |
+
|
70 |
+
if (!empty($url)) {
|
71 |
+
/* @var $config Varien_Simplexml_Element */
|
72 |
+
if (!empty($config->base_url)) {
|
73 |
+
$el = $config->descend('base_url');
|
74 |
+
$urlType = empty($el['type']) ? 'link' : (string)$el['type'];
|
75 |
+
$url = Mage::getBaseUrl($urlType) . (string)$config->base_url . '/' . $url;
|
76 |
+
}
|
77 |
+
} else {
|
78 |
+
preg_match("/groups\[([a-zA-Z_]*)/", $this->getData('name'), $imageName);
|
79 |
+
|
80 |
+
if (isset($imageName[1])) {
|
81 |
+
$url = Mage::helper('ops/payment')->getPaymentDefaultLogo($imageName[1]);
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
return $url;
|
86 |
+
}
|
87 |
+
}
|
app/code/community/Netresearch/OPS/Block/System/Config/Form/Field/Method.php
CHANGED
@@ -31,20 +31,26 @@ class Netresearch_OPS_Block_System_Config_Form_Field_Method extends Mage_Adminht
|
|
31 |
{
|
32 |
public function __construct()
|
33 |
{
|
34 |
-
$this->addColumn(
|
|
|
35 |
'label' => Mage::helper('ops')->__('Title'),
|
36 |
'style' => 'width:80px',
|
37 |
'class' => 'required-entry'
|
38 |
-
|
39 |
-
|
|
|
|
|
40 |
'label' => 'PM',
|
41 |
'style' => 'width:80px',
|
42 |
'class' => 'required-entry'
|
43 |
-
|
44 |
-
|
|
|
|
|
45 |
'label' => 'BRAND',
|
46 |
'style' => 'width:80px',
|
47 |
-
|
|
|
48 |
|
49 |
$this->_addAfter = false;
|
50 |
$this->_addButtonLabel = Mage::helper('ops')->__('Add Method');
|
31 |
{
|
32 |
public function __construct()
|
33 |
{
|
34 |
+
$this->addColumn(
|
35 |
+
'title', array(
|
36 |
'label' => Mage::helper('ops')->__('Title'),
|
37 |
'style' => 'width:80px',
|
38 |
'class' => 'required-entry'
|
39 |
+
)
|
40 |
+
);
|
41 |
+
$this->addColumn(
|
42 |
+
'pm', array(
|
43 |
'label' => 'PM',
|
44 |
'style' => 'width:80px',
|
45 |
'class' => 'required-entry'
|
46 |
+
)
|
47 |
+
);
|
48 |
+
$this->addColumn(
|
49 |
+
'brand', array(
|
50 |
'label' => 'BRAND',
|
51 |
'style' => 'width:80px',
|
52 |
+
)
|
53 |
+
);
|
54 |
|
55 |
$this->_addAfter = false;
|
56 |
$this->_addButtonLabel = Mage::helper('ops')->__('Add Method');
|
app/code/community/Netresearch/OPS/Block/System/Config/Mode.php
CHANGED
@@ -1,31 +1,32 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Mode.php
|
4 |
-
* @author paul.siedler@netresearch.de
|
5 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
-
*/
|
8 |
-
|
9 |
-
class Netresearch_OPS_Block_System_Config_Mode extends Mage_Adminhtml_Block_System_Config_Form_Field
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Mode.php
|
4 |
+
* @author paul.siedler@netresearch.de
|
5 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
+
*/
|
8 |
+
|
9 |
+
class Netresearch_OPS_Block_System_Config_Mode extends Mage_Adminhtml_Block_System_Config_Form_Field
|
10 |
+
{
|
11 |
+
|
12 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
13 |
+
{
|
14 |
+
$html = parent::_getElementHtml($element);
|
15 |
+
|
16 |
+
$javascript = "
|
17 |
+
<script type=\"text/javascript\">
|
18 |
+
element = $('".$element->getHtmlId()."');
|
19 |
+
Event.observe(element, 'change', function(){
|
20 |
+
if(element.selectedOptions[0].value != '".$element->getValue()."'){
|
21 |
+
$('ops_mode_comment').style.display = 'block';
|
22 |
+
} else {
|
23 |
+
$('ops_mode_comment').style.display = 'none';
|
24 |
+
}
|
25 |
+
});
|
26 |
+
</script>";
|
27 |
+
|
28 |
+
return $html.$javascript;
|
29 |
+
}
|
30 |
+
|
31 |
+
|
32 |
+
}
|
app/code/community/Netresearch/OPS/Block/System/Config/PaymentForm.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Netresearch OPS
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* @category Netresearch
|
19 |
+
* @package Netresearch_OPS
|
20 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
21 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
22 |
+
*/
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Netresearch
|
26 |
+
*
|
27 |
+
* @category Netresearch
|
28 |
+
* @package Netresearch_OPS
|
29 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
30 |
+
*/
|
31 |
+
class Netresearch_Ops_Block_System_Config_PaymentForm
|
32 |
+
extends Mage_Adminhtml_Block_System_Config_Form
|
33 |
+
{
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Add Payment Logo Image Renderer to renderer types
|
37 |
+
*
|
38 |
+
* @return array
|
39 |
+
*/
|
40 |
+
protected function _getAdditionalElementTypes()
|
41 |
+
{
|
42 |
+
$elementTypes = parent::_getAdditionalElementTypes();
|
43 |
+
$elementTypes['paymentLogo'] = Mage::getConfig()->getBlockClassName('ops/system_config_form_field_image');
|
44 |
+
|
45 |
+
return $elementTypes;
|
46 |
+
}
|
47 |
+
}
|
app/code/community/Netresearch/OPS/Block/System/Config/Support.php
CHANGED
@@ -20,9 +20,11 @@ class Netresearch_OPS_Block_System_Config_Support extends Mage_Adminhtml_Block_A
|
|
20 |
public function render(Varien_Data_Form_Element_Abstract $fieldset)
|
21 |
{
|
22 |
$originalData = $fieldset->getOriginalData();
|
23 |
-
$this->addData(
|
|
|
24 |
'fieldset_label' => $fieldset->getLegend(),
|
25 |
-
|
|
|
26 |
return $this->toHtml();
|
27 |
}
|
28 |
|
@@ -58,7 +60,7 @@ class Netresearch_OPS_Block_System_Config_Support extends Mage_Adminhtml_Block_A
|
|
58 |
public function getSupportMail()
|
59 |
{
|
60 |
$mail = $this->getConfig()->getConfigData('support_mail');
|
61 |
-
if (
|
62 |
return $mail;
|
63 |
}
|
64 |
}
|
@@ -81,7 +83,7 @@ class Netresearch_OPS_Block_System_Config_Support extends Mage_Adminhtml_Block_A
|
|
81 |
public function getDocLinkDe()
|
82 |
{
|
83 |
$link = $this->getConfig()->getConfigData('doc_link_de');
|
84 |
-
if (
|
85 |
return $link;
|
86 |
}
|
87 |
}
|
@@ -94,7 +96,7 @@ class Netresearch_OPS_Block_System_Config_Support extends Mage_Adminhtml_Block_A
|
|
94 |
public function getDocLinkEn()
|
95 |
{
|
96 |
$link = $this->getConfig()->getConfigData('doc_link_en');
|
97 |
-
if (
|
98 |
return $link;
|
99 |
}
|
100 |
}
|
@@ -116,7 +118,7 @@ class Netresearch_OPS_Block_System_Config_Support extends Mage_Adminhtml_Block_A
|
|
116 |
public function getFaqLinkDe()
|
117 |
{
|
118 |
$link = $this->getConfig()->getConfigData('faq_link_de');
|
119 |
-
if (
|
120 |
return $link;
|
121 |
}
|
122 |
|
@@ -130,7 +132,7 @@ class Netresearch_OPS_Block_System_Config_Support extends Mage_Adminhtml_Block_A
|
|
130 |
public function getFaqLinkEn()
|
131 |
{
|
132 |
$link = $this->getConfig()->getConfigData('faq_link_en');
|
133 |
-
if (
|
134 |
return $link;
|
135 |
}
|
136 |
}
|
20 |
public function render(Varien_Data_Form_Element_Abstract $fieldset)
|
21 |
{
|
22 |
$originalData = $fieldset->getOriginalData();
|
23 |
+
$this->addData(
|
24 |
+
array(
|
25 |
'fieldset_label' => $fieldset->getLegend(),
|
26 |
+
)
|
27 |
+
);
|
28 |
return $this->toHtml();
|
29 |
}
|
30 |
|
60 |
public function getSupportMail()
|
61 |
{
|
62 |
$mail = $this->getConfig()->getConfigData('support_mail');
|
63 |
+
if (false !== strpos($mail, '@')) {
|
64 |
return $mail;
|
65 |
}
|
66 |
}
|
83 |
public function getDocLinkDe()
|
84 |
{
|
85 |
$link = $this->getConfig()->getConfigData('doc_link_de');
|
86 |
+
if (false !== strpos($link, '://')) {
|
87 |
return $link;
|
88 |
}
|
89 |
}
|
96 |
public function getDocLinkEn()
|
97 |
{
|
98 |
$link = $this->getConfig()->getConfigData('doc_link_en');
|
99 |
+
if (false !== strpos($link, '://')) {
|
100 |
return $link;
|
101 |
}
|
102 |
}
|
118 |
public function getFaqLinkDe()
|
119 |
{
|
120 |
$link = $this->getConfig()->getConfigData('faq_link_de');
|
121 |
+
if (false !== strpos($link, '://')) {
|
122 |
return $link;
|
123 |
}
|
124 |
|
132 |
public function getFaqLinkEn()
|
133 |
{
|
134 |
$link = $this->getConfig()->getConfigData('faq_link_en');
|
135 |
+
if (false !== strpos($link, '://')) {
|
136 |
return $link;
|
137 |
}
|
138 |
}
|
app/code/community/Netresearch/OPS/Controller/Abstract.php
CHANGED
@@ -39,17 +39,20 @@ class Netresearch_OPS_Controller_Abstract extends Mage_Core_Controller_Front_Act
|
|
39 |
/**
|
40 |
* Return order instance loaded by increment id'
|
41 |
*
|
|
|
|
|
42 |
* @return Mage_Sales_Model_Order
|
43 |
*/
|
44 |
|
45 |
protected function _getOrder($opsOrderId = null)
|
46 |
{
|
47 |
if (empty($this->_order)) {
|
48 |
-
if (
|
49 |
$opsOrderId = $this->getRequest()->getParam('orderID');
|
50 |
}
|
51 |
$this->_order = Mage::helper('ops/order')->getOrder($opsOrderId);
|
52 |
}
|
|
|
53 |
return $this->_order;
|
54 |
}
|
55 |
|
@@ -60,11 +63,12 @@ class Netresearch_OPS_Controller_Abstract extends Mage_Core_Controller_Front_Act
|
|
60 |
*/
|
61 |
protected function _getApi()
|
62 |
{
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
68 |
}
|
69 |
|
70 |
/**
|
@@ -95,12 +99,17 @@ class Netresearch_OPS_Controller_Abstract extends Mage_Core_Controller_Front_Act
|
|
95 |
/**
|
96 |
* Validation of incoming OPS data
|
97 |
*
|
|
|
|
|
|
|
98 |
* @return bool
|
99 |
*/
|
100 |
-
protected function _validateOPSData()
|
101 |
{
|
102 |
$helper = Mage::helper('ops');
|
103 |
-
|
|
|
|
|
104 |
if ($this->getSubscriptionHelper()->isSubscriptionFeedback($params)) {
|
105 |
$profile = $this->getSubscriptionHelper()->getProfileForSubscription($params['orderID']);
|
106 |
if (!$profile->getId()) {
|
39 |
/**
|
40 |
* Return order instance loaded by increment id'
|
41 |
*
|
42 |
+
* @param $opsOrderId
|
43 |
+
*
|
44 |
* @return Mage_Sales_Model_Order
|
45 |
*/
|
46 |
|
47 |
protected function _getOrder($opsOrderId = null)
|
48 |
{
|
49 |
if (empty($this->_order)) {
|
50 |
+
if (null === $opsOrderId) {
|
51 |
$opsOrderId = $this->getRequest()->getParam('orderID');
|
52 |
}
|
53 |
$this->_order = Mage::helper('ops/order')->getOrder($opsOrderId);
|
54 |
}
|
55 |
+
|
56 |
return $this->_order;
|
57 |
}
|
58 |
|
63 |
*/
|
64 |
protected function _getApi()
|
65 |
{
|
66 |
+
$api = Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance();
|
67 |
+
if (null != $this->getRequest()->getParam('orderID')) {
|
68 |
+
$api = $this->_getOrder()->getPayment()->getMethodInstance();
|
69 |
+
}
|
70 |
+
|
71 |
+
return $api;
|
72 |
}
|
73 |
|
74 |
/**
|
99 |
/**
|
100 |
* Validation of incoming OPS data
|
101 |
*
|
102 |
+
* @param mixed[]|bool $paramOverwrite array of parameters with SHASIGN to validate instead of standard request
|
103 |
+
* parameters
|
104 |
+
*
|
105 |
* @return bool
|
106 |
*/
|
107 |
+
protected function _validateOPSData($paramOverwrite = false)
|
108 |
{
|
109 |
$helper = Mage::helper('ops');
|
110 |
+
|
111 |
+
$params = $paramOverwrite ? : $this->getRequest()->getParams();
|
112 |
+
|
113 |
if ($this->getSubscriptionHelper()->isSubscriptionFeedback($params)) {
|
114 |
$profile = $this->getSubscriptionHelper()->getProfileForSubscription($params['orderID']);
|
115 |
if (!$profile->getId()) {
|
app/code/community/Netresearch/OPS/Helper/Address.php
ADDED
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS_Helper_Address
|
4 |
+
*
|
5 |
+
* @package
|
6 |
+
* @copyright 2016 Netresearch
|
7 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
8 |
+
* @license OSL 3.0
|
9 |
+
*/
|
10 |
+
class Netresearch_OPS_Helper_Address extends Mage_Core_Helper_Abstract
|
11 |
+
{
|
12 |
+
|
13 |
+
const OPTION_A_ADDITION_1 = 'A_Addition_to_address_1';
|
14 |
+
const OPTION_A_STREET_NAME = 'A_Street_name_1';
|
15 |
+
const OPTION_A_HOUSE_NUMBER = 'A_House_number_1';
|
16 |
+
const OPTION_A_ADDITION_2 = 'A_Addition_to_address_2';
|
17 |
+
const OPTION_B_ADDITION_1 = 'B_Addition_to_address_1';
|
18 |
+
const OPTION_B_STREET_NAME = 'B_Street_name';
|
19 |
+
const OPTION_B_HOUSE_NUMBER = 'B_House_number';
|
20 |
+
const OPTION_B_ADDITION_2 = 'B_Addition_to_address_2';
|
21 |
+
|
22 |
+
|
23 |
+
/**
|
24 |
+
* split street into street name, number and additional street information
|
25 |
+
*
|
26 |
+
* @param string $street
|
27 |
+
*
|
28 |
+
* @return array
|
29 |
+
*/
|
30 |
+
public function splitStreet($street)
|
31 |
+
{
|
32 |
+
$result = array(
|
33 |
+
'street_name' => $street,
|
34 |
+
'street_number' => '',
|
35 |
+
'supplement' => ''
|
36 |
+
);
|
37 |
+
|
38 |
+
if (preg_match($this->getStreetSplitter(), $street, $matches)) {
|
39 |
+
|
40 |
+
// Pattern A
|
41 |
+
if (isset($matches[self::OPTION_A_STREET_NAME]) && !empty($matches[self::OPTION_A_STREET_NAME])) {
|
42 |
+
|
43 |
+
$result['street_name'] = trim($matches[self::OPTION_A_STREET_NAME]);
|
44 |
+
|
45 |
+
if (isset($matches[self::OPTION_A_HOUSE_NUMBER]) && !empty($matches[self::OPTION_A_HOUSE_NUMBER])) {
|
46 |
+
$result['street_number'] = trim($matches[self::OPTION_A_HOUSE_NUMBER]);
|
47 |
+
}
|
48 |
+
|
49 |
+
if (isset($matches[self::OPTION_A_ADDITION_1]) && isset($matches[self::OPTION_A_ADDITION_2])) {
|
50 |
+
$result['supplement'] = trim($matches[self::OPTION_A_ADDITION_1] . ' '
|
51 |
+
. $matches[self::OPTION_A_ADDITION_2]
|
52 |
+
);
|
53 |
+
}
|
54 |
+
|
55 |
+
return $result ;
|
56 |
+
|
57 |
+
// Pattern B
|
58 |
+
} elseif (isset($matches[self::OPTION_B_STREET_NAME]) && !empty($matches[self::OPTION_B_STREET_NAME])) {
|
59 |
+
|
60 |
+
$result['street_name'] = trim($matches[self::OPTION_B_STREET_NAME]);
|
61 |
+
|
62 |
+
if (isset($matches[self::OPTION_B_HOUSE_NUMBER]) && !empty($matches[self::OPTION_B_HOUSE_NUMBER])) {
|
63 |
+
$result['street_number'] = trim($matches[self::OPTION_B_HOUSE_NUMBER]);
|
64 |
+
}
|
65 |
+
|
66 |
+
if (isset($matches[self::OPTION_B_ADDITION_1]) && isset($matches[self::OPTION_B_ADDITION_2])) {
|
67 |
+
$result['supplement'] = trim($matches[self::OPTION_B_ADDITION_1] . ' '
|
68 |
+
. $matches[self::OPTION_B_ADDITION_2]
|
69 |
+
);
|
70 |
+
}
|
71 |
+
|
72 |
+
|
73 |
+
return $result;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
return $result;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Regex to analyze addresses and split them into the groups Street Name, House Number and Additional Information
|
82 |
+
* Pattern A is addition number street addition
|
83 |
+
* Pattern B is addition street number addition
|
84 |
+
*
|
85 |
+
* @return string
|
86 |
+
*/
|
87 |
+
protected function getStreetSplitter()
|
88 |
+
{
|
89 |
+
return "/\\A\\s*
|
90 |
+
(?:
|
91 |
+
#########################################################################
|
92 |
+
# Option A: [<Addition to address 1>] <House number> <Street name> #
|
93 |
+
# [<Addition to address 2>] #
|
94 |
+
#########################################################################
|
95 |
+
(?:
|
96 |
+
(?P<A_Addition_to_address_1>.*?)
|
97 |
+
,\\s*
|
98 |
+
)?
|
99 |
+
# Addition to address 1
|
100 |
+
(?:No\\.\\s*)?
|
101 |
+
(?P<A_House_number_1>
|
102 |
+
\\pN+[a-zA-Z]?
|
103 |
+
(?:\\s*[-\\/\\pP]\\s*\\pN+[a-zA-Z]?)*
|
104 |
+
)
|
105 |
+
# House number
|
106 |
+
\\s*,?\\s*
|
107 |
+
(?P<A_Street_name_1>
|
108 |
+
(?:[a-zA-Z]\\s*|\\pN\\pL{2,}\\s\\pL)
|
109 |
+
\\S[^,#]*?
|
110 |
+
(?<!\\s)
|
111 |
+
)
|
112 |
+
# Street name
|
113 |
+
\\s*
|
114 |
+
(?:
|
115 |
+
(?:
|
116 |
+
[,\\/]|
|
117 |
+
(?=\\#)
|
118 |
+
)
|
119 |
+
\\s*
|
120 |
+
(?!\\s*No\\.)
|
121 |
+
(?P<A_Addition_to_address_2>
|
122 |
+
(?!\\s)
|
123 |
+
.*?
|
124 |
+
)
|
125 |
+
)?
|
126 |
+
# Addition to address 2
|
127 |
+
|
|
128 |
+
#########################################################################
|
129 |
+
# Option B: [<Addition to address 1>] <Street name> <House number> #
|
130 |
+
# [<Addition to address 2>] #
|
131 |
+
#########################################################################
|
132 |
+
(?:
|
133 |
+
(?P<B_Addition_to_address_1>.*?)
|
134 |
+
,\\s*
|
135 |
+
(?=.*[,\\/])
|
136 |
+
)?
|
137 |
+
# Addition to address 1
|
138 |
+
(?!\\s*No\\.)
|
139 |
+
(?P<B_Street_name>
|
140 |
+
\\S\\s*\\S
|
141 |
+
(?:
|
142 |
+
[^,#]
|
143 |
+
(?!\\b\\pN+\\s)
|
144 |
+
)*?
|
145 |
+
(?<!\\s)
|
146 |
+
)
|
147 |
+
# Street name
|
148 |
+
\\s*[\\/,]?\\s*
|
149 |
+
(?:\\sNo\\.)?
|
150 |
+
\\s+
|
151 |
+
(?P<B_House_number>
|
152 |
+
\\pN+\\s*-?[a-zA-Z]?
|
153 |
+
(?:
|
154 |
+
\\s*[-\\/\\pP]?\\s*\\pN+
|
155 |
+
(?:\\s*[\\-a-zA-Z])?
|
156 |
+
)*|
|
157 |
+
[IVXLCDM]+
|
158 |
+
(?!.*\\b\\pN+\\b)
|
159 |
+
)
|
160 |
+
(?<!\\s)
|
161 |
+
# House number
|
162 |
+
\\s*
|
163 |
+
(?:
|
164 |
+
(?:
|
165 |
+
[,\\/]|
|
166 |
+
(?=\\#)|
|
167 |
+
\\s
|
168 |
+
)
|
169 |
+
\\s*
|
170 |
+
(?!\\s*No\\.)
|
171 |
+
\\s*
|
172 |
+
(?P<B_Addition_to_address_2>
|
173 |
+
(?!\\s)
|
174 |
+
.*?
|
175 |
+
)
|
176 |
+
)?
|
177 |
+
# Addition to address 2
|
178 |
+
)
|
179 |
+
\\s*\\Z/x";
|
180 |
+
}
|
181 |
+
}
|
app/code/community/Netresearch/OPS/Helper/Alias.php
CHANGED
@@ -64,73 +64,43 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
64 |
return $payment;
|
65 |
}
|
66 |
|
67 |
-
/**
|
68 |
-
* get alias or generate a new one
|
69 |
-
*
|
70 |
-
* alias has length 16 and consists of quote creation date, a separator,
|
71 |
-
* and the quote id to make sure we have the full quote id we shorten
|
72 |
-
* the creation date accordingly
|
73 |
-
*
|
74 |
-
* @param Mage_Sales_Model_Quote $quote
|
75 |
-
*
|
76 |
-
* @return string
|
77 |
-
*/
|
78 |
-
public function getAlias($quote, $forceNew = false)
|
79 |
-
{
|
80 |
-
|
81 |
-
$alias = $quote->getPayment()->getAdditionalInformation('alias');
|
82 |
-
if (0 == strlen($alias) || $forceNew) {
|
83 |
-
/* turn createdAt into format MMDDHHii */
|
84 |
-
$createdAt = time();
|
85 |
-
$quoteId = $quote->getId();
|
86 |
-
/* shorten createdAt, if we would exceed maximum length */
|
87 |
-
$maxAliasLength = 16;
|
88 |
-
$separator = '99';
|
89 |
-
$maxCreatedAtLength
|
90 |
-
= $maxAliasLength - strlen($quoteId) - strlen($separator);
|
91 |
-
$alias = substr($createdAt, 0, $maxCreatedAtLength) . $separator
|
92 |
-
. $quoteId;
|
93 |
-
}
|
94 |
-
|
95 |
-
if ($this->isAdminSession() && !strpos($alias,'BE')) {
|
96 |
-
$alias = $alias.'BE';
|
97 |
-
}
|
98 |
-
return $alias;
|
99 |
-
}
|
100 |
-
|
101 |
/**
|
102 |
* saves the alias if customer is logged in (and want to create an alias)
|
103 |
*
|
104 |
-
* @param $
|
105 |
-
* @param Mage_Sales_Model_Quote $quote
|
106 |
*
|
107 |
* @return Netresearch_OPS_Model_Alias | null
|
108 |
*/
|
109 |
-
public function saveAlias($
|
110 |
{
|
111 |
$quote = null;
|
112 |
$aliasModel = null;
|
113 |
-
Mage::helper('ops')->log('aliasData ' . Zend_Json::encode(Mage::helper('ops/data')->clearMsg($
|
114 |
-
if (array_key_exists('Alias_OrderId', $
|
115 |
-
$quote = Mage::getModel('sales/quote')->load($
|
116 |
}
|
117 |
|
118 |
if ($quote instanceof Mage_Sales_Model_Quote
|
119 |
&& $quote->getPayment()
|
120 |
&& Mage::getSingleton('checkout/type_onepage')->getCheckoutMethod()
|
121 |
!= Mage_Checkout_Model_Type_Onepage::METHOD_GUEST
|
122 |
-
&& (array_key_exists('Alias_StorePermanently'
|
123 |
) {
|
124 |
|
125 |
// alias does not exist -> create a new one if requested
|
126 |
-
if (
|
127 |
// create new alias
|
128 |
-
$aliasModel = $this->
|
129 |
$quote->getPayment()->setAdditionalInformation(
|
130 |
'opsAliasId', $aliasModel->getId()
|
131 |
);
|
132 |
$quote->getPayment()->save();
|
133 |
}
|
|
|
|
|
|
|
|
|
|
|
134 |
}
|
135 |
|
136 |
return $aliasModel;
|
@@ -164,7 +134,7 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
164 |
}
|
165 |
}
|
166 |
|
167 |
-
protected function
|
168 |
{
|
169 |
$customerId = $quote->getCustomer()->getId();
|
170 |
$billingAddressHash = $this->generateAddressHash(
|
@@ -174,23 +144,67 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
174 |
$quote->getShippingAddress()
|
175 |
);
|
176 |
|
177 |
-
|
178 |
-
$
|
179 |
-
$
|
180 |
-
$
|
181 |
-
$
|
182 |
-
$
|
183 |
-
$
|
184 |
-
$
|
185 |
-
$
|
186 |
-
$
|
187 |
-
$
|
188 |
-
|
189 |
-
|
|
|
|
|
190 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
Mage::helper('ops')->log(
|
192 |
'saving alias' . Zend_Json::encode($aliasModel->getData())
|
193 |
);
|
|
|
|
|
194 |
$aliasModel->save();
|
195 |
|
196 |
return $aliasModel;
|
@@ -199,14 +213,11 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
199 |
/**
|
200 |
* generates hash from address data
|
201 |
*
|
202 |
-
* @param
|
203 |
*
|
204 |
* @returns string hash of address
|
205 |
*/
|
206 |
-
public function generateAddressHash(
|
207 |
-
Mage_Customer_Model_Address_Abstract $address
|
208 |
-
)
|
209 |
-
{
|
210 |
/** @var Netresearch_OPS_Helper_Payment $opsHelper */
|
211 |
$opsHelper = Mage::helper('ops/payment');
|
212 |
$addressString = $address->getFirstname();
|
@@ -241,7 +252,7 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
241 |
$billingAddressHash = null;
|
242 |
$shippingAddressHash = null;
|
243 |
$storeId = null;
|
244 |
-
if (
|
245 |
$billingAddressHash = $this->generateAddressHash(
|
246 |
$quote->getBillingAddress()
|
247 |
);
|
@@ -253,7 +264,7 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
253 |
return Mage::getModel('ops/alias')
|
254 |
->getAliasesForCustomer(
|
255 |
$customerId, $billingAddressHash, $shippingAddressHash, $storeId
|
256 |
-
|
257 |
}
|
258 |
|
259 |
/**
|
@@ -263,6 +274,7 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
263 |
* @param string $alias
|
264 |
* @param Mage_Sales_Model_Quote_Address $billingAddress
|
265 |
* @param Mage_Sales_Model_Quote_Address $shippingAddress
|
|
|
266 |
*
|
267 |
* @return boolean
|
268 |
*/
|
@@ -271,11 +283,11 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
271 |
)
|
272 |
{
|
273 |
$aliasCollection = $this->getAliasesForAddresses(
|
274 |
-
|
275 |
-
|
276 |
->addFieldToFilter('alias', $alias)
|
277 |
->setPageSize(1);
|
278 |
-
return (1 == $aliasCollection->
|
279 |
}
|
280 |
|
281 |
/**
|
@@ -284,6 +296,7 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
284 |
* @param int $customerId Id of customer
|
285 |
* @param Mage_Sales_Model_Quote_Address $billingAddress billing address
|
286 |
* @param Mage_Sales_Model_Quote_Address $shippingAddress shipping address
|
|
|
287 |
*
|
288 |
* @return Netresearch_OPS_Model_Mysql4_Alias_Collection
|
289 |
*/
|
@@ -334,7 +347,12 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
334 |
* @param boolean $userIsRegistering - is registering method in checkout
|
335 |
* @param boolean $paymentSave - is it necessary to save the payment afterwards
|
336 |
*/
|
337 |
-
public function setAliasToPayment(
|
|
|
|
|
|
|
|
|
|
|
338 |
{
|
339 |
if (array_key_exists('alias_aliasid', $aliasData) && 0 < strlen(trim($aliasData['alias_aliasid']))) {
|
340 |
$payment->setAdditionalInformation('alias', trim($aliasData['alias_aliasid']));
|
@@ -351,7 +369,7 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
351 |
}
|
352 |
|
353 |
$payment->setDataChanges(true);
|
354 |
-
if($paymentSave === true){
|
355 |
$payment->save();
|
356 |
}
|
357 |
} else {
|
@@ -373,7 +391,8 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
373 |
->addFieldToFilter('store_id', array(array('eq' => $quote->getStoreId()), array('null' => true)))
|
374 |
->getFirstItem();
|
375 |
// and if so update this alias with alias data from alias gateway
|
376 |
-
if (is_numeric($oldAlias->getId()) &&
|
|
|
377 |
) {
|
378 |
$oldAlias->setCardHolder($aliasData['Card_CardHolderName']);
|
379 |
$oldAlias->save();
|
@@ -382,27 +401,31 @@ class Netresearch_OPS_Helper_Alias extends Mage_Core_Helper_Abstract
|
|
382 |
|
383 |
/**
|
384 |
* set the last pending alias to active and remove other aliases for customer based on address
|
385 |
-
*
|
|
|
386 |
* @param Mage_Sales_Model_Quote $quote
|
|
|
|
|
387 |
*/
|
388 |
public function setAliasActive(
|
389 |
Mage_Sales_Model_Quote $quote,
|
390 |
Mage_Sales_Model_Order $order = null,
|
391 |
$saveSalesObjects = false
|
392 |
-
)
|
393 |
-
|
|
|
394 |
|| false == $quote->getPayment()->getAdditionalInformation('userIsRegistering')
|
395 |
) {
|
396 |
$aliasesToDelete = Mage::helper('ops/alias')->getAliasesForAddresses(
|
397 |
-
|
398 |
-
|
399 |
->addFieldToFilter('state', Netresearch_OPS_Model_Alias_State::ACTIVE);
|
400 |
$lastPendingAlias = Mage::helper('ops/alias')->getAliasesForAddresses(
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
->addFieldToFilter('alias', $quote->getPayment()->getAdditionalInformation('alias'))
|
407 |
->addFieldToFilter('state', Netresearch_OPS_Model_Alias_State::PENDING)
|
408 |
->setOrder('created_at', Varien_Data_Collection::SORT_ORDER_DESC)
|
64 |
return $payment;
|
65 |
}
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
/**
|
68 |
* saves the alias if customer is logged in (and want to create an alias)
|
69 |
*
|
70 |
+
* @param $params
|
|
|
71 |
*
|
72 |
* @return Netresearch_OPS_Model_Alias | null
|
73 |
*/
|
74 |
+
public function saveAlias($params)
|
75 |
{
|
76 |
$quote = null;
|
77 |
$aliasModel = null;
|
78 |
+
Mage::helper('ops')->log('aliasData ' . Zend_Json::encode(Mage::helper('ops/data')->clearMsg($params)));
|
79 |
+
if (array_key_exists('Alias_OrderId', $params) && is_numeric($params['Alias_OrderId'])) {
|
80 |
+
$quote = Mage::getModel('sales/quote')->load($params['Alias_OrderId']);
|
81 |
}
|
82 |
|
83 |
if ($quote instanceof Mage_Sales_Model_Quote
|
84 |
&& $quote->getPayment()
|
85 |
&& Mage::getSingleton('checkout/type_onepage')->getCheckoutMethod()
|
86 |
!= Mage_Checkout_Model_Type_Onepage::METHOD_GUEST
|
87 |
+
&& (array_key_exists('Alias_StorePermanently', $params) && 'Y' == $params['Alias_StorePermanently'])
|
88 |
) {
|
89 |
|
90 |
// alias does not exist -> create a new one if requested
|
91 |
+
if (null != $quote && $quote->getPayment()) {
|
92 |
// create new alias
|
93 |
+
$aliasModel = $this->saveNewAliasFromQuote($quote, $params);
|
94 |
$quote->getPayment()->setAdditionalInformation(
|
95 |
'opsAliasId', $aliasModel->getId()
|
96 |
);
|
97 |
$quote->getPayment()->save();
|
98 |
}
|
99 |
+
} elseif (array_key_exists('orderid', $params)) {
|
100 |
+
/** @var Mage_Sales_Model_Order $order */
|
101 |
+
$order = Mage::helper('ops/order')->getOrder($params['orderid']);
|
102 |
+
$aliasModel = $this->saveNewAliasFromOrder($order, $params);
|
103 |
+
$order->getPayment()->setAdditionalInformation('opsAliasId', $aliasModel->getId());
|
104 |
}
|
105 |
|
106 |
return $aliasModel;
|
134 |
}
|
135 |
}
|
136 |
|
137 |
+
protected function saveNewAliasFromQuote(Mage_Sales_Model_Quote $quote, $params)
|
138 |
{
|
139 |
$customerId = $quote->getCustomer()->getId();
|
140 |
$billingAddressHash = $this->generateAddressHash(
|
144 |
$quote->getShippingAddress()
|
145 |
);
|
146 |
|
147 |
+
|
148 |
+
$aliasData = array();
|
149 |
+
$aliasData['customer_id'] = $customerId;
|
150 |
+
$aliasData['alias'] = $params['Alias_AliasId'];
|
151 |
+
$aliasData['expiration_date'] = $params['Card_ExpiryDate'];
|
152 |
+
$aliasData['billing_address_hash'] = $billingAddressHash;
|
153 |
+
$aliasData['shipping_address_hash'] = $shippingAddressHash;
|
154 |
+
$aliasData['brand'] = $params['Card_Brand'];
|
155 |
+
$aliasData['payment_method'] = $quote->getPayment()->getMethod();
|
156 |
+
$aliasData['pseudo_account_or_cc_no'] = $params['Card_CardNumber'];
|
157 |
+
$aliasData['state'] = Netresearch_OPS_Model_Alias_State::PENDING;
|
158 |
+
$aliasData['store_id'] = $quote->getStoreId();
|
159 |
+
|
160 |
+
if (array_key_exists('Card_CardHolderName', $params)) {
|
161 |
+
$aliasData['card_holder'] = $params['Card_CardHolderName'];
|
162 |
}
|
163 |
+
|
164 |
+
$aliasModel = $this->persistAlias($aliasData);
|
165 |
+
|
166 |
+
return $aliasModel;
|
167 |
+
}
|
168 |
+
|
169 |
+
public function saveNewAliasFromOrder(Mage_Sales_Model_Order $order, $params)
|
170 |
+
{
|
171 |
+
$customerId = $order->getCustomerId();
|
172 |
+
$billingAddressHash = $this->generateAddressHash(
|
173 |
+
$order->getBillingAddress()
|
174 |
+
);
|
175 |
+
$shippingAddressHash = $this->generateAddressHash(
|
176 |
+
$order->getShippingAddress()
|
177 |
+
);
|
178 |
+
|
179 |
+
$aliasData = array();
|
180 |
+
$aliasData['customer_id'] = $customerId;
|
181 |
+
$aliasData['alias'] = $params['alias'];
|
182 |
+
$aliasData['expiration_date'] = $params['ed'];
|
183 |
+
$aliasData['billing_address_hash'] = $billingAddressHash;
|
184 |
+
$aliasData['shipping_address_hash'] = $shippingAddressHash;
|
185 |
+
$aliasData['brand'] = $params['brand'];
|
186 |
+
$aliasData['payment_method'] = $order->getPayment()->getMethod();
|
187 |
+
$aliasData['pseudo_account_or_cc_no'] = $params['cardno'];
|
188 |
+
$aliasData['state'] = Netresearch_OPS_Model_Alias_State::ACTIVE;
|
189 |
+
$aliasData['store_id'] = $order->getStoreId();
|
190 |
+
$aliasData['card_holder'] = $params['cn'];
|
191 |
+
|
192 |
+
$aliasModel = $this->persistAlias($aliasData);
|
193 |
+
|
194 |
+
return $aliasModel;
|
195 |
+
}
|
196 |
+
|
197 |
+
|
198 |
+
public function persistAlias(array $aliasParams)
|
199 |
+
{
|
200 |
+
/** @var Netresearch_OPS_Model_Alias $aliasModel */
|
201 |
+
$aliasModel = Mage::getModel('ops/alias')->load($aliasParams['alias'], 'alias');
|
202 |
+
|
203 |
Mage::helper('ops')->log(
|
204 |
'saving alias' . Zend_Json::encode($aliasModel->getData())
|
205 |
);
|
206 |
+
|
207 |
+
$aliasModel->addData($aliasParams);
|
208 |
$aliasModel->save();
|
209 |
|
210 |
return $aliasModel;
|
213 |
/**
|
214 |
* generates hash from address data
|
215 |
*
|
216 |
+
* @param Mage_Customer_Model_Address_Abstract $address the address data to hash
|
217 |
*
|
218 |
* @returns string hash of address
|
219 |
*/
|
220 |
+
public function generateAddressHash(Mage_Customer_Model_Address_Abstract $address) {
|
|
|
|
|
|
|
221 |
/** @var Netresearch_OPS_Helper_Payment $opsHelper */
|
222 |
$opsHelper = Mage::helper('ops/payment');
|
223 |
$addressString = $address->getFirstname();
|
252 |
$billingAddressHash = null;
|
253 |
$shippingAddressHash = null;
|
254 |
$storeId = null;
|
255 |
+
if (null !=($quote)) {
|
256 |
$billingAddressHash = $this->generateAddressHash(
|
257 |
$quote->getBillingAddress()
|
258 |
);
|
264 |
return Mage::getModel('ops/alias')
|
265 |
->getAliasesForCustomer(
|
266 |
$customerId, $billingAddressHash, $shippingAddressHash, $storeId
|
267 |
+
);
|
268 |
}
|
269 |
|
270 |
/**
|
274 |
* @param string $alias
|
275 |
* @param Mage_Sales_Model_Quote_Address $billingAddress
|
276 |
* @param Mage_Sales_Model_Quote_Address $shippingAddress
|
277 |
+
* @param int $storeId
|
278 |
*
|
279 |
* @return boolean
|
280 |
*/
|
283 |
)
|
284 |
{
|
285 |
$aliasCollection = $this->getAliasesForAddresses(
|
286 |
+
$customerId, $billingAddress, $shippingAddress, $storeId
|
287 |
+
)
|
288 |
->addFieldToFilter('alias', $alias)
|
289 |
->setPageSize(1);
|
290 |
+
return (1 == $aliasCollection->getSize());
|
291 |
}
|
292 |
|
293 |
/**
|
296 |
* @param int $customerId Id of customer
|
297 |
* @param Mage_Sales_Model_Quote_Address $billingAddress billing address
|
298 |
* @param Mage_Sales_Model_Quote_Address $shippingAddress shipping address
|
299 |
+
* @param int $storeId
|
300 |
*
|
301 |
* @return Netresearch_OPS_Model_Mysql4_Alias_Collection
|
302 |
*/
|
347 |
* @param boolean $userIsRegistering - is registering method in checkout
|
348 |
* @param boolean $paymentSave - is it necessary to save the payment afterwards
|
349 |
*/
|
350 |
+
public function setAliasToPayment(
|
351 |
+
Mage_Payment_Model_Info $payment,
|
352 |
+
array $aliasData,
|
353 |
+
$userIsRegistering = false,
|
354 |
+
$paymentSave = false
|
355 |
+
)
|
356 |
{
|
357 |
if (array_key_exists('alias_aliasid', $aliasData) && 0 < strlen(trim($aliasData['alias_aliasid']))) {
|
358 |
$payment->setAdditionalInformation('alias', trim($aliasData['alias_aliasid']));
|
369 |
}
|
370 |
|
371 |
$payment->setDataChanges(true);
|
372 |
+
if ($paymentSave === true) {
|
373 |
$payment->save();
|
374 |
}
|
375 |
} else {
|
391 |
->addFieldToFilter('store_id', array(array('eq' => $quote->getStoreId()), array('null' => true)))
|
392 |
->getFirstItem();
|
393 |
// and if so update this alias with alias data from alias gateway
|
394 |
+
if (is_numeric($oldAlias->getId()) && null === $oldAlias->getCardHolder()
|
395 |
+
&& array_key_exists('Card_CardHolderName', $aliasData)
|
396 |
) {
|
397 |
$oldAlias->setCardHolder($aliasData['Card_CardHolderName']);
|
398 |
$oldAlias->save();
|
401 |
|
402 |
/**
|
403 |
* set the last pending alias to active and remove other aliases for customer based on address
|
404 |
+
*
|
405 |
+
*
|
406 |
* @param Mage_Sales_Model_Quote $quote
|
407 |
+
* @param Mage_Sales_Model_Order|null $order
|
408 |
+
* @param bool $saveSalesObjects
|
409 |
*/
|
410 |
public function setAliasActive(
|
411 |
Mage_Sales_Model_Quote $quote,
|
412 |
Mage_Sales_Model_Order $order = null,
|
413 |
$saveSalesObjects = false
|
414 |
+
)
|
415 |
+
{
|
416 |
+
if (null === $quote->getPayment()->getAdditionalInformation('userIsRegistering')
|
417 |
|| false == $quote->getPayment()->getAdditionalInformation('userIsRegistering')
|
418 |
) {
|
419 |
$aliasesToDelete = Mage::helper('ops/alias')->getAliasesForAddresses(
|
420 |
+
$quote->getCustomer()->getId(), $quote->getBillingAddress(), $quote->getShippingAddress()
|
421 |
+
)
|
422 |
->addFieldToFilter('state', Netresearch_OPS_Model_Alias_State::ACTIVE);
|
423 |
$lastPendingAlias = Mage::helper('ops/alias')->getAliasesForAddresses(
|
424 |
+
$quote->getCustomer()->getId(),
|
425 |
+
$quote->getBillingAddress(),
|
426 |
+
$quote->getShippingAddress(),
|
427 |
+
$quote->getStoreId()
|
428 |
+
)
|
429 |
->addFieldToFilter('alias', $quote->getPayment()->getAdditionalInformation('alias'))
|
430 |
->addFieldToFilter('state', Netresearch_OPS_Model_Alias_State::PENDING)
|
431 |
->setOrder('created_at', Varien_Data_Collection::SORT_ORDER_DESC)
|
app/code/community/Netresearch/OPS/Helper/Api.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
12 |
{
|
13 |
|
14 |
-
|
15 |
|
16 |
|
17 |
/**
|
@@ -38,7 +38,7 @@ class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
|
38 |
}
|
39 |
|
40 |
// in case none of the cases above match then the status is not known
|
41 |
-
if (
|
42 |
Mage::throwException('invalid status provided');
|
43 |
}
|
44 |
|
@@ -51,9 +51,9 @@ class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
|
51 |
*
|
52 |
* @return Netresearch_OPS_Model_Config
|
53 |
*/
|
54 |
-
|
55 |
{
|
56 |
-
if (
|
57 |
$this->configModel = Mage::getModel('ops/config');
|
58 |
}
|
59 |
return $this->configModel;
|
@@ -66,9 +66,10 @@ class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
|
66 |
*
|
67 |
* @return bool - true if the status is known as accept status, false otherwise
|
68 |
*/
|
69 |
-
|
70 |
{
|
71 |
-
return in_array(
|
|
|
72 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT
|
73 |
)
|
74 |
);
|
@@ -81,9 +82,10 @@ class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
|
81 |
*
|
82 |
* @return bool - true if the status is known as canceled status, false otherwise
|
83 |
*/
|
84 |
-
|
85 |
{
|
86 |
-
return in_array(
|
|
|
87 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_CANCEL
|
88 |
)
|
89 |
);
|
@@ -96,9 +98,10 @@ class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
|
96 |
*
|
97 |
* @return bool - true if the status is known as declined status, false otherwise
|
98 |
*/
|
99 |
-
|
100 |
{
|
101 |
-
return in_array(
|
|
|
102 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE
|
103 |
)
|
104 |
);
|
@@ -111,9 +114,10 @@ class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
|
111 |
*
|
112 |
* @return bool - true if the status is known as exception status, false otherwise
|
113 |
*/
|
114 |
-
|
115 |
{
|
116 |
-
return in_array(
|
|
|
117 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_EXCEPTION
|
118 |
)
|
119 |
);
|
11 |
class Netresearch_OPS_Helper_Api extends Mage_Core_Helper_Abstract
|
12 |
{
|
13 |
|
14 |
+
protected $configModel = null;
|
15 |
|
16 |
|
17 |
/**
|
38 |
}
|
39 |
|
40 |
// in case none of the cases above match then the status is not known
|
41 |
+
if (null === $route) {
|
42 |
Mage::throwException('invalid status provided');
|
43 |
}
|
44 |
|
51 |
*
|
52 |
* @return Netresearch_OPS_Model_Config
|
53 |
*/
|
54 |
+
protected function getConfigModel()
|
55 |
{
|
56 |
+
if (null === $this->configModel) {
|
57 |
$this->configModel = Mage::getModel('ops/config');
|
58 |
}
|
59 |
return $this->configModel;
|
66 |
*
|
67 |
* @return bool - true if the status is known as accept status, false otherwise
|
68 |
*/
|
69 |
+
protected function isAcceptStatus($status)
|
70 |
{
|
71 |
+
return in_array(
|
72 |
+
$status, array(
|
73 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT
|
74 |
)
|
75 |
);
|
82 |
*
|
83 |
* @return bool - true if the status is known as canceled status, false otherwise
|
84 |
*/
|
85 |
+
protected function isCancelStatus($status)
|
86 |
{
|
87 |
+
return in_array(
|
88 |
+
$status, array(
|
89 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_CANCEL
|
90 |
)
|
91 |
);
|
98 |
*
|
99 |
* @return bool - true if the status is known as declined status, false otherwise
|
100 |
*/
|
101 |
+
protected function isDeclineStatus($status)
|
102 |
{
|
103 |
+
return in_array(
|
104 |
+
$status, array(
|
105 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE
|
106 |
)
|
107 |
);
|
114 |
*
|
115 |
* @return bool - true if the status is known as exception status, false otherwise
|
116 |
*/
|
117 |
+
protected function isExceptionStatus($status)
|
118 |
{
|
119 |
+
return in_array(
|
120 |
+
$status, array(
|
121 |
Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_EXCEPTION
|
122 |
)
|
123 |
);
|
app/code/community/Netresearch/OPS/Helper/Creditcard.php
CHANGED
@@ -33,10 +33,10 @@ class Netresearch_OPS_Helper_Creditcard extends Netresearch_OPS_Helper_Payment_D
|
|
33 |
}
|
34 |
|
35 |
|
36 |
-
|
37 |
/**
|
38 |
-
* @param $quote
|
39 |
-
* @param $requestParams
|
|
|
40 |
*/
|
41 |
public function handleAdminPayment(Mage_Sales_Model_Quote $quote, $requestParams)
|
42 |
{
|
@@ -46,13 +46,15 @@ class Netresearch_OPS_Helper_Creditcard extends Netresearch_OPS_Helper_Payment_D
|
|
46 |
protected function getPaymentSpecificParams(Mage_Sales_Model_Quote $quote)
|
47 |
{
|
48 |
$alias = $quote->getPayment()->getAdditionalInformation('alias');
|
49 |
-
if (
|
50 |
$alias = $this->getAliasHelper()->getAlias($quote);
|
51 |
}
|
|
|
52 |
$params = array (
|
53 |
-
'ALIAS' => $alias
|
|
|
54 |
);
|
55 |
-
if($this->getConfig()->getCreditDebitSplit($quote->getStoreId())){
|
56 |
$params['CREDITDEBIT'] = 'C';
|
57 |
}
|
58 |
if (is_numeric($quote->getPayment()->getAdditionalInformation('cvc'))) {
|
33 |
}
|
34 |
|
35 |
|
|
|
36 |
/**
|
37 |
+
* @param Mage_Sales_Model_Quote $quote
|
38 |
+
* @param array $requestParams
|
39 |
+
* @return $this
|
40 |
*/
|
41 |
public function handleAdminPayment(Mage_Sales_Model_Quote $quote, $requestParams)
|
42 |
{
|
46 |
protected function getPaymentSpecificParams(Mage_Sales_Model_Quote $quote)
|
47 |
{
|
48 |
$alias = $quote->getPayment()->getAdditionalInformation('alias');
|
49 |
+
if (null === $alias && $this->getDataHelper()->isAdminSession()) {
|
50 |
$alias = $this->getAliasHelper()->getAlias($quote);
|
51 |
}
|
52 |
+
$saveAlias = Mage::getModel('ops/alias')->load($alias, 'alias')->getId();
|
53 |
$params = array (
|
54 |
+
'ALIAS' => $alias,
|
55 |
+
'ALIASPERSISTEDAFTERUSE' => $saveAlias ? 'Y' : 'N',
|
56 |
);
|
57 |
+
if ($this->getConfig()->getCreditDebitSplit($quote->getStoreId())) {
|
58 |
$params['CREDITDEBIT'] = 'C';
|
59 |
}
|
60 |
if (is_numeric($quote->getPayment()->getAdditionalInformation('cvc'))) {
|
app/code/community/Netresearch/OPS/Helper/Data.php
CHANGED
@@ -29,7 +29,7 @@ class Netresearch_OPS_Helper_Data extends Mage_Core_Helper_Abstract
|
|
29 |
public function getModuleVersionString()
|
30 |
{
|
31 |
$version = Mage::getConfig()->getNode('modules/Netresearch_OPS/version');
|
32 |
-
$plainversion = preg_replace('/\.|[+-].+$/','', $version);
|
33 |
return 'IG1X' . $plainversion;
|
34 |
}
|
35 |
|
@@ -75,10 +75,10 @@ class Netresearch_OPS_Helper_Data extends Mage_Core_Helper_Abstract
|
|
75 |
}
|
76 |
}
|
77 |
if (is_string($message)) {
|
78 |
-
$message = preg_replace('/"CVC":".*"(,)/i',''
|
79 |
-
$message = preg_replace('/"CVC":".*"/i',''
|
80 |
-
$message = preg_replace('/"CVC".*"[A-Z]*";/',''
|
81 |
-
$message = preg_replace('/"CVC":".*"(})/i','}'
|
82 |
}
|
83 |
return $message;
|
84 |
}
|
@@ -87,7 +87,6 @@ class Netresearch_OPS_Helper_Data extends Mage_Core_Helper_Abstract
|
|
87 |
{
|
88 |
Mage::app()->getResponse()->setRedirect($url);
|
89 |
Mage::app()->getResponse()->sendResponse();
|
90 |
-
exit();
|
91 |
}
|
92 |
|
93 |
/**
|
29 |
public function getModuleVersionString()
|
30 |
{
|
31 |
$version = Mage::getConfig()->getNode('modules/Netresearch_OPS/version');
|
32 |
+
$plainversion = preg_replace('/\.|[+-].+$/', '', $version);
|
33 |
return 'IG1X' . $plainversion;
|
34 |
}
|
35 |
|
75 |
}
|
76 |
}
|
77 |
if (is_string($message)) {
|
78 |
+
$message = preg_replace('/"CVC":".*"(,)/i', '', $message);
|
79 |
+
$message = preg_replace('/"CVC":".*"/i', '', $message);
|
80 |
+
$message = preg_replace('/"CVC".*"[A-Z]*";/', '', $message);
|
81 |
+
$message = preg_replace('/"CVC":".*"(})/i', '}', $message);
|
82 |
}
|
83 |
return $message;
|
84 |
}
|
87 |
{
|
88 |
Mage::app()->getResponse()->setRedirect($url);
|
89 |
Mage::app()->getResponse()->sendResponse();
|
|
|
90 |
}
|
91 |
|
92 |
/**
|
app/code/community/Netresearch/OPS/Helper/Debitcard.php
CHANGED
@@ -13,7 +13,7 @@ class Netresearch_OPS_Helper_Debitcard extends Netresearch_OPS_Helper_Creditcard
|
|
13 |
protected function getPaymentSpecificParams(Mage_Sales_Model_Quote $quote)
|
14 |
{
|
15 |
$params = parent::getPaymentSpecificParams($quote);
|
16 |
-
if($this->getConfig()->getCreditDebitSplit($quote->getStoreId())){
|
17 |
$params['CREDITDEBIT'] = 'D';
|
18 |
}
|
19 |
return $params;
|
13 |
protected function getPaymentSpecificParams(Mage_Sales_Model_Quote $quote)
|
14 |
{
|
15 |
$params = parent::getPaymentSpecificParams($quote);
|
16 |
+
if ($this->getConfig()->getCreditDebitSplit($quote->getStoreId())) {
|
17 |
$params['CREDITDEBIT'] = 'D';
|
18 |
}
|
19 |
return $params;
|
app/code/community/Netresearch/OPS/Helper/DirectDebit.php
CHANGED
@@ -19,10 +19,6 @@ class Netresearch_OPS_Helper_DirectDebit extends Netresearch_OPS_Helper_Payment_
|
|
19 |
|
20 |
protected $customerHelper = null;
|
21 |
|
22 |
-
protected $validator = null;
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
|
27 |
/**
|
28 |
* sets the data helper
|
@@ -31,13 +27,13 @@ class Netresearch_OPS_Helper_DirectDebit extends Netresearch_OPS_Helper_Payment_
|
|
31 |
*/
|
32 |
public function setDataHelper(Netresearch_OPS_Helper_Data $dataHelper)
|
33 |
{
|
34 |
-
$this->dataHelper =
|
35 |
}
|
36 |
|
37 |
/**
|
38 |
* gets the data helper
|
39 |
*
|
40 |
-
* @return
|
41 |
*/
|
42 |
public function getDataHelper()
|
43 |
{
|
@@ -120,165 +116,6 @@ class Netresearch_OPS_Helper_DirectDebit extends Netresearch_OPS_Helper_Payment_
|
|
120 |
return $this->customerHelper;
|
121 |
}
|
122 |
|
123 |
-
|
124 |
-
/**
|
125 |
-
* sets the validator
|
126 |
-
*
|
127 |
-
* @param Netresearch_OPS_Model_Validator_Payment_DirectDebit $validator
|
128 |
-
*/
|
129 |
-
public function setValidator(
|
130 |
-
Netresearch_OPS_Model_Validator_Payment_DirectDebit $validator
|
131 |
-
)
|
132 |
-
{
|
133 |
-
$this->validator = $validator;
|
134 |
-
}
|
135 |
-
|
136 |
-
/**
|
137 |
-
* gets the validator
|
138 |
-
*
|
139 |
-
* @return Netresearch_OPS_Model_Validator_Payment_DirectDebit
|
140 |
-
*/
|
141 |
-
public function getValidator()
|
142 |
-
{
|
143 |
-
if (null === $this->validator) {
|
144 |
-
$this->validator = Mage::getModel(
|
145 |
-
'ops/validator_payment_directDebit'
|
146 |
-
);
|
147 |
-
}
|
148 |
-
|
149 |
-
return $this->validator;
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* gets the country from a given array
|
154 |
-
*
|
155 |
-
* @param array $params
|
156 |
-
*
|
157 |
-
* @return string - the country in uppercase, empty string if no country
|
158 |
-
* was provided
|
159 |
-
*/
|
160 |
-
public function getCountry(array $params)
|
161 |
-
{
|
162 |
-
$country = '';
|
163 |
-
if (array_key_exists('country', $params)) {
|
164 |
-
$country = strtoupper($params['country']);
|
165 |
-
}
|
166 |
-
|
167 |
-
return $country;
|
168 |
-
}
|
169 |
-
|
170 |
-
/**
|
171 |
-
* checks whether the given data has an iban field or not
|
172 |
-
*
|
173 |
-
* @param array $accountData
|
174 |
-
*
|
175 |
-
* @return bool - true if iban field is present and filled, false otherwise
|
176 |
-
*/
|
177 |
-
public function hasIban(array $accountData)
|
178 |
-
{
|
179 |
-
return array_key_exists('iban', $accountData)
|
180 |
-
&& 0 < strlen(trim($accountData['iban']));
|
181 |
-
}
|
182 |
-
|
183 |
-
/**
|
184 |
-
* sets the direct debit data to given payment
|
185 |
-
*
|
186 |
-
* @param Mage_Sales_Model_Quote_Payment $payment - the payment which
|
187 |
-
* should contain the
|
188 |
-
* additional data
|
189 |
-
* @param array $params -
|
190 |
-
*
|
191 |
-
* @return Mage_Sales_Model_Quote_Payment
|
192 |
-
*/
|
193 |
-
public function setDirectDebitDataToPayment(
|
194 |
-
Mage_Sales_Model_Quote_Payment $payment, array $params
|
195 |
-
)
|
196 |
-
{
|
197 |
-
$payment->setAdditionalInformation(
|
198 |
-
'PM', 'Direct Debits ' . $this->getCountry($params)
|
199 |
-
);
|
200 |
-
$this->setAccountHolder($payment, $params);
|
201 |
-
$this->setAccountData($payment, $params);
|
202 |
-
|
203 |
-
return $payment;
|
204 |
-
}
|
205 |
-
|
206 |
-
/**
|
207 |
-
* sets the account holder to given payment
|
208 |
-
*
|
209 |
-
* @param Mage_Sales_Model_Quote_Payment $payment
|
210 |
-
* @param array $params
|
211 |
-
*/
|
212 |
-
protected function setAccountHolder(
|
213 |
-
Mage_Sales_Model_Quote_Payment $payment, array $params
|
214 |
-
)
|
215 |
-
{
|
216 |
-
if (array_key_exists('CN', $params)
|
217 |
-
&& 0 < strlen(trim($params['CN']))
|
218 |
-
) {
|
219 |
-
$payment->setAdditionalInformation('CN', trim($params['CN']));
|
220 |
-
}
|
221 |
-
}
|
222 |
-
|
223 |
-
/**
|
224 |
-
* set the account data to given payment
|
225 |
-
*
|
226 |
-
* @param Mage_Sales_Model_Quote_Payment $payment
|
227 |
-
* @param array $params
|
228 |
-
*/
|
229 |
-
protected function setAccountData(
|
230 |
-
Mage_Sales_Model_Quote_Payment $payment, array $params
|
231 |
-
)
|
232 |
-
{
|
233 |
-
$country = $this->getCountry($params);
|
234 |
-
|
235 |
-
if ('DE' == $country || 'AT' == $country) {
|
236 |
-
if ($this->hasIban($params) && 'DE' == $country) {
|
237 |
-
$payment->setAdditionalInformation(
|
238 |
-
'CARDNO', trim($params['iban'])
|
239 |
-
);
|
240 |
-
} else {
|
241 |
-
$payment->setAdditionalInformation(
|
242 |
-
'CARDNO',
|
243 |
-
trim($params['account']) . 'BLZ' . trim($params['bankcode'])
|
244 |
-
);
|
245 |
-
}
|
246 |
-
|
247 |
-
|
248 |
-
}
|
249 |
-
if ('NL' == $country) {
|
250 |
-
if ($this->hasIban($params)) {
|
251 |
-
$payment->setAdditionalInformation(
|
252 |
-
'CARDNO', trim($params['iban'])
|
253 |
-
);
|
254 |
-
$payment->setAdditionalInformation('BIC', trim($params['bic']));
|
255 |
-
} else {
|
256 |
-
$payment->setAdditionalInformation(
|
257 |
-
'CARDNO', str_pad($params['account'], '0', STR_PAD_LEFT)
|
258 |
-
);
|
259 |
-
}
|
260 |
-
}
|
261 |
-
}
|
262 |
-
|
263 |
-
/**
|
264 |
-
* validates direct debit payment from the backend
|
265 |
-
*
|
266 |
-
* @param $requestParams - the params passed on order submission
|
267 |
-
* @throws Mage_Core_Exception - if the data is not valid
|
268 |
-
* @return boolean - true if data were valid
|
269 |
-
*/
|
270 |
-
protected function validateAdminDirectDebit($requestParams)
|
271 |
-
{
|
272 |
-
$validator = $this->getValidator();
|
273 |
-
if (false === $validator->isValid($requestParams)) {
|
274 |
-
Mage::getModel('adminhtml/session')->setData('ops_direct_debit_params', $requestParams);
|
275 |
-
Mage::throwException(
|
276 |
-
implode('<br />', $validator->getMessages())
|
277 |
-
);
|
278 |
-
}
|
279 |
-
return true;
|
280 |
-
}
|
281 |
-
|
282 |
/**
|
283 |
* @param Mage_Sales_Model_Quote $quote
|
284 |
* @param array $requestParams
|
@@ -286,30 +123,26 @@ class Netresearch_OPS_Helper_DirectDebit extends Netresearch_OPS_Helper_Payment_
|
|
286 |
*/
|
287 |
public function handleAdminPayment(Mage_Sales_Model_Quote $quote, $requestParams)
|
288 |
{
|
289 |
-
if ($this->getDataHelper()->isAdminSession() && is_array($requestParams)) {
|
290 |
-
$this->validateAdminDirectDebit($requestParams);
|
291 |
-
$this->setDirectDebitDataToPayment($quote->getPayment(), $requestParams);
|
292 |
-
$quote->getPayment()->save();
|
293 |
-
}
|
294 |
-
|
295 |
return $this;
|
296 |
}
|
297 |
|
|
|
|
|
|
|
|
|
|
|
298 |
protected function getPaymentSpecificParams(Mage_Sales_Model_Quote $quote)
|
299 |
{
|
300 |
-
$
|
301 |
-
$
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
'
|
306 |
-
'
|
|
|
|
|
307 |
);
|
308 |
-
if (0 < strlen(trim($quote->getPayment()->getAdditionalInformation('BIC')))) {
|
309 |
-
$bic = $quote->getPayment()->getAdditionalInformation('BIC');
|
310 |
-
$params['BIC'] = $bic;
|
311 |
-
}
|
312 |
-
$params['BRAND'] = $params['PM'];
|
313 |
|
314 |
return $params;
|
315 |
}
|
19 |
|
20 |
protected $customerHelper = null;
|
21 |
|
|
|
|
|
|
|
|
|
22 |
|
23 |
/**
|
24 |
* sets the data helper
|
27 |
*/
|
28 |
public function setDataHelper(Netresearch_OPS_Helper_Data $dataHelper)
|
29 |
{
|
30 |
+
$this->dataHelper = Mage::helper('ops/data');
|
31 |
}
|
32 |
|
33 |
/**
|
34 |
* gets the data helper
|
35 |
*
|
36 |
+
* @return Netresearch_OPS_Helper_Data
|
37 |
*/
|
38 |
public function getDataHelper()
|
39 |
{
|
116 |
return $this->customerHelper;
|
117 |
}
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
/**
|
120 |
* @param Mage_Sales_Model_Quote $quote
|
121 |
* @param array $requestParams
|
123 |
*/
|
124 |
public function handleAdminPayment(Mage_Sales_Model_Quote $quote, $requestParams)
|
125 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
return $this;
|
127 |
}
|
128 |
|
129 |
+
|
130 |
+
/**
|
131 |
+
* @param Mage_Sales_Model_Quote $quote
|
132 |
+
* @return array
|
133 |
+
*/
|
134 |
protected function getPaymentSpecificParams(Mage_Sales_Model_Quote $quote)
|
135 |
{
|
136 |
+
$alias = $quote->getPayment()->getAdditionalInformation('alias');
|
137 |
+
$saveAlias = Mage::getModel('ops/alias')->load($alias, 'alias')->getId();
|
138 |
+
|
139 |
+
$paymentMethod = 'Direct Debits ' . $quote->getPayment()->getAdditionalInformation('country_id');
|
140 |
+
$params = array (
|
141 |
+
'ALIAS' => $alias,
|
142 |
+
'ALIASPERSISTEDAFTERUSE' => $saveAlias ? 'Y' : 'N',
|
143 |
+
'PM' => $paymentMethod,
|
144 |
+
'BRAND' => $paymentMethod
|
145 |
);
|
|
|
|
|
|
|
|
|
|
|
146 |
|
147 |
return $params;
|
148 |
}
|
app/code/community/Netresearch/OPS/Helper/Directlink.php
CHANGED
@@ -26,7 +26,6 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
26 |
{
|
27 |
$payment = $order->getPayment();
|
28 |
$payment->setTransactionId($transactionID."/".$subPayID);
|
29 |
-
// $transaction = $payment->addTransaction($typename, null, false, $comment);
|
30 |
$payment->setParentTransactionId($transactionID);
|
31 |
$payment->setIsTransactionClosed($closed);
|
32 |
$payment->setTransactionAdditionalInfo($arrInformation, null);
|
@@ -105,8 +104,6 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
105 |
{
|
106 |
Mage::getModel('ops/response_handler')->processResponse($params, $order->getPayment()->getMethodInstance());
|
107 |
$order->getPayment()->save();
|
108 |
-
|
109 |
-
return;
|
110 |
}
|
111 |
|
112 |
/**
|
@@ -132,19 +129,19 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
132 |
$transactionCollection->addAttributeToFilter('parent_txn_id', $payId);
|
133 |
}
|
134 |
|
135 |
-
if ($transactionCollection->
|
136 |
$errorMsq = $helper->__(
|
137 |
"Warning, transaction count is %s instead of 1 for the Payid '%s', order '%s' and Operation '%s'.",
|
138 |
-
$transactionCollection->
|
139 |
$payId,
|
140 |
$order->getId(),
|
141 |
$operation
|
142 |
);
|
143 |
$helper->log($errorMsq);
|
144 |
-
|
145 |
}
|
146 |
|
147 |
-
if ($transactionCollection->
|
148 |
$transaction = $transactionCollection->getLastItem();
|
149 |
$transaction->setOrderPaymentObject($order->getPayment());
|
150 |
return $transaction;
|
@@ -168,7 +165,7 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
168 |
->addAttributeToFilter('is_closed', 0)
|
169 |
->addAttributeToFilter('order_id', $order->getId());
|
170 |
|
171 |
-
return (0 < $transactionCollection->
|
172 |
}
|
173 |
|
174 |
/**
|
@@ -181,7 +178,9 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
181 |
{
|
182 |
// Avoid quotes added somewhere unknown
|
183 |
if (preg_match("/^[\"']([0-9-\..,-]+)[\"']$/i", $amount, $matches)) {
|
184 |
-
Mage::helper('ops')->log(
|
|
|
|
|
185 |
$amount = $matches[1];
|
186 |
}
|
187 |
|
@@ -197,7 +196,11 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
197 |
*
|
198 |
* @return boolean
|
199 |
*/
|
200 |
-
public function isValidOpsRequest(
|
|
|
|
|
|
|
|
|
201 |
{
|
202 |
if ($this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_DELETE_TRANSACTION_TYPE) {
|
203 |
return false;
|
@@ -210,13 +213,10 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
210 |
|
211 |
/* find expected amount */
|
212 |
$expectedAmount = null;
|
213 |
-
if (
|
214 |
$transactionInfo = unserialize($openTransaction->getAdditionalInformation('arrInfo'));
|
215 |
if (array_key_exists('amount', $transactionInfo)) {
|
216 |
-
if (
|
217 |
-
is_null($expectedAmount)
|
218 |
-
|| $transactionInfo['amount'] == $requestedAmount
|
219 |
-
) {
|
220 |
$expectedAmount = $this->formatAmount($transactionInfo['amount']);
|
221 |
}
|
222 |
}
|
@@ -225,24 +225,19 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
225 |
if ($this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_TRANSACTION_TYPE
|
226 |
|| $this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_VOID_TRANSACTION_TYPE
|
227 |
) {
|
228 |
-
if (
|
229 |
-
|| 0 == count($openTransaction)
|
230 |
-
|| $requestedAmount != $expectedAmount
|
231 |
-
) {
|
232 |
return false;
|
233 |
}
|
234 |
}
|
235 |
|
236 |
if ($this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_TRANSACTION_TYPE) {
|
237 |
-
if (
|
238 |
Mage::helper('ops')->log('Please configure Ingenico ePayments to submit amount');
|
239 |
return false;
|
240 |
}
|
241 |
$grandTotal = $this->formatAmount(Mage::helper('ops/payment')->getBaseGrandTotalFromSalesObject($order));
|
242 |
if ($grandTotal != $requestedAmount) {
|
243 |
-
if (
|
244 |
-
|| $expectedAmount != $requestedAmount
|
245 |
-
) {
|
246 |
return false;
|
247 |
}
|
248 |
}
|
@@ -257,12 +252,11 @@ class Netresearch_OPS_Helper_Directlink extends Mage_Core_Helper_Abstract
|
|
257 |
/**
|
258 |
* allow null as valid state for creating the order with status 'pending'
|
259 |
*/
|
260 |
-
if (
|
261 |
-
&& Mage::helper('ops/payment')->isPaymentFailed($response['STATUS'])
|
262 |
-
) {
|
263 |
Mage::getSingleton('checkout/type_onepage')->getCheckout()->setGotoSection('payment');
|
264 |
-
|
265 |
}
|
|
|
266 |
return $response;
|
267 |
}
|
268 |
}
|
26 |
{
|
27 |
$payment = $order->getPayment();
|
28 |
$payment->setTransactionId($transactionID."/".$subPayID);
|
|
|
29 |
$payment->setParentTransactionId($transactionID);
|
30 |
$payment->setIsTransactionClosed($closed);
|
31 |
$payment->setTransactionAdditionalInfo($arrInformation, null);
|
104 |
{
|
105 |
Mage::getModel('ops/response_handler')->processResponse($params, $order->getPayment()->getMethodInstance());
|
106 |
$order->getPayment()->save();
|
|
|
|
|
107 |
}
|
108 |
|
109 |
/**
|
129 |
$transactionCollection->addAttributeToFilter('parent_txn_id', $payId);
|
130 |
}
|
131 |
|
132 |
+
if ($transactionCollection->getSize()>1 || $transactionCollection->getSize() == 0) {
|
133 |
$errorMsq = $helper->__(
|
134 |
"Warning, transaction count is %s instead of 1 for the Payid '%s', order '%s' and Operation '%s'.",
|
135 |
+
$transactionCollection->getSize(),
|
136 |
$payId,
|
137 |
$order->getId(),
|
138 |
$operation
|
139 |
);
|
140 |
$helper->log($errorMsq);
|
141 |
+
Mage::throwException($errorMsq);
|
142 |
}
|
143 |
|
144 |
+
if ($transactionCollection->getSize() == 1) {
|
145 |
$transaction = $transactionCollection->getLastItem();
|
146 |
$transaction->setOrderPaymentObject($order->getPayment());
|
147 |
return $transaction;
|
165 |
->addAttributeToFilter('is_closed', 0)
|
166 |
->addAttributeToFilter('order_id', $order->getId());
|
167 |
|
168 |
+
return (0 < $transactionCollection->getSize());
|
169 |
}
|
170 |
|
171 |
/**
|
178 |
{
|
179 |
// Avoid quotes added somewhere unknown
|
180 |
if (preg_match("/^[\"']([0-9-\..,-]+)[\"']$/i", $amount, $matches)) {
|
181 |
+
Mage::helper('ops')->log(
|
182 |
+
"Warning in formatAmount: Found quotes around amount in '" . var_export($amount, true) . "'"
|
183 |
+
);
|
184 |
$amount = $matches[1];
|
185 |
}
|
186 |
|
196 |
*
|
197 |
* @return boolean
|
198 |
*/
|
199 |
+
public function isValidOpsRequest(
|
200 |
+
$openTransaction,
|
201 |
+
Mage_Sales_Model_Order $order,
|
202 |
+
$opsRequestParams
|
203 |
+
)
|
204 |
{
|
205 |
if ($this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_DELETE_TRANSACTION_TYPE) {
|
206 |
return false;
|
213 |
|
214 |
/* find expected amount */
|
215 |
$expectedAmount = null;
|
216 |
+
if (null !== $openTransaction) {
|
217 |
$transactionInfo = unserialize($openTransaction->getAdditionalInformation('arrInfo'));
|
218 |
if (array_key_exists('amount', $transactionInfo)) {
|
219 |
+
if (null === $expectedAmount || $transactionInfo['amount'] == $requestedAmount) {
|
|
|
|
|
|
|
220 |
$expectedAmount = $this->formatAmount($transactionInfo['amount']);
|
221 |
}
|
222 |
}
|
225 |
if ($this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_TRANSACTION_TYPE
|
226 |
|| $this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_VOID_TRANSACTION_TYPE
|
227 |
) {
|
228 |
+
if (null === $requestedAmount || 0 == count($openTransaction) || $requestedAmount != $expectedAmount) {
|
|
|
|
|
|
|
229 |
return false;
|
230 |
}
|
231 |
}
|
232 |
|
233 |
if ($this->getTypeForStatus($opsRequestParams['STATUS']) == Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_TRANSACTION_TYPE) {
|
234 |
+
if (null === $requestedAmount) {
|
235 |
Mage::helper('ops')->log('Please configure Ingenico ePayments to submit amount');
|
236 |
return false;
|
237 |
}
|
238 |
$grandTotal = $this->formatAmount(Mage::helper('ops/payment')->getBaseGrandTotalFromSalesObject($order));
|
239 |
if ($grandTotal != $requestedAmount) {
|
240 |
+
if (null === $openTransaction || $expectedAmount != $requestedAmount) {
|
|
|
|
|
241 |
return false;
|
242 |
}
|
243 |
}
|
252 |
/**
|
253 |
* allow null as valid state for creating the order with status 'pending'
|
254 |
*/
|
255 |
+
if (null != $response['STATUS'] && Mage::helper('ops/payment')->isPaymentFailed($response['STATUS'])) {
|
|
|
|
|
256 |
Mage::getSingleton('checkout/type_onepage')->getCheckout()->setGotoSection('payment');
|
257 |
+
Mage::throwException(Mage::helper('ops/data')->__('Ingenico ePayments Payment failed'));
|
258 |
}
|
259 |
+
|
260 |
return $response;
|
261 |
}
|
262 |
}
|
app/code/community/Netresearch/OPS/Helper/Kwixo.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
12 |
{
|
13 |
|
14 |
-
|
15 |
|
16 |
protected function getHelper()
|
17 |
{
|
@@ -59,13 +59,9 @@ class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
|
59 |
);
|
60 |
$subcategories = $category->getAllChildren(true);
|
61 |
foreach ($subcategories as $subcategory) {
|
62 |
-
$kwixoCatMapModel = Mage::getModel(
|
63 |
-
'ops/kwixo_category_mapping'
|
64 |
-
)->loadByCategoryId($subcategory);
|
65 |
$kwixoCatMapModel->setCategoryId($subcategory);
|
66 |
-
$kwixoCatMapModel->setKwixoCategoryId(
|
67 |
-
$postData['kwixoCategory_id']
|
68 |
-
);
|
69 |
$kwixoCatMapModel->save();
|
70 |
}
|
71 |
}
|
@@ -85,7 +81,7 @@ class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
|
85 |
*
|
86 |
* @throws Mage_Core_Exception - if the structure does not match
|
87 |
*/
|
88 |
-
|
89 |
{
|
90 |
$helper = $this->getHelper();
|
91 |
$isValid = true;
|
@@ -122,7 +118,7 @@ class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
|
122 |
* information
|
123 |
*
|
124 |
*/
|
125 |
-
|
126 |
{
|
127 |
$helper = $this->getHelper();
|
128 |
$kwixoCategories = Mage::getModel('ops/source_kwixo_productCategories')
|
@@ -145,7 +141,7 @@ class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
|
145 |
*
|
146 |
* @throws Mage_Core_Exception - if an invalid setting is given
|
147 |
*/
|
148 |
-
|
149 |
{
|
150 |
$helper = $this->getHelper();
|
151 |
$isValid = true;
|
@@ -157,11 +153,7 @@ class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
|
157 |
}
|
158 |
if ($isValid
|
159 |
&& (!is_numeric($postData['category_id'])
|
160 |
-
|
161 |
-
Mage::getModel('catalog/category')->load(
|
162 |
-
$postData['category_id']
|
163 |
-
)->getId()
|
164 |
-
))
|
165 |
) {
|
166 |
$isValid = false;
|
167 |
$message = $helper->__('Invalid category provided');
|
11 |
class Netresearch_OPS_Helper_Kwixo extends Mage_Core_Helper_Abstract
|
12 |
{
|
13 |
|
14 |
+
protected $helper = null;
|
15 |
|
16 |
protected function getHelper()
|
17 |
{
|
59 |
);
|
60 |
$subcategories = $category->getAllChildren(true);
|
61 |
foreach ($subcategories as $subcategory) {
|
62 |
+
$kwixoCatMapModel = Mage::getModel('ops/kwixo_category_mapping')->loadByCategoryId($subcategory);
|
|
|
|
|
63 |
$kwixoCatMapModel->setCategoryId($subcategory);
|
64 |
+
$kwixoCatMapModel->setKwixoCategoryId($postData['kwixoCategory_id']);
|
|
|
|
|
65 |
$kwixoCatMapModel->save();
|
66 |
}
|
67 |
}
|
81 |
*
|
82 |
* @throws Mage_Core_Exception - if the structure does not match
|
83 |
*/
|
84 |
+
protected function validateKwixoConfigurationData(array $postData)
|
85 |
{
|
86 |
$helper = $this->getHelper();
|
87 |
$isValid = true;
|
118 |
* information
|
119 |
*
|
120 |
*/
|
121 |
+
protected function validateKwixoMappingExist(array $postData)
|
122 |
{
|
123 |
$helper = $this->getHelper();
|
124 |
$kwixoCategories = Mage::getModel('ops/source_kwixo_productCategories')
|
141 |
*
|
142 |
* @throws Mage_Core_Exception - if an invalid setting is given
|
143 |
*/
|
144 |
+
protected function validateCategoryExist(array $postData)
|
145 |
{
|
146 |
$helper = $this->getHelper();
|
147 |
$isValid = true;
|
153 |
}
|
154 |
if ($isValid
|
155 |
&& (!is_numeric($postData['category_id'])
|
156 |
+
|| null === Mage::getModel('catalog/category')->load($postData['category_id'])->getId())
|
|
|
|
|
|
|
|
|
157 |
) {
|
158 |
$isValid = false;
|
159 |
$message = $helper->__('Invalid category provided');
|
app/code/community/Netresearch/OPS/Helper/MobileDetect.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS_Helper_MobileDetect
|
4 |
+
*
|
5 |
+
* @package
|
6 |
+
* @copyright 2016 Netresearch
|
7 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
8 |
+
* @license OSL 3.0
|
9 |
+
*/
|
10 |
+
require_once Mage::getBaseDir('lib') . DS . 'MobileDetect' .DS. 'Mobile_Detect.php';
|
11 |
+
|
12 |
+
class Netresearch_OPS_Helper_MobileDetect extends Mage_Core_Helper_Abstract
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* Computer device type string
|
16 |
+
*/
|
17 |
+
const DEVICE_TYPE_COMPUTER = 'Computer';
|
18 |
+
/**
|
19 |
+
* mobile device type string
|
20 |
+
*/
|
21 |
+
const DEVICE_TYPE_MOBILE = 'Mobile';
|
22 |
+
/**
|
23 |
+
* tablet device type string
|
24 |
+
*/
|
25 |
+
const DEVICE_TYPE_TABLET = 'Tablet';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var Mobile_Detect
|
29 |
+
*/
|
30 |
+
private $_detector = null;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* create class instance
|
34 |
+
*
|
35 |
+
* Netresearch_OPS_Helper_MobileDetect constructor.
|
36 |
+
* @param null $headers
|
37 |
+
* @param null $userAgent
|
38 |
+
* @param null $detector
|
39 |
+
*/
|
40 |
+
public function __construct()
|
41 |
+
{
|
42 |
+
$this->_detector = new Mobile_Detect();
|
43 |
+
}
|
44 |
+
|
45 |
+
public function setDetector($detector)
|
46 |
+
{
|
47 |
+
$this->_detector = $detector;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* determine device type with help of mobile_detect lib and return it
|
52 |
+
*
|
53 |
+
* @return string
|
54 |
+
*/
|
55 |
+
public function getDeviceType()
|
56 |
+
{
|
57 |
+
$deviceType = self::DEVICE_TYPE_COMPUTER;
|
58 |
+
if ($this->_detector->isMobile()) {
|
59 |
+
$deviceType = self::DEVICE_TYPE_MOBILE;
|
60 |
+
}
|
61 |
+
|
62 |
+
if ($this->_detector->isTablet()) {
|
63 |
+
$deviceType = self::DEVICE_TYPE_TABLET;
|
64 |
+
}
|
65 |
+
|
66 |
+
return $deviceType;
|
67 |
+
}
|
68 |
+
}
|
app/code/community/Netresearch/OPS/Helper/Order.php
CHANGED
@@ -14,7 +14,7 @@ class Netresearch_OPS_Helper_Order extends Mage_Core_Helper_Abstract
|
|
14 |
const DELIMITER = '#';
|
15 |
|
16 |
/** @var $config Netresearch_OPS_Model_Config */
|
17 |
-
|
18 |
|
19 |
protected $statusMappingModel = null;
|
20 |
|
@@ -48,7 +48,7 @@ class Netresearch_OPS_Helper_Order extends Mage_Core_Helper_Abstract
|
|
48 |
*/
|
49 |
protected function getConfig()
|
50 |
{
|
51 |
-
if (
|
52 |
$this->config = Mage::getModel('ops/config');
|
53 |
}
|
54 |
|
@@ -113,7 +113,6 @@ class Netresearch_OPS_Helper_Order extends Mage_Core_Helper_Abstract
|
|
113 |
$fieldToFilter = 'increment_id';
|
114 |
}
|
115 |
|
116 |
-
|
117 |
/* @var $order Mage_Sales_Model_Resource_Order_Collection */
|
118 |
$order = Mage::getModel('sales/order')->getCollection()
|
119 |
->addFieldToFilter($fieldToFilter, $opsOrderId)
|
14 |
const DELIMITER = '#';
|
15 |
|
16 |
/** @var $config Netresearch_OPS_Model_Config */
|
17 |
+
protected $config = null;
|
18 |
|
19 |
protected $statusMappingModel = null;
|
20 |
|
48 |
*/
|
49 |
protected function getConfig()
|
50 |
{
|
51 |
+
if (null === $this->config) {
|
52 |
$this->config = Mage::getModel('ops/config');
|
53 |
}
|
54 |
|
113 |
$fieldToFilter = 'increment_id';
|
114 |
}
|
115 |
|
|
|
116 |
/* @var $order Mage_Sales_Model_Resource_Order_Collection */
|
117 |
$order = Mage::getModel('sales/order')->getCollection()
|
118 |
->addFieldToFilter($fieldToFilter, $opsOrderId)
|
app/code/community/Netresearch/OPS/Helper/Order/Refund.php
CHANGED
@@ -32,6 +32,7 @@ class Netresearch_OPS_Helper_Order_Refund extends Netresearch_OPS_Helper_Order_A
|
|
32 |
|
33 |
/**
|
34 |
* @param Varien_Object $payment
|
|
|
35 |
*/
|
36 |
public function setPayment(Varien_Object $payment)
|
37 |
{
|
@@ -41,7 +42,8 @@ class Netresearch_OPS_Helper_Order_Refund extends Netresearch_OPS_Helper_Order_A
|
|
41 |
}
|
42 |
|
43 |
/**
|
44 |
-
* @param
|
|
|
45 |
*/
|
46 |
public function setAmount($amount)
|
47 |
{
|
@@ -94,8 +96,9 @@ class Netresearch_OPS_Helper_Order_Refund extends Netresearch_OPS_Helper_Order_A
|
|
94 |
}
|
95 |
|
96 |
/**
|
97 |
-
* @param
|
98 |
-
* @param
|
|
|
99 |
*/
|
100 |
public function prepareOperation($payment, $amount)
|
101 |
{
|
@@ -124,7 +127,8 @@ class Netresearch_OPS_Helper_Order_Refund extends Netresearch_OPS_Helper_Order_A
|
|
124 |
*
|
125 |
* @return Mage_Sales_Model_Order_Payment_Transaction|null
|
126 |
*/
|
127 |
-
public function getOpenRefundTransaction($payment)
|
|
|
128 |
/** @var Mage_Sales_Model_Resource_Order_Payment_Transaction_Collection $refundTransactions */
|
129 |
$refundTransactions = Mage::getModel('sales/order_payment_transaction')->getCollection();
|
130 |
$transaction = $refundTransactions->addPaymentIdFilter($payment->getId())
|
32 |
|
33 |
/**
|
34 |
* @param Varien_Object $payment
|
35 |
+
* @return $this
|
36 |
*/
|
37 |
public function setPayment(Varien_Object $payment)
|
38 |
{
|
42 |
}
|
43 |
|
44 |
/**
|
45 |
+
* @param $amount
|
46 |
+
* @return $this
|
47 |
*/
|
48 |
public function setAmount($amount)
|
49 |
{
|
96 |
}
|
97 |
|
98 |
/**
|
99 |
+
* @param $payment
|
100 |
+
* @param $amount
|
101 |
+
* @return mixed
|
102 |
*/
|
103 |
public function prepareOperation($payment, $amount)
|
104 |
{
|
127 |
*
|
128 |
* @return Mage_Sales_Model_Order_Payment_Transaction|null
|
129 |
*/
|
130 |
+
public function getOpenRefundTransaction($payment)
|
131 |
+
{
|
132 |
/** @var Mage_Sales_Model_Resource_Order_Payment_Transaction_Collection $refundTransactions */
|
133 |
$refundTransactions = Mage::getModel('sales/order_payment_transaction')->getCollection();
|
134 |
$transaction = $refundTransactions->addPaymentIdFilter($payment->getId())
|
app/code/community/Netresearch/OPS/Helper/Payment.php
CHANGED
@@ -71,7 +71,7 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
71 |
* Check hash crypted by SHA1 with existing data
|
72 |
*
|
73 |
* @param array $data
|
74 |
-
* @param string $
|
75 |
* @param string $key
|
76 |
*
|
77 |
* @return bool
|
@@ -97,7 +97,7 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
97 |
}
|
98 |
}
|
99 |
|
100 |
-
|
101 |
{
|
102 |
$helper = Mage::helper('ops');
|
103 |
$helper->log(
|
@@ -120,8 +120,8 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
120 |
/**
|
121 |
* Return set of data which is ready for SHA crypt
|
122 |
*
|
123 |
-
* @param array $
|
124 |
-
* @param string $
|
125 |
*
|
126 |
* @return string
|
127 |
*/
|
@@ -130,7 +130,7 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
130 |
$params = $this->prepareParamsAndSort($params);
|
131 |
$plainHashString = "";
|
132 |
foreach ($params as $paramSet):
|
133 |
-
if ($paramSet['value'] == '' || $paramSet['key'] == 'SHASIGN') {
|
134 |
continue;
|
135 |
}
|
136 |
$plainHashString .= strtoupper($paramSet['key']) . "=" . $paramSet['value'] . $SHAkey;
|
@@ -177,14 +177,14 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
177 |
*/
|
178 |
public function getSHASign($formFields, $shaCode = null, $storeId = null)
|
179 |
{
|
180 |
-
if (
|
181 |
$shaCode = Mage::getModel('ops/config')->getShaOutCode($storeId);
|
182 |
}
|
183 |
$formFields = array_change_key_case($formFields, CASE_UPPER);
|
184 |
uksort($formFields, 'strnatcasecmp');
|
185 |
$plainHashString = '';
|
186 |
foreach ($formFields as $formKey => $formVal) {
|
187 |
-
if (
|
188 |
continue;
|
189 |
}
|
190 |
$plainHashString .= strtoupper($formKey) . '=' . $formVal . $shaCode;
|
@@ -193,13 +193,35 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
193 |
return $plainHashString;
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
/**
|
197 |
* We get some CC info from ops, so we must save it
|
198 |
*
|
199 |
* @param Mage_Sales_Model_Order $order
|
200 |
* @param array $ccInfo
|
201 |
*
|
202 |
-
* @return
|
203 |
*/
|
204 |
public function _prepareCCInfo($order, $ccInfo)
|
205 |
{
|
@@ -287,7 +309,6 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
287 |
case Netresearch_OPS_Model_Status::AUTHORIZED:
|
288 |
case Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT:
|
289 |
case Netresearch_OPS_Model_Status::AUTHORIZATION_WAITING:
|
290 |
-
case Netresearch_OPS_Model_Status::AUTHORIZED_UNKNOWN:
|
291 |
case Netresearch_OPS_Model_Status::WAITING_CLIENT_PAYMENT:
|
292 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT;
|
293 |
break;
|
@@ -298,7 +319,6 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
298 |
break;
|
299 |
case Netresearch_OPS_Model_Status::AUTHORISATION_DECLINED:
|
300 |
case Netresearch_OPS_Model_Status::PAYMENT_REFUSED:
|
301 |
-
// $this->declineOrder($order, $params);
|
302 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE;
|
303 |
break;
|
304 |
case Netresearch_OPS_Model_Status::CANCELED_BY_CUSTOMER:
|
@@ -306,7 +326,6 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
306 |
break;
|
307 |
default:
|
308 |
//all unknown transaction will accept as exceptional
|
309 |
-
// $this->handleException($order, $params);
|
310 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_EXCEPTION;
|
311 |
}
|
312 |
|
@@ -316,8 +335,11 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
316 |
/**
|
317 |
* Process success action by accept url
|
318 |
*
|
319 |
-
*
|
320 |
-
* @param
|
|
|
|
|
|
|
321 |
*/
|
322 |
public function acceptOrder($order, $params, $instantCapture = 0)
|
323 |
{
|
@@ -365,7 +387,8 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
365 |
* so capture or cancel won't work. So we need to create a new authorization transaction for them
|
366 |
* when a payment was accepted by Ingenico ePayments
|
367 |
*
|
368 |
-
* In exception-case we create the authorization-transaction too
|
|
|
369 |
*/
|
370 |
if (('accept' === $action || 'exception' === $action)
|
371 |
&& in_array($code, array('ops_cc', 'ops_directDebit'))
|
@@ -433,142 +456,15 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
433 |
$payment->setAdditionalInformation('additionalScoringData', $additionalScoringData);
|
434 |
}
|
435 |
|
436 |
-
/**
|
437 |
-
* Process cancel action by cancel url
|
438 |
-
*
|
439 |
-
* @param Mage_Sales_Model_Order $order Order
|
440 |
-
* @param string[] $params Request params
|
441 |
-
* @param string $status Order status
|
442 |
-
* @param string $comment Order comment
|
443 |
-
* @throws Exception
|
444 |
-
* @deprecated
|
445 |
-
*/
|
446 |
-
public function cancelOrder($order, $params, $status, $comment)
|
447 |
-
{
|
448 |
-
//@TODO: remove obsolete function
|
449 |
-
|
450 |
-
try {
|
451 |
-
Mage::register('ops_auto_void', true); //Set this session value to true to allow cancel
|
452 |
-
$this->cancelInvoices($order);
|
453 |
-
$order->cancel();
|
454 |
-
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, $status, $comment);
|
455 |
-
$order->save();
|
456 |
-
|
457 |
-
try {
|
458 |
-
$this->setPaymentTransactionInformation($order->getPayment(), $params, 'cancel');
|
459 |
-
} catch (Exception $e) {
|
460 |
-
// just ignore that
|
461 |
-
Mage::helper('ops')->log(
|
462 |
-
'Catched exception while saving payment transaction information of a canceled order: '
|
463 |
-
. $e->getMessage()
|
464 |
-
);
|
465 |
-
}
|
466 |
-
} catch (Exception $e) {
|
467 |
-
$this->_getCheckout()->addError(Mage::helper('ops')->__('Order can not be canceled for system reason.'));
|
468 |
-
throw $e;
|
469 |
-
}
|
470 |
-
}
|
471 |
-
|
472 |
-
/**
|
473 |
-
* Process decline action by ops decline url
|
474 |
-
*
|
475 |
-
* @param Mage_Sales_Model_Order $order Order
|
476 |
-
* @param array $params Request params
|
477 |
-
*/
|
478 |
-
public function declineOrder($order, $params)
|
479 |
-
{
|
480 |
-
//@TODO: remove obsolete function
|
481 |
-
|
482 |
-
try {
|
483 |
-
Mage::register('ops_auto_void', true); //Set this session value to true to allow cancel
|
484 |
-
$this->cancelInvoices($order);
|
485 |
-
$order->cancel();
|
486 |
-
$order->setState(
|
487 |
-
Mage_Sales_Model_Order::STATE_CANCELED,
|
488 |
-
Mage_Sales_Model_Order::STATE_CANCELED,
|
489 |
-
Mage::helper('ops')->__(
|
490 |
-
'Order declined on ops side. Ingenico ePayments status: %s, Payment ID: %s.',
|
491 |
-
Mage::helper('ops')->getStatusText($params['STATUS']),
|
492 |
-
$params['PAYID']
|
493 |
-
)
|
494 |
-
);
|
495 |
-
$order->save();
|
496 |
-
|
497 |
-
$this->setPaymentTransactionInformation($order->getPayment(), $params, 'decline');
|
498 |
-
} catch (Exception $e) {
|
499 |
-
$this->_getCheckout()->addError(Mage::helper('ops')->__('Order can not be canceled for system reason.'));
|
500 |
-
throw $e;
|
501 |
-
}
|
502 |
-
}
|
503 |
-
|
504 |
-
/**
|
505 |
-
* Wait for 3D secure confirmation
|
506 |
-
*
|
507 |
-
* @param Mage_Sales_Model_Order $order Order
|
508 |
-
* @param array $params Request params
|
509 |
-
*/
|
510 |
-
public function waitOrder($order, $params)
|
511 |
-
{
|
512 |
-
|
513 |
-
//@TODO: remove obsolete function
|
514 |
-
try {
|
515 |
-
$order->setState(
|
516 |
-
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW,
|
517 |
-
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW,
|
518 |
-
Mage::helper('ops')->__(
|
519 |
-
'Order is waiting for Ingenico ePayments confirmation of 3D-Secure. Ingenico ePayments status: %s, Payment ID: %s.',
|
520 |
-
Mage::helper('ops')->getStatusText($params['STATUS']),
|
521 |
-
$params['PAYID']
|
522 |
-
)
|
523 |
-
);
|
524 |
-
$order->save();
|
525 |
-
$this->setPaymentTransactionInformation($order->getPayment(), $params, 'wait');
|
526 |
-
} catch (Exception $e) {
|
527 |
-
$this->_getCheckout()->addError(
|
528 |
-
Mage::helper('ops')->__('Error during 3D-Secure processing of Ingenico ePayments. Error: %s', $e->getMessage())
|
529 |
-
);
|
530 |
-
throw $e;
|
531 |
-
}
|
532 |
-
}
|
533 |
|
534 |
-
/**
|
535 |
-
* Process exception action by ops exception url
|
536 |
-
*
|
537 |
-
* @param Mage_Sales_Model_Order $order Order
|
538 |
-
* @param array $params Request params
|
539 |
-
*/
|
540 |
-
public function handleException($order, $params)
|
541 |
-
{
|
542 |
-
//@TODO: remove obsolete function
|
543 |
-
$exceptionMessage = $this->getPaymentExceptionMessage($params['STATUS']);
|
544 |
|
545 |
-
if (!empty($exceptionMessage)) {
|
546 |
-
try {
|
547 |
-
$this->_getCheckout()->setLastSuccessQuoteId($order->getQuoteId());
|
548 |
-
$this->_prepareCCInfo($order, $params);
|
549 |
-
$order->getPayment()->setLastTransId($params['PAYID']);
|
550 |
-
//to send new order email only when state is pending payment
|
551 |
-
if (!$order->getEmailSent() != 1
|
552 |
-
&& $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT
|
553 |
-
) {
|
554 |
-
$order->sendNewOrderEmail();
|
555 |
|
556 |
-
}
|
557 |
-
$order->addStatusHistoryComment($exceptionMessage);
|
558 |
-
$order->save();
|
559 |
-
$this->setPaymentTransactionInformation($order->getPayment(), $params, 'exception');
|
560 |
-
} catch (Exception $e) {
|
561 |
-
$this->_getCheckout()->addError(Mage::helper('ops')->__('Order can not be saved for system reason.'));
|
562 |
-
}
|
563 |
-
} else {
|
564 |
-
$this->_getCheckout()->addError(Mage::helper('ops')->__('An unknown exception occured.'));
|
565 |
-
}
|
566 |
-
}
|
567 |
|
568 |
/**
|
569 |
* Get Payment Exception Message
|
570 |
*
|
571 |
-
* @param
|
|
|
572 |
*/
|
573 |
protected function getPaymentExceptionMessage($ops_status)
|
574 |
{
|
@@ -590,122 +486,6 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
590 |
return $exceptionMessage;
|
591 |
}
|
592 |
|
593 |
-
/**
|
594 |
-
* Process Configured Payment Action: Direct Sale, create invoice if state is Pending
|
595 |
-
*
|
596 |
-
* @param Mage_Sales_Model_Order $order Order
|
597 |
-
* @param array $params Request params
|
598 |
-
*/
|
599 |
-
protected function _processDirectSale($order, $params, $instantCapture = 0)
|
600 |
-
{
|
601 |
-
//@TODO: remove obsolete function
|
602 |
-
|
603 |
-
Mage::register('ops_auto_capture', true);
|
604 |
-
$status = $params['STATUS'];
|
605 |
-
if ($status == Netresearch_OPS_Model_Status::WAITING_CLIENT_PAYMENT) {
|
606 |
-
$order->setState(
|
607 |
-
Mage_Sales_Model_Order::STATE_PROCESSING,
|
608 |
-
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
609 |
-
Mage::helper('ops')->__('Waiting for the payment of the customer')
|
610 |
-
);
|
611 |
-
|
612 |
-
// send new order mail for bank transfer, since it is 'successfully' authorized at this point
|
613 |
-
if ($order->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_BankTransfer
|
614 |
-
&& $order->getEmailSent() != 1
|
615 |
-
) {
|
616 |
-
$order->sendNewOrderEmail();
|
617 |
-
}
|
618 |
-
|
619 |
-
$order->save();
|
620 |
-
} elseif ($status == Netresearch_OPS_Model_Status::AUTHORIZATION_WAITING) {
|
621 |
-
$order->setState(
|
622 |
-
Mage_Sales_Model_Order::STATE_PROCESSING,
|
623 |
-
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
624 |
-
Mage::helper('ops')->__('Authorization waiting from Ingenico ePayments')
|
625 |
-
);
|
626 |
-
$order->save();
|
627 |
-
} elseif (($order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT
|
628 |
-
|| $instantCapture)
|
629 |
-
&& !$this->isPaypalSpecialStatus($order->getPayment()->getMethodInstance(), $status)
|
630 |
-
) {
|
631 |
-
if ($status == Netresearch_OPS_Model_Status::AUTHORIZED) {
|
632 |
-
if ($order->getStatus() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
|
633 |
-
$order->setState(
|
634 |
-
Mage_Sales_Model_Order::STATE_PROCESSING,
|
635 |
-
Mage_Sales_Model_Order::STATE_PROCESSING,
|
636 |
-
Mage::helper('ops')->__('Processed by Ingenico ePayments')
|
637 |
-
);
|
638 |
-
|
639 |
-
}
|
640 |
-
} else {
|
641 |
-
$order->setState(
|
642 |
-
Mage_Sales_Model_Order::STATE_PROCESSING,
|
643 |
-
true,
|
644 |
-
Mage::helper('ops')->__('Processed by Ingenico ePayments')
|
645 |
-
);
|
646 |
-
$order->save();
|
647 |
-
}
|
648 |
-
if (!$order->getInvoiceCollection()->getSize()
|
649 |
-
&& $order->getState() == Mage_Sales_Model_Order::STATE_PROCESSING
|
650 |
-
&& $order->canInvoice()
|
651 |
-
) {
|
652 |
-
$invoice = $order->prepareInvoice();
|
653 |
-
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
|
654 |
-
$invoice->register();
|
655 |
-
$invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID);
|
656 |
-
$invoice->getOrder()->setIsInProcess(true);
|
657 |
-
$invoice->save();
|
658 |
-
$this->sendInvoiceToCustomer($invoice);
|
659 |
-
|
660 |
-
$transactionSave = Mage::getModel('core/resource_transaction')
|
661 |
-
->addObject($invoice)
|
662 |
-
->addObject($invoice->getOrder())
|
663 |
-
->save();
|
664 |
-
|
665 |
-
/*
|
666 |
-
* If the payment method is a redirect-payment-method send the email
|
667 |
-
* In any other case Magento sends an email automatically in Mage_Checkout_Model_Type_Onepage::saveOrder
|
668 |
-
*/
|
669 |
-
if ($this->isRedirectPaymentMethod($order) === true
|
670 |
-
&& $order->getEmailSent() != 1
|
671 |
-
) {
|
672 |
-
$order->sendNewOrderEmail();
|
673 |
-
}
|
674 |
-
$eventData = array('data_object' => $order, 'order' => $order);
|
675 |
-
Mage::dispatchEvent('ops_sales_order_save_commit_after', $eventData);
|
676 |
-
}
|
677 |
-
|
678 |
-
if ($this->isInlinePayment($order->getPayment())
|
679 |
-
&& 0 < strlen(trim($order->getPayment()->getAdditionalInformation('HTML_ANSWER')))
|
680 |
-
&& $order->getPayment()->getAdditionalInformation('status') == Netresearch_OPS_Model_Status::PAYMENT_REQUESTED
|
681 |
-
) {
|
682 |
-
$order->getPayment()->setIsTransactionApproved(true)->registerPaymentReviewAction(
|
683 |
-
Mage_Sales_Model_Order_Payment::REVIEW_ACTION_UPDATE, true
|
684 |
-
)->save();
|
685 |
-
$this->setInvoicesToPaid($order);
|
686 |
-
$order->getPayment()->getAuthorizationTransaction()->setIsClosed(true)->save();
|
687 |
-
$order->getPayment()->addTransaction(
|
688 |
-
Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE, $order->getPayment()
|
689 |
-
)->setIsClosed(true)->save();
|
690 |
-
|
691 |
-
if ($order->getEmailSent() != 1) {
|
692 |
-
$order->sendNewOrderEmail();
|
693 |
-
}
|
694 |
-
|
695 |
-
$order->save();
|
696 |
-
}
|
697 |
-
if ($this->isInlinePayment($order->getPayment()) && Mage::getModel('ops/config')->getSendInvoice()
|
698 |
-
&& Mage::getModel('ops/config')->getPaymentAction($order->getStoreId())
|
699 |
-
=== Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE
|
700 |
-
) {
|
701 |
-
foreach ($order->getInvoiceCollection() as $invoice) {
|
702 |
-
$this->sendInvoiceToCustomer($invoice);
|
703 |
-
}
|
704 |
-
}
|
705 |
-
} else {
|
706 |
-
$order->save();
|
707 |
-
}
|
708 |
-
}
|
709 |
|
710 |
/**
|
711 |
* send invoice to customer if that was configured by the merchant
|
@@ -719,7 +499,7 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
719 |
if (false == $invoice->getEmailSent()
|
720 |
&& $this->getConfig()->getSendInvoice()
|
721 |
) {
|
722 |
-
$invoice->sendEmail(
|
723 |
}
|
724 |
}
|
725 |
|
@@ -806,20 +586,20 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
806 |
/**
|
807 |
* Fetches transaction with given transaction id
|
808 |
*
|
809 |
-
* @param string $
|
810 |
*
|
811 |
* @return mixed Mage_Sales_Model_Order_Payment_Transaction | boolean
|
812 |
*/
|
813 |
public function getTransactionByTransactionId($transactionId)
|
814 |
{
|
815 |
if (!$transactionId) {
|
816 |
-
return;
|
817 |
}
|
818 |
$transaction = Mage::getModel('sales/order_payment_transaction')
|
819 |
->getCollection()
|
820 |
->addAttributeToFilter('txn_id', $transactionId)
|
821 |
->getLastItem();
|
822 |
-
if (
|
823 |
return false;
|
824 |
}
|
825 |
$transaction->getOrderPaymentObject();
|
@@ -839,7 +619,7 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
839 |
// add items
|
840 |
$cart = Mage::getSingleton('checkout/cart');
|
841 |
|
842 |
-
if (0 < $cart->getQuote()->getItemsCollection()->
|
843 |
//cart is not empty, so refilling it is not required
|
844 |
return;
|
845 |
}
|
@@ -855,7 +635,7 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
855 |
// add coupon code
|
856 |
$coupon = $order->getCouponCode();
|
857 |
$session = Mage::getSingleton('checkout/session');
|
858 |
-
if (
|
859 |
$session->getQuote()->setCouponCode($coupon)->save();
|
860 |
}
|
861 |
}
|
@@ -878,19 +658,21 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
878 |
/**
|
879 |
* Check is payment method is a redirect method
|
880 |
*
|
881 |
-
* @param
|
|
|
882 |
*/
|
883 |
protected function isRedirectPaymentMethod($order)
|
884 |
{
|
|
|
885 |
$method = $order->getPayment()->getMethodInstance();
|
886 |
if ($method
|
887 |
-
&& $method->getOrderPlaceRedirectUrl() != '' //Magento returns ''
|
888 |
-
&& $method->getOrderPlaceRedirectUrl() !== false
|
889 |
-
) {
|
890 |
-
|
891 |
-
} else {
|
892 |
-
return false;
|
893 |
}
|
|
|
|
|
894 |
}
|
895 |
|
896 |
public function getQuote()
|
@@ -933,11 +715,11 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
933 |
*/
|
934 |
public function getBaseGrandTotalFromSalesObject($salesObject)
|
935 |
{
|
936 |
-
if ($salesObject instanceof Mage_Sales_Model_Order
|
937 |
-
return $salesObject->getBaseGrandTotal();
|
938 |
-
} else {
|
939 |
Mage::throwException('$salesObject is not a quote or an order instance');
|
940 |
}
|
|
|
|
|
941 |
}
|
942 |
|
943 |
|
@@ -1107,8 +889,8 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
1107 |
{
|
1108 |
return $this->isInlinePayment($payment)
|
1109 |
&& (0 === strlen(
|
1110 |
-
|
1111 |
-
|
1112 |
}
|
1113 |
|
1114 |
/**
|
@@ -1124,8 +906,8 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
1124 |
foreach ($order->getInvoiceCollection() as $invoice) {
|
1125 |
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
|
1126 |
$invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID);
|
1127 |
-
$invoice->save();
|
1128 |
}
|
|
|
1129 |
|
1130 |
return $this;
|
1131 |
}
|
@@ -1171,4 +953,17 @@ class Netresearch_OPS_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
1171 |
);
|
1172 |
}
|
1173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1174 |
}
|
71 |
* Check hash crypted by SHA1 with existing data
|
72 |
*
|
73 |
* @param array $data
|
74 |
+
* @param string $hashFromOPS
|
75 |
* @param string $key
|
76 |
*
|
77 |
* @return bool
|
97 |
}
|
98 |
}
|
99 |
|
100 |
+
protected function compareHashes($hashFromOPS, $actual)
|
101 |
{
|
102 |
$helper = Mage::helper('ops');
|
103 |
$helper->log(
|
120 |
/**
|
121 |
* Return set of data which is ready for SHA crypt
|
122 |
*
|
123 |
+
* @param array $params
|
124 |
+
* @param string $SHAkey
|
125 |
*
|
126 |
* @return string
|
127 |
*/
|
130 |
$params = $this->prepareParamsAndSort($params);
|
131 |
$plainHashString = "";
|
132 |
foreach ($params as $paramSet):
|
133 |
+
if ($paramSet['value'] == '' || $paramSet['key'] == 'SHASIGN' || is_array($paramSet['value'])) {
|
134 |
continue;
|
135 |
}
|
136 |
$plainHashString .= strtoupper($paramSet['key']) . "=" . $paramSet['value'] . $SHAkey;
|
177 |
*/
|
178 |
public function getSHASign($formFields, $shaCode = null, $storeId = null)
|
179 |
{
|
180 |
+
if (null === $shaCode) {
|
181 |
$shaCode = Mage::getModel('ops/config')->getShaOutCode($storeId);
|
182 |
}
|
183 |
$formFields = array_change_key_case($formFields, CASE_UPPER);
|
184 |
uksort($formFields, 'strnatcasecmp');
|
185 |
$plainHashString = '';
|
186 |
foreach ($formFields as $formKey => $formVal) {
|
187 |
+
if (null === $formVal || '' === $formVal || $formKey == 'SHASIGN') {
|
188 |
continue;
|
189 |
}
|
190 |
$plainHashString .= strtoupper($formKey) . '=' . $formVal . $shaCode;
|
193 |
return $plainHashString;
|
194 |
}
|
195 |
|
196 |
+
/**
|
197 |
+
* @param int $opsOrderId
|
198 |
+
* @param int $storeId
|
199 |
+
*
|
200 |
+
* @return array
|
201 |
+
*/
|
202 |
+
public function validateOrderForReuse($opsOrderId, $storeId)
|
203 |
+
{
|
204 |
+
|
205 |
+
return array(
|
206 |
+
'orderID' => $opsOrderId,
|
207 |
+
'SHASIGN' => strtoupper(
|
208 |
+
$this->shaCrypt(
|
209 |
+
$this->getSHAInSet(
|
210 |
+
array('orderId' => $opsOrderId),
|
211 |
+
$this->getConfig()->getShaOutCode($storeId)
|
212 |
+
)
|
213 |
+
)
|
214 |
+
),
|
215 |
+
);
|
216 |
+
}
|
217 |
+
|
218 |
/**
|
219 |
* We get some CC info from ops, so we must save it
|
220 |
*
|
221 |
* @param Mage_Sales_Model_Order $order
|
222 |
* @param array $ccInfo
|
223 |
*
|
224 |
+
* @return $this
|
225 |
*/
|
226 |
public function _prepareCCInfo($order, $ccInfo)
|
227 |
{
|
309 |
case Netresearch_OPS_Model_Status::AUTHORIZED:
|
310 |
case Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT:
|
311 |
case Netresearch_OPS_Model_Status::AUTHORIZATION_WAITING:
|
|
|
312 |
case Netresearch_OPS_Model_Status::WAITING_CLIENT_PAYMENT:
|
313 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT;
|
314 |
break;
|
319 |
break;
|
320 |
case Netresearch_OPS_Model_Status::AUTHORISATION_DECLINED:
|
321 |
case Netresearch_OPS_Model_Status::PAYMENT_REFUSED:
|
|
|
322 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE;
|
323 |
break;
|
324 |
case Netresearch_OPS_Model_Status::CANCELED_BY_CUSTOMER:
|
326 |
break;
|
327 |
default:
|
328 |
//all unknown transaction will accept as exceptional
|
|
|
329 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_EXCEPTION;
|
330 |
}
|
331 |
|
335 |
/**
|
336 |
* Process success action by accept url
|
337 |
*
|
338 |
+
*
|
339 |
+
* @param $order
|
340 |
+
* @param $params
|
341 |
+
* @param int $instantCapture
|
342 |
+
* @throws Exception
|
343 |
*/
|
344 |
public function acceptOrder($order, $params, $instantCapture = 0)
|
345 |
{
|
387 |
* so capture or cancel won't work. So we need to create a new authorization transaction for them
|
388 |
* when a payment was accepted by Ingenico ePayments
|
389 |
*
|
390 |
+
* In exception-case we create the authorization-transaction too
|
391 |
+
* because some exception-cases can turn into accepted
|
392 |
*/
|
393 |
if (('accept' === $action || 'exception' === $action)
|
394 |
&& in_array($code, array('ops_cc', 'ops_directDebit'))
|
456 |
$payment->setAdditionalInformation('additionalScoringData', $additionalScoringData);
|
457 |
}
|
458 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
|
463 |
/**
|
464 |
* Get Payment Exception Message
|
465 |
*
|
466 |
+
* @param $ops_status
|
467 |
+
* @return string
|
468 |
*/
|
469 |
protected function getPaymentExceptionMessage($ops_status)
|
470 |
{
|
486 |
return $exceptionMessage;
|
487 |
}
|
488 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
489 |
|
490 |
/**
|
491 |
* send invoice to customer if that was configured by the merchant
|
499 |
if (false == $invoice->getEmailSent()
|
500 |
&& $this->getConfig()->getSendInvoice()
|
501 |
) {
|
502 |
+
$invoice->sendEmail(true);
|
503 |
}
|
504 |
}
|
505 |
|
586 |
/**
|
587 |
* Fetches transaction with given transaction id
|
588 |
*
|
589 |
+
* @param string $transactionId
|
590 |
*
|
591 |
* @return mixed Mage_Sales_Model_Order_Payment_Transaction | boolean
|
592 |
*/
|
593 |
public function getTransactionByTransactionId($transactionId)
|
594 |
{
|
595 |
if (!$transactionId) {
|
596 |
+
return false;
|
597 |
}
|
598 |
$transaction = Mage::getModel('sales/order_payment_transaction')
|
599 |
->getCollection()
|
600 |
->addAttributeToFilter('txn_id', $transactionId)
|
601 |
->getLastItem();
|
602 |
+
if (null === $transaction->getId()) {
|
603 |
return false;
|
604 |
}
|
605 |
$transaction->getOrderPaymentObject();
|
619 |
// add items
|
620 |
$cart = Mage::getSingleton('checkout/cart');
|
621 |
|
622 |
+
if (0 < $cart->getQuote()->getItemsCollection()->getSize()) {
|
623 |
//cart is not empty, so refilling it is not required
|
624 |
return;
|
625 |
}
|
635 |
// add coupon code
|
636 |
$coupon = $order->getCouponCode();
|
637 |
$session = Mage::getSingleton('checkout/session');
|
638 |
+
if (null != $coupon) {
|
639 |
$session->getQuote()->setCouponCode($coupon)->save();
|
640 |
}
|
641 |
}
|
658 |
/**
|
659 |
* Check is payment method is a redirect method
|
660 |
*
|
661 |
+
* @param $order
|
662 |
+
* @return bool
|
663 |
*/
|
664 |
protected function isRedirectPaymentMethod($order)
|
665 |
{
|
666 |
+
$result = false;
|
667 |
$method = $order->getPayment()->getMethodInstance();
|
668 |
if ($method
|
669 |
+
&& $method->getOrderPlaceRedirectUrl() != '' // Magento returns ''
|
670 |
+
&& $method->getOrderPlaceRedirectUrl() !== false // Ops returns false
|
671 |
+
) {
|
672 |
+
$result = true;
|
|
|
|
|
673 |
}
|
674 |
+
|
675 |
+
return $result;
|
676 |
}
|
677 |
|
678 |
public function getQuote()
|
715 |
*/
|
716 |
public function getBaseGrandTotalFromSalesObject($salesObject)
|
717 |
{
|
718 |
+
if (!($salesObject instanceof Mage_Sales_Model_Order || $salesObject instanceof Mage_Sales_Model_Quote)) {
|
|
|
|
|
719 |
Mage::throwException('$salesObject is not a quote or an order instance');
|
720 |
}
|
721 |
+
|
722 |
+
return $salesObject->getBaseGrandTotal();
|
723 |
}
|
724 |
|
725 |
|
889 |
{
|
890 |
return $this->isInlinePayment($payment)
|
891 |
&& (0 === strlen(
|
892 |
+
trim($payment->getMethodInstance()->getConfigPaymentAction())
|
893 |
+
));
|
894 |
}
|
895 |
|
896 |
/**
|
906 |
foreach ($order->getInvoiceCollection() as $invoice) {
|
907 |
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
|
908 |
$invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID);
|
|
|
909 |
}
|
910 |
+
$order->getInvoiceCollection()->save();
|
911 |
|
912 |
return $this;
|
913 |
}
|
953 |
);
|
954 |
}
|
955 |
|
956 |
+
/**
|
957 |
+
* @param $paymentCode
|
958 |
+
*
|
959 |
+
* @return string
|
960 |
+
*/
|
961 |
+
public function getPaymentDefaultLogo($paymentCode)
|
962 |
+
{
|
963 |
+
return Mage::getSingleton('core/design_package')->getSkinUrl(
|
964 |
+
'images/ops/logos/' . $paymentCode . '.png',
|
965 |
+
array('_area' => 'frontend')
|
966 |
+
);
|
967 |
+
}
|
968 |
+
|
969 |
}
|
app/code/community/Netresearch/OPS/Helper/Payment/DirectLink/Request.php
CHANGED
@@ -162,7 +162,8 @@ abstract class Netresearch_OPS_Helper_Payment_DirectLink_Request
|
|
162 |
|
163 |
|
164 |
/**
|
165 |
-
* extracts the parameter for the direct link request from the quote,
|
|
|
166 |
*
|
167 |
* @param Mage_Sales_Model_Quote $quote
|
168 |
* @param Mage_Sales_Model_Order $order
|
@@ -170,7 +171,8 @@ abstract class Netresearch_OPS_Helper_Payment_DirectLink_Request
|
|
170 |
*
|
171 |
* @return array - the parameters for the direct link request
|
172 |
*/
|
173 |
-
public function getDirectLinkRequestParams(
|
|
|
174 |
{
|
175 |
$billingAddress = $order->getBillingAddress();
|
176 |
$shippingAddress = $this->getShippingAddress($order, $billingAddress);
|
@@ -262,8 +264,9 @@ abstract class Netresearch_OPS_Helper_Payment_DirectLink_Request
|
|
262 |
{
|
263 |
if ($this->getDataHelper()->isAdminSession()) {
|
264 |
$requestParams['ECI'] = Netresearch_OPS_Model_Eci_Values::MANUALLY_KEYED_FROM_MOTO;
|
265 |
-
$requestParams['REMOTE_ADDR'] = 'NONE'
|
266 |
}
|
|
|
267 |
return $requestParams;
|
268 |
}
|
269 |
|
162 |
|
163 |
|
164 |
/**
|
165 |
+
* extracts the parameter for the direct link request from the quote,
|
166 |
+
* order and, optionally from existing request params
|
167 |
*
|
168 |
* @param Mage_Sales_Model_Quote $quote
|
169 |
* @param Mage_Sales_Model_Order $order
|
171 |
*
|
172 |
* @return array - the parameters for the direct link request
|
173 |
*/
|
174 |
+
public function getDirectLinkRequestParams(
|
175 |
+
Mage_Sales_Model_Quote $quote, Mage_Sales_Model_Order $order, $requestParams = array())
|
176 |
{
|
177 |
$billingAddress = $order->getBillingAddress();
|
178 |
$shippingAddress = $this->getShippingAddress($order, $billingAddress);
|
264 |
{
|
265 |
if ($this->getDataHelper()->isAdminSession()) {
|
266 |
$requestParams['ECI'] = Netresearch_OPS_Model_Eci_Values::MANUALLY_KEYED_FROM_MOTO;
|
267 |
+
$requestParams['REMOTE_ADDR'] = 'NONE';
|
268 |
}
|
269 |
+
|
270 |
return $requestParams;
|
271 |
}
|
272 |
|
app/code/community/Netresearch/OPS/Helper/Payment/Request.php
CHANGED
@@ -51,19 +51,23 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
51 |
$address = $salesObject->getBillingAddress();
|
52 |
}
|
53 |
|
54 |
-
if(!$address){
|
55 |
return $paramValues;
|
56 |
}
|
57 |
}
|
58 |
|
59 |
-
$
|
60 |
-
$
|
61 |
-
|
62 |
-
$paramValues['
|
63 |
-
$paramValues['
|
64 |
-
$paramValues['
|
65 |
-
$paramValues['
|
66 |
-
$paramValues['
|
|
|
|
|
|
|
|
|
67 |
|
68 |
return $paramValues;
|
69 |
}
|
@@ -81,24 +85,28 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
81 |
$paramValues = array();
|
82 |
|
83 |
if (!$address instanceof Mage_Customer_Model_Address_Abstract) {
|
84 |
-
if(!is_null($salesObject)) {
|
85 |
$address = $salesObject->getBillingAddress();
|
86 |
}
|
87 |
-
if(!$address){
|
88 |
return $paramValues;
|
89 |
}
|
90 |
}
|
91 |
|
92 |
-
$
|
93 |
-
$
|
94 |
-
|
95 |
-
$paramValues['
|
96 |
-
$paramValues['
|
97 |
-
$paramValues['
|
98 |
-
$paramValues['
|
99 |
-
$paramValues['
|
100 |
-
$paramValues['
|
101 |
-
$paramValues['
|
|
|
|
|
|
|
|
|
102 |
|
103 |
return $paramValues;
|
104 |
}
|
@@ -106,9 +114,9 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
106 |
/**
|
107 |
* extraxcts the according Ingenico ePayments owner* parameter
|
108 |
*
|
109 |
-
* @param Mage_Customer_Model_Address_Abstract
|
110 |
*
|
111 |
-
* @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order
|
112 |
*
|
113 |
* @return string[]
|
114 |
*/
|
@@ -117,11 +125,11 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
117 |
$ownerParams = array();
|
118 |
if ($this->getConfig()->canSubmitExtraParameter($salesObject->getStoreId())) {
|
119 |
$ownerParams = array(
|
120 |
-
'OWNERADDRESS'
|
121 |
-
'OWNERTOWN'
|
122 |
-
'OWNERZIP'
|
123 |
-
'OWNERTELNO'
|
124 |
-
'OWNERCTY'
|
125 |
|
126 |
'ECOM_BILLTO_POSTAL_POSTALCODE' => $billingAddress->getPostcode(),
|
127 |
);
|
@@ -141,7 +149,7 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
141 |
$formFields = array();
|
142 |
switch ($this->getConfig()->getConfigData('template')) {
|
143 |
case Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_MAGENTO_INTERNAL:
|
144 |
-
$formFields['TP'] = $this->getConfig()->getPayPageTemplate(
|
145 |
break;
|
146 |
case Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_TEMPLATE:
|
147 |
$formFields['TP'] = $this->getConfig()->getTemplateIdentifier($storeId);
|
@@ -159,8 +167,12 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
159 |
$formFields['BUTTONTXTCOLOR'] = $this->getConfig()->getConfigData('buttontxtcolor', $storeId);
|
160 |
$formFields['FONTTYPE'] = $this->getConfig()->getConfigData('fonttype', $storeId);
|
161 |
$formFields['LOGO'] = $this->getConfig()->getConfigData('logo', $storeId);
|
162 |
-
$formFields['HOMEURL'] = $this->getConfig()->hasHomeUrl() ? $this->getConfig()->getContinueUrl(
|
163 |
-
|
|
|
|
|
|
|
|
|
164 |
break;
|
165 |
default:
|
166 |
break;
|
@@ -240,7 +252,7 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
240 |
return $this->getRegionsMappingForLatvia();
|
241 |
}
|
242 |
|
243 |
-
return array()
|
244 |
}
|
245 |
|
246 |
/**
|
@@ -491,21 +503,25 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
491 |
|
492 |
public function getMandatoryRequestFields(Mage_Sales_Model_Order $order)
|
493 |
{
|
494 |
-
$payment
|
495 |
-
$
|
496 |
-
$formFields
|
497 |
-
$formFields['
|
|
|
498 |
$formFields['CURRENCY'] = Mage::app()->getStore()->getBaseCurrencyCode();
|
499 |
-
$formFields['ORDERID']
|
500 |
$formFields['LANGUAGE'] = Mage::app()->getLocale()->getLocaleCode();
|
501 |
-
$formFields['PM']
|
502 |
-
$formFields['EMAIL']
|
503 |
|
504 |
-
$formFields['ACCEPTURL']
|
505 |
-
$formFields['DECLINEURL']
|
506 |
$formFields['EXCEPTIONURL'] = $this->getConfig()->getExceptionUrl();
|
507 |
-
$formFields['CANCELURL']
|
508 |
-
|
|
|
|
|
|
|
509 |
|
510 |
$formFields['FP_ACTIV'] = $this->isFingerPrintingActive($order) ? '1' : '0';
|
511 |
|
@@ -522,49 +538,71 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
522 |
protected function isFingerPrintingActive($order)
|
523 |
{
|
524 |
return $this->getConfig()->getDeviceFingerPrinting($order->getStoreId())
|
525 |
-
&& Mage::getSingleton('customer/session')->getData(
|
|
|
|
|
526 |
}
|
527 |
|
528 |
/**
|
529 |
* Extracts the order item parameters and puts them in a array like
|
530 |
*
|
531 |
-
* @param Mage_Sales_Model_Order $
|
532 |
*
|
533 |
-
* @return
|
534 |
*/
|
535 |
-
public function extractOrderItemParameters(
|
536 |
{
|
537 |
$formFields = array();
|
538 |
-
|
539 |
// add order items
|
540 |
$count = 1;
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
) {
|
546 |
continue;
|
547 |
}
|
548 |
-
|
|
|
|
|
549 |
$count++;
|
550 |
}
|
551 |
|
552 |
// add discount item
|
553 |
-
|
554 |
-
|
555 |
-
|
|
|
556 |
$count++;
|
557 |
}
|
558 |
|
559 |
// add shipping item
|
560 |
-
$shippingItemFields
|
561 |
-
|
562 |
-
|
|
|
563 |
}
|
564 |
|
565 |
return $formFields;
|
566 |
}
|
567 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
/**
|
569 |
* @param Mage_Sales_Model_Order $order
|
570 |
*
|
@@ -586,19 +624,41 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
586 |
/**
|
587 |
* Genereates item array for shipping, returns false if order is virtual
|
588 |
*
|
589 |
-
* @param Mage_Sales_Model_Order $
|
|
|
590 |
*
|
591 |
-
* @return
|
592 |
*/
|
593 |
-
protected function getShippingItemFormFields($
|
594 |
{
|
595 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
596 |
/* add shipping item */
|
597 |
-
$formFields['
|
598 |
-
$formFields['
|
599 |
-
$formFields['
|
600 |
-
|
601 |
-
$formFields['
|
|
|
|
|
602 |
return $formFields;
|
603 |
}
|
604 |
|
@@ -608,20 +668,25 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
608 |
/**
|
609 |
* Returns item array for Ingenico ePayments request for the specified item
|
610 |
*
|
611 |
-
* @param $
|
612 |
-
* @param $
|
613 |
*
|
614 |
* @return array
|
615 |
*/
|
616 |
-
protected function getItemFormFields($
|
617 |
{
|
618 |
$formFields = array();
|
619 |
-
$formFields['ITEMID'
|
620 |
-
$formFields['ITEMNAME'
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
|
|
|
|
|
|
|
|
|
|
625 |
|
626 |
return $formFields;
|
627 |
}
|
@@ -629,31 +694,45 @@ class Netresearch_OPS_Helper_Payment_Request
|
|
629 |
/**
|
630 |
* Creates array
|
631 |
*
|
632 |
-
* @param
|
633 |
-
* @param
|
634 |
*
|
635 |
-
* @return mixed
|
636 |
*/
|
637 |
-
protected function getDiscountItemFormFields(
|
638 |
{
|
639 |
$formFields = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
640 |
/* add coupon item */
|
641 |
-
if ($
|
642 |
-
$couponAmount = $order->getBaseDiscountAmount();
|
643 |
-
$formFields['ITEMID' . $count] = 'DISCOUNT';
|
644 |
$couponRuleName = 'DISCOUNT';
|
645 |
if ($order->getCouponRuleName() && strlen(trim($order->getCouponRuleName())) > 0) {
|
646 |
$couponRuleName = substr(trim($order->getCouponRuleName()), 0, 30);
|
647 |
}
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
652 |
= str_replace(',', '.', (string)(float)$this->getShippingTaxRate($order)) . '%';
|
653 |
-
$formFields['TAXINCLUDED'
|
|
|
654 |
return $formFields;
|
655 |
|
656 |
}
|
|
|
657 |
return false;
|
658 |
}
|
659 |
-
}
|
51 |
$address = $salesObject->getBillingAddress();
|
52 |
}
|
53 |
|
54 |
+
if (!$address) {
|
55 |
return $paramValues;
|
56 |
}
|
57 |
}
|
58 |
|
59 |
+
$shippingStreet = str_replace("\n", ' ', $address->getStreet(-1));
|
60 |
+
$splittedShippingStreet = Mage::Helper('ops/address')->splitStreet($shippingStreet);
|
61 |
+
|
62 |
+
$paramValues['ECOM_SHIPTO_POSTAL_CITY'] = $address->getCity();
|
63 |
+
$paramValues['ECOM_SHIPTO_POSTAL_POSTALCODE'] = $address->getPostcode();
|
64 |
+
$paramValues['ECOM_SHIPTO_POSTAL_STATE'] = $this->getIsoRegionCode($address);
|
65 |
+
$paramValues['ECOM_SHIPTO_POSTAL_COUNTRYCODE'] = $address->getCountry();
|
66 |
+
$paramValues['ECOM_SHIPTO_POSTAL_NAME_FIRST'] = $address->getFirstname();
|
67 |
+
$paramValues['ECOM_SHIPTO_POSTAL_NAME_LAST'] = $address->getLastname();
|
68 |
+
$paramValues['ECOM_SHIPTO_POSTAL_STREET_LINE1'] = $splittedShippingStreet['street_name'];
|
69 |
+
$paramValues['ECOM_SHIPTO_POSTAL_STREET_NUMBER'] = $splittedShippingStreet['street_number'];
|
70 |
+
$paramValues['ECOM_SHIPTO_POSTAL_STREET_LINE2'] = $splittedShippingStreet['supplement'];
|
71 |
|
72 |
return $paramValues;
|
73 |
}
|
85 |
$paramValues = array();
|
86 |
|
87 |
if (!$address instanceof Mage_Customer_Model_Address_Abstract) {
|
88 |
+
if (!is_null($salesObject)) {
|
89 |
$address = $salesObject->getBillingAddress();
|
90 |
}
|
91 |
+
if (!$address) {
|
92 |
return $paramValues;
|
93 |
}
|
94 |
}
|
95 |
|
96 |
+
$billingStreet = str_replace("\n", ' ', $address->getStreet(-1));
|
97 |
+
$splittedBillingStreet = Mage::Helper('ops/address')->splitStreet($billingStreet);
|
98 |
+
|
99 |
+
$paramValues['ECOM_BILLTO_POSTAL_CITY'] = $address->getCity();
|
100 |
+
$paramValues['ECOM_BILLTO_POSTAL_POSTALCODE'] = $address->getPostcode();
|
101 |
+
$paramValues['ECOM_BILLTO_POSTAL_COUNTY'] = $this->getIsoRegionCode($address);
|
102 |
+
$paramValues['ECOM_BILLTO_POSTAL_COUNTRYCODE'] = $address->getCountry();
|
103 |
+
$paramValues['ECOM_BILLTO_POSTAL_NAME_FIRST'] = $address->getFirstname();
|
104 |
+
$paramValues['ECOM_BILLTO_POSTAL_NAME_LAST'] = $address->getLastname();
|
105 |
+
$paramValues['ECOM_BILLTO_POSTAL_POSTALCODE'] = $address->getPostcode();
|
106 |
+
$paramValues['ECOM_BILLTO_POSTAL_STREET_LINE1'] = $splittedBillingStreet['street_name'];
|
107 |
+
$paramValues['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = $splittedBillingStreet['street_number'];
|
108 |
+
$paramValues['ECOM_BILLTO_POSTAL_STREET_LINE2'] = $splittedBillingStreet['supplement'];
|
109 |
+
$paramValues['ECOM_BILLTO_POSTAL_STREET_LINE3'] = $address->getStreet(3);
|
110 |
|
111 |
return $paramValues;
|
112 |
}
|
114 |
/**
|
115 |
* extraxcts the according Ingenico ePayments owner* parameter
|
116 |
*
|
117 |
+
* @param Mage_Customer_Model_Address_Abstract $billingAddress
|
118 |
*
|
119 |
+
* @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order $salesObject
|
120 |
*
|
121 |
* @return string[]
|
122 |
*/
|
125 |
$ownerParams = array();
|
126 |
if ($this->getConfig()->canSubmitExtraParameter($salesObject->getStoreId())) {
|
127 |
$ownerParams = array(
|
128 |
+
'OWNERADDRESS' => str_replace("\n", ' ', $billingAddress->getStreet(1)),
|
129 |
+
'OWNERTOWN' => $billingAddress->getCity(),
|
130 |
+
'OWNERZIP' => $billingAddress->getPostcode(),
|
131 |
+
'OWNERTELNO' => $billingAddress->getTelephone(),
|
132 |
+
'OWNERCTY' => $billingAddress->getCountry(),
|
133 |
|
134 |
'ECOM_BILLTO_POSTAL_POSTALCODE' => $billingAddress->getPostcode(),
|
135 |
);
|
149 |
$formFields = array();
|
150 |
switch ($this->getConfig()->getConfigData('template')) {
|
151 |
case Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_MAGENTO_INTERNAL:
|
152 |
+
$formFields['TP'] = $this->getConfig()->getPayPageTemplate();
|
153 |
break;
|
154 |
case Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_TEMPLATE:
|
155 |
$formFields['TP'] = $this->getConfig()->getTemplateIdentifier($storeId);
|
167 |
$formFields['BUTTONTXTCOLOR'] = $this->getConfig()->getConfigData('buttontxtcolor', $storeId);
|
168 |
$formFields['FONTTYPE'] = $this->getConfig()->getConfigData('fonttype', $storeId);
|
169 |
$formFields['LOGO'] = $this->getConfig()->getConfigData('logo', $storeId);
|
170 |
+
$formFields['HOMEURL'] = $this->getConfig()->hasHomeUrl() ? $this->getConfig()->getContinueUrl(
|
171 |
+
array('redirect' => 'home')
|
172 |
+
) : 'NONE';
|
173 |
+
$formFields['CATALOGURL'] = $this->getConfig()->hasCatalogUrl() ? $this->getConfig()->getContinueUrl(
|
174 |
+
array('redirect' => 'catalog')
|
175 |
+
) : '';
|
176 |
break;
|
177 |
default:
|
178 |
break;
|
252 |
return $this->getRegionsMappingForLatvia();
|
253 |
}
|
254 |
|
255 |
+
return array();
|
256 |
}
|
257 |
|
258 |
/**
|
503 |
|
504 |
public function getMandatoryRequestFields(Mage_Sales_Model_Order $order)
|
505 |
{
|
506 |
+
$payment = $order->getPayment()->getMethodInstance();
|
507 |
+
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
508 |
+
$formFields = array();
|
509 |
+
$formFields['PSPID'] = $this->getConfig()->getPSPID($order->getStoreId());
|
510 |
+
$formFields['AMOUNT'] = Mage::helper('ops')->getAmount($order->getBaseGrandTotal());
|
511 |
$formFields['CURRENCY'] = Mage::app()->getStore()->getBaseCurrencyCode();
|
512 |
+
$formFields['ORDERID'] = $opsOrderId;
|
513 |
$formFields['LANGUAGE'] = Mage::app()->getLocale()->getLocaleCode();
|
514 |
+
$formFields['PM'] = $payment->getOpsCode($order->getPayment());
|
515 |
+
$formFields['EMAIL'] = $order->getCustomerEmail();
|
516 |
|
517 |
+
$formFields['ACCEPTURL'] = $this->getConfig()->getAcceptUrl();
|
518 |
+
$formFields['DECLINEURL'] = $this->getConfig()->getDeclineUrl();
|
519 |
$formFields['EXCEPTIONURL'] = $this->getConfig()->getExceptionUrl();
|
520 |
+
$formFields['CANCELURL'] = $this->getConfig()->getCancelUrl();
|
521 |
+
|
522 |
+
$formFields['BACKURL'] = $this->getConfig()->getPaymentRetryUrl(
|
523 |
+
Mage::helper('ops/payment')->validateOrderForReuse($opsOrderId, $order->getStoreId())
|
524 |
+
);
|
525 |
|
526 |
$formFields['FP_ACTIV'] = $this->isFingerPrintingActive($order) ? '1' : '0';
|
527 |
|
538 |
protected function isFingerPrintingActive($order)
|
539 |
{
|
540 |
return $this->getConfig()->getDeviceFingerPrinting($order->getStoreId())
|
541 |
+
&& Mage::getSingleton('customer/session')->getData(
|
542 |
+
Netresearch_OPS_Model_Payment_Abstract::FINGERPRINT_CONSENT_SESSION_KEY
|
543 |
+
);
|
544 |
}
|
545 |
|
546 |
/**
|
547 |
* Extracts the order item parameters and puts them in a array like
|
548 |
*
|
549 |
+
* @param Mage_Sales_Model_Order|Mage_Sales_Model_Order_Invoice $salesObject
|
550 |
*
|
551 |
+
* @return mixed[]
|
552 |
*/
|
553 |
+
public function extractOrderItemParameters($salesObject)
|
554 |
{
|
555 |
$formFields = array();
|
556 |
+
$formatAmounts = $salesObject instanceof Mage_Sales_Model_Order_Invoice;
|
557 |
// add order items
|
558 |
$count = 1;
|
559 |
+
$addItemCount = function (&$value, $key, $count) use (&$formFields) {
|
560 |
+
$formFields[$key . $count] = $value;
|
561 |
+
};
|
562 |
+
foreach ($salesObject->getAllItems() as $item) {
|
563 |
+
if ($this->isNonDataItem($item)) {
|
564 |
continue;
|
565 |
}
|
566 |
+
|
567 |
+
$itemFields = $this->getItemFormFields($item, $formatAmounts);
|
568 |
+
array_walk($itemFields, $addItemCount, $count);
|
569 |
$count++;
|
570 |
}
|
571 |
|
572 |
// add discount item
|
573 |
+
/** @var mixed|false $discountItemFormFields */
|
574 |
+
$discountItemFormFields = $this->getDiscountItemFormFields($salesObject, $formatAmounts);
|
575 |
+
if ($discountItemFormFields) {
|
576 |
+
array_walk($discountItemFormFields, $addItemCount, $count);
|
577 |
$count++;
|
578 |
}
|
579 |
|
580 |
// add shipping item
|
581 |
+
/** @var mixed|false $shippingItemFields */
|
582 |
+
$shippingItemFields = $this->getShippingItemFormFields($salesObject, $formatAmounts);
|
583 |
+
if ($shippingItemFields) {
|
584 |
+
array_walk($shippingItemFields, $addItemCount, $count);
|
585 |
}
|
586 |
|
587 |
return $formFields;
|
588 |
}
|
589 |
|
590 |
+
/**
|
591 |
+
* @param Mage_Sales_Model_Order_Item|Mage_Sales_Model_Order_Invoice_Item $item
|
592 |
+
*
|
593 |
+
* @return bool
|
594 |
+
*/
|
595 |
+
protected function isNonDataItem($item)
|
596 |
+
{
|
597 |
+
if ($item instanceof Mage_Sales_Model_Order_Invoice_Item) {
|
598 |
+
$item = $item->getOrderItem();
|
599 |
+
}
|
600 |
+
|
601 |
+
return $item->getParentItemId()
|
602 |
+
&& $item->getParentItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE
|
603 |
+
|| $item->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE;
|
604 |
+
}
|
605 |
+
|
606 |
/**
|
607 |
* @param Mage_Sales_Model_Order $order
|
608 |
*
|
624 |
/**
|
625 |
* Genereates item array for shipping, returns false if order is virtual
|
626 |
*
|
627 |
+
* @param Mage_Sales_Model_Order|Mage_Sales_Model_Order_Invoice $salesObject
|
628 |
+
* @param bool $formatAmount
|
629 |
*
|
630 |
+
* @return mixed[] | false
|
631 |
*/
|
632 |
+
protected function getShippingItemFormFields($salesObject, $formatAmount = false)
|
633 |
{
|
634 |
+
|
635 |
+
if ($salesObject instanceof Mage_Sales_Model_Order_Invoice) {
|
636 |
+
/** @var Mage_Sales_Model_Order_Invoice $salesObject */
|
637 |
+
$order = $salesObject->getOrder();
|
638 |
+
} else {
|
639 |
+
/** @var Mage_Sales_Model_Order $salesObject */
|
640 |
+
$order = $salesObject;
|
641 |
+
}
|
642 |
+
/** @var string $taxRate */
|
643 |
+
$taxRate = str_replace(',', '.', (string)(float)$this->getShippingTaxRate($order)) . '%';
|
644 |
+
|
645 |
+
if ($order->getIsNotVirtual() && 0 < $salesObject->getBaseShippingInclTax()) {
|
646 |
+
$formFields = array();
|
647 |
+
|
648 |
+
if ($formatAmount) {
|
649 |
+
$amount = Mage::helper('ops')->getAmount($salesObject->getBaseShippingInclTax());
|
650 |
+
} else {
|
651 |
+
$amount = number_format($salesObject->getBaseShippingInclTax(), 2, '.', '');
|
652 |
+
}
|
653 |
+
|
654 |
/* add shipping item */
|
655 |
+
$formFields['ITEMID'] = 'SHIPPING';
|
656 |
+
$formFields['ITEMNAME'] = substr($order->getShippingDescription(), 0, 25);
|
657 |
+
$formFields['ITEMPRICE'] = $amount;
|
658 |
+
$formFields['TAXINCLUDED'] = 1;
|
659 |
+
$formFields['ITEMQUANT'] = 1;
|
660 |
+
$formFields['ITEMVATCODE'] = $taxRate;
|
661 |
+
|
662 |
return $formFields;
|
663 |
}
|
664 |
|
668 |
/**
|
669 |
* Returns item array for Ingenico ePayments request for the specified item
|
670 |
*
|
671 |
+
* @param Mage_Sales_Model_Order_Invoice_Item|Mage_Sales_Model_Order_Item $item
|
672 |
+
* @param bool $formatAmount
|
673 |
*
|
674 |
* @return array
|
675 |
*/
|
676 |
+
protected function getItemFormFields($item, $formatAmount = false)
|
677 |
{
|
678 |
$formFields = array();
|
679 |
+
$formFields['ITEMID'] = $item->getItemId() ?: $item->getOrderItemId();
|
680 |
+
$formFields['ITEMNAME'] = substr($item->getName(), 0, 40);
|
681 |
+
if ($formatAmount) {
|
682 |
+
$amount = Mage::helper('ops')->getAmount($item->getBasePriceInclTax());
|
683 |
+
} else {
|
684 |
+
$amount = number_format($item->getBasePriceInclTax(), 2, '.', '');
|
685 |
+
}
|
686 |
+
$formFields['ITEMPRICE'] = $amount;
|
687 |
+
$formFields['ITEMQUANT'] = (int)$item->getQtyOrdered() ?: $item->getQty();
|
688 |
+
$formFields['ITEMVATCODE'] = str_replace(',', '.', (string)(float)$item->getTaxPercent()) . '%';
|
689 |
+
$formFields['TAXINCLUDED'] = 1;
|
690 |
|
691 |
return $formFields;
|
692 |
}
|
694 |
/**
|
695 |
* Creates array
|
696 |
*
|
697 |
+
* @param Mage_Sales_Model_Abstract $salesObject
|
698 |
+
* @param bool $formatAmount
|
699 |
*
|
700 |
+
* @return bool|mixed[]
|
701 |
*/
|
702 |
+
protected function getDiscountItemFormFields(Mage_Sales_Model_Abstract $salesObject, $formatAmount = false)
|
703 |
{
|
704 |
$formFields = array();
|
705 |
+
if ($salesObject instanceof Mage_Sales_Model_Order_Invoice) {
|
706 |
+
$order = $salesObject->getOrder();
|
707 |
+
} else {
|
708 |
+
$order = $salesObject;
|
709 |
+
}
|
710 |
+
/** @var Mage_Sales_Model_Order $order */
|
711 |
/* add coupon item */
|
712 |
+
if ($salesObject->getBaseDiscountAmount() != 0.00) {
|
|
|
|
|
713 |
$couponRuleName = 'DISCOUNT';
|
714 |
if ($order->getCouponRuleName() && strlen(trim($order->getCouponRuleName())) > 0) {
|
715 |
$couponRuleName = substr(trim($order->getCouponRuleName()), 0, 30);
|
716 |
}
|
717 |
+
|
718 |
+
if ($formatAmount) {
|
719 |
+
$couponAmount = Mage::helper('ops')->getAmount($salesObject->getBaseDiscountAmount());
|
720 |
+
} else {
|
721 |
+
$couponAmount = number_format($salesObject->getBaseDiscountAmount(), 2, '.', '');
|
722 |
+
}
|
723 |
+
|
724 |
+
$formFields['ITEMID'] = 'DISCOUNT';
|
725 |
+
$formFields['ITEMNAME'] = $couponRuleName;
|
726 |
+
$formFields['ITEMPRICE'] = $couponAmount;
|
727 |
+
$formFields['ITEMQUANT'] = 1;
|
728 |
+
$formFields['ITEMVATCODE']
|
729 |
= str_replace(',', '.', (string)(float)$this->getShippingTaxRate($order)) . '%';
|
730 |
+
$formFields['TAXINCLUDED'] = 1;
|
731 |
+
|
732 |
return $formFields;
|
733 |
|
734 |
}
|
735 |
+
|
736 |
return false;
|
737 |
}
|
738 |
+
}
|
app/code/community/Netresearch/OPS/Helper/Quote.php
CHANGED
@@ -22,9 +22,11 @@ class Netresearch_OPS_Helper_Quote extends Mage_Core_Helper_Abstract
|
|
22 |
*/
|
23 |
public function cleanUpOldPaymentInformation()
|
24 |
{
|
25 |
-
$allowedTimestamp = new Zend_Db_Expr(
|
26 |
-
|
27 |
-
|
|
|
|
|
28 |
/*
|
29 |
* fetching possible affected information from the sales_quote_payment table
|
30 |
* criteria are:
|
@@ -42,7 +44,7 @@ class Netresearch_OPS_Helper_Quote extends Mage_Core_Helper_Abstract
|
|
42 |
->setOrder('created_at', 'DESC')
|
43 |
->setPageSize(self::PAGE_SIZE);
|
44 |
foreach ($paymentInformation as $payment) {
|
45 |
-
if (
|
46 |
// quote needs to be loaded, because saving the payment information would fail otherwise
|
47 |
$payment->setQuote(
|
48 |
Mage::getModel('sales/quote')->load($payment->getQuoteId())
|
22 |
*/
|
23 |
public function cleanUpOldPaymentInformation()
|
24 |
{
|
25 |
+
$allowedTimestamp = new Zend_Db_Expr(
|
26 |
+
sprintf(
|
27 |
+
'NOW() - INTERVAL %d MINUTE', self::MINUTES_IN_PAST
|
28 |
+
)
|
29 |
+
);
|
30 |
/*
|
31 |
* fetching possible affected information from the sales_quote_payment table
|
32 |
* criteria are:
|
44 |
->setOrder('created_at', 'DESC')
|
45 |
->setPageSize(self::PAGE_SIZE);
|
46 |
foreach ($paymentInformation as $payment) {
|
47 |
+
if (null != $payment->getAdditionalInformation('cvc')) {
|
48 |
// quote needs to be loaded, because saving the payment information would fail otherwise
|
49 |
$payment->setQuote(
|
50 |
Mage::getModel('sales/quote')->load($payment->getQuoteId())
|
app/code/community/Netresearch/OPS/Helper/Subscription.php
CHANGED
@@ -37,7 +37,7 @@ class Netresearch_OPS_Helper_Subscription extends Mage_Core_Helper_Abstract
|
|
37 |
* SUB-subscriptionId-TRIAL
|
38 |
*
|
39 |
* @param Mage_Payment_Model_Recurring_Profile $profile - the profile itself
|
40 |
-
* @param bool
|
41 |
*
|
42 |
* @return string
|
43 |
*/
|
37 |
* SUB-subscriptionId-TRIAL
|
38 |
*
|
39 |
* @param Mage_Payment_Model_Recurring_Profile $profile - the profile itself
|
40 |
+
* @param bool $withTrial - if you wish the trial suffix appended in case the profile has a trial subscription
|
41 |
*
|
42 |
* @return string
|
43 |
*/
|
app/code/community/Netresearch/OPS/Helper/Validation/Checkout/Step.php
CHANGED
@@ -13,43 +13,51 @@ class Netresearch_OPS_Helper_Validation_Checkout_Step
|
|
13 |
|
14 |
const SHIPPING_STEP = 'shipping';
|
15 |
|
|
|
|
|
|
|
|
|
16 |
/**
|
17 |
* retrieves the params for pushing back to the billing step
|
18 |
*
|
19 |
* @return array
|
20 |
*/
|
21 |
-
protected function
|
22 |
{
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
*
|
36 |
-
* @return array
|
37 |
-
*/
|
38 |
-
protected function getShippingParams()
|
39 |
{
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
53 |
}
|
54 |
|
55 |
/**
|
@@ -62,16 +70,29 @@ class Netresearch_OPS_Helper_Validation_Checkout_Step
|
|
62 |
public function getStep(array $erroneousFields)
|
63 |
{
|
64 |
$checkoutStep = '';
|
|
|
65 |
foreach ($erroneousFields as $erroneousField) {
|
66 |
-
if (
|
|
|
|
|
67 |
$checkoutStep = self::BILLING_STEP;
|
68 |
break;
|
69 |
}
|
70 |
-
if (
|
|
|
|
|
71 |
$checkoutStep = self::SHIPPING_STEP;
|
72 |
}
|
73 |
}
|
74 |
|
75 |
return $checkoutStep;
|
76 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
13 |
|
14 |
const SHIPPING_STEP = 'shipping';
|
15 |
|
16 |
+
const BILLING_PARAMETER_STRING_VALUE = 'billing';
|
17 |
+
|
18 |
+
const SHIPPING_PARAMETER_STRING_VALUE = 'shipping';
|
19 |
+
|
20 |
/**
|
21 |
* retrieves the params for pushing back to the billing step
|
22 |
*
|
23 |
* @return array
|
24 |
*/
|
25 |
+
protected function determineStep()
|
26 |
{
|
27 |
+
$result = array();
|
28 |
+
$mappedParams = $this->getMappedParams();
|
29 |
+
|
30 |
+
foreach ($mappedParams as $paramName => $value) {
|
31 |
+
if (strpos($value, self::BILLING_PARAMETER_STRING_VALUE) === 0) {
|
32 |
+
$result[self::BILLING_PARAMETER_STRING_VALUE][] = $paramName;
|
33 |
+
}
|
34 |
+
if (strpos($value, self::SHIPPING_PARAMETER_STRING_VALUE) === 0) {
|
35 |
+
$result[self::SHIPPING_STEP][] = $paramName;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
return $result;
|
40 |
}
|
41 |
|
42 |
+
|
43 |
+
protected function getMappedParams()
|
|
|
|
|
|
|
|
|
44 |
{
|
45 |
+
$result = array();
|
46 |
+
$paramLengthFields = $this->getConfig()->getParameterLengths();
|
47 |
+
$frontendFieldMapping = $this->getConfig()->getFrontendFieldMapping();
|
48 |
+
|
49 |
+
foreach (array_keys($paramLengthFields) as $key) {
|
50 |
+
if (isset($frontendFieldMapping[$key])) {
|
51 |
+
$frontendField = !is_array($frontendFieldMapping[$key])
|
52 |
+
? $frontendFieldMapping[$key]
|
53 |
+
: implode(
|
54 |
+
',', $frontendFieldMapping[$key]
|
55 |
+
);
|
56 |
+
$result[$key] = $frontendField;
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
return $result;
|
61 |
}
|
62 |
|
63 |
/**
|
70 |
public function getStep(array $erroneousFields)
|
71 |
{
|
72 |
$checkoutStep = '';
|
73 |
+
$stepParams = $this->determineStep();
|
74 |
foreach ($erroneousFields as $erroneousField) {
|
75 |
+
if (isset($stepParams[self::BILLING_STEP])
|
76 |
+
&& in_array($erroneousField, $stepParams[self::BILLING_STEP])
|
77 |
+
) {
|
78 |
$checkoutStep = self::BILLING_STEP;
|
79 |
break;
|
80 |
}
|
81 |
+
if (isset($stepParams[self::SHIPPING_STEP])
|
82 |
+
&& in_array($erroneousField, $stepParams[self::SHIPPING_STEP])
|
83 |
+
) {
|
84 |
$checkoutStep = self::SHIPPING_STEP;
|
85 |
}
|
86 |
}
|
87 |
|
88 |
return $checkoutStep;
|
89 |
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* @return Netresearch_OPS_Model_Config
|
93 |
+
*/
|
94 |
+
protected function getConfig()
|
95 |
+
{
|
96 |
+
return Mage::getModel('ops/config');
|
97 |
+
}
|
98 |
}
|
app/code/community/Netresearch/OPS/Helper/Validation/Result.php
CHANGED
@@ -107,7 +107,7 @@ class Netresearch_OPS_Helper_Validation_Result
|
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
-
* @return
|
111 |
*/
|
112 |
public function getFormBlock()
|
113 |
{
|
@@ -139,7 +139,6 @@ class Netresearch_OPS_Helper_Validation_Result
|
|
139 |
|
140 |
/**
|
141 |
* @param $messages
|
142 |
-
* @param $result
|
143 |
*
|
144 |
* @return mixed
|
145 |
*/
|
@@ -163,8 +162,10 @@ class Netresearch_OPS_Helper_Validation_Result
|
|
163 |
}
|
164 |
|
165 |
/**
|
166 |
-
* @param $quote
|
167 |
-
* @param $gotoSection
|
|
|
|
|
168 |
*/
|
169 |
protected function addErrorToExistingAddress($quote, $gotoSection)
|
170 |
{
|
@@ -183,9 +184,8 @@ class Netresearch_OPS_Helper_Validation_Result
|
|
183 |
}
|
184 |
|
185 |
/**
|
186 |
-
* @param $messages
|
187 |
-
* @param $
|
188 |
-
* @param $gotoSection
|
189 |
*
|
190 |
* @return mixed
|
191 |
*/
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
+
* @return Netresearch_OPS_Block_Form
|
111 |
*/
|
112 |
public function getFormBlock()
|
113 |
{
|
139 |
|
140 |
/**
|
141 |
* @param $messages
|
|
|
142 |
*
|
143 |
* @return mixed
|
144 |
*/
|
162 |
}
|
163 |
|
164 |
/**
|
165 |
+
* @param Mage_Sales_Model_Quote $quote
|
166 |
+
* @param string $gotoSection
|
167 |
+
*
|
168 |
+
* @return $this
|
169 |
*/
|
170 |
protected function addErrorToExistingAddress($quote, $gotoSection)
|
171 |
{
|
184 |
}
|
185 |
|
186 |
/**
|
187 |
+
* @param string[] $messages
|
188 |
+
* @param string $gotoSection
|
|
|
189 |
*
|
190 |
* @return mixed
|
191 |
*/
|
app/code/community/Netresearch/OPS/Model/Alias.php
CHANGED
@@ -44,19 +44,25 @@ class Netresearch_OPS_Model_Alias extends Mage_Core_Model_Abstract
|
|
44 |
/**
|
45 |
* @param $customerId - the id of the customer
|
46 |
* @param $billingAddressHash - optional billing address hash
|
47 |
-
* @param $
|
|
|
|
|
48 |
* @return Netresearch_OPS_Model_Mysql4_Alias_Collection - collection of aliases for given customer
|
49 |
*/
|
50 |
-
public function getAliasesForCustomer(
|
|
|
|
|
|
|
|
|
|
|
51 |
{
|
52 |
$collection = $this->getCollection()
|
53 |
->addFieldToFilter('customer_id', $customerId);
|
54 |
-
if (
|
55 |
$collection
|
56 |
->addFieldToFilter('billing_address_hash', $billingAddressHash)
|
57 |
->addFieldToFilter('shipping_address_hash', $shippingAddressHash)
|
58 |
-
->addFieldToFilter('store_id', array('eq' => $storeId, 'null' => 'null'))
|
59 |
-
;
|
60 |
}
|
61 |
return $collection->load();
|
62 |
}
|
44 |
/**
|
45 |
* @param $customerId - the id of the customer
|
46 |
* @param $billingAddressHash - optional billing address hash
|
47 |
+
* @param $shippingAddressHash - optional shipping address hash
|
48 |
+
* @param $storeId
|
49 |
+
*
|
50 |
* @return Netresearch_OPS_Model_Mysql4_Alias_Collection - collection of aliases for given customer
|
51 |
*/
|
52 |
+
public function getAliasesForCustomer(
|
53 |
+
$customerId,
|
54 |
+
$billingAddressHash = null,
|
55 |
+
$shippingAddressHash = null,
|
56 |
+
$storeId = null
|
57 |
+
)
|
58 |
{
|
59 |
$collection = $this->getCollection()
|
60 |
->addFieldToFilter('customer_id', $customerId);
|
61 |
+
if (null != $billingAddressHash && null != $shippingAddressHash) {
|
62 |
$collection
|
63 |
->addFieldToFilter('billing_address_hash', $billingAddressHash)
|
64 |
->addFieldToFilter('shipping_address_hash', $shippingAddressHash)
|
65 |
+
->addFieldToFilter('store_id', array('eq' => $storeId, 'null' => 'null'));
|
|
|
66 |
}
|
67 |
return $collection->load();
|
68 |
}
|
app/code/community/Netresearch/OPS/Model/Api/Directlink.php
CHANGED
@@ -36,6 +36,8 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
36 |
* Perform a CURL call and log request end response to logfile
|
37 |
*
|
38 |
* @param array $params
|
|
|
|
|
39 |
* @return mixed
|
40 |
*/
|
41 |
public function call($params, $url)
|
@@ -47,36 +49,47 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
47 |
$http->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params));
|
48 |
$response = $http->read();
|
49 |
$response = substr($response, strpos($response, "<?xml"), strlen($response));
|
50 |
-
|
51 |
-
return $response;
|
52 |
-
} catch (Exception $e) {
|
53 |
Mage::logException($e);
|
54 |
Mage::throwException(
|
55 |
Mage::helper('ops')->__('Ingenico ePayments server is temporarily not available, please try again later.')
|
56 |
);
|
57 |
-
|
|
|
|
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* Performs a POST request to the Direct Link Gateway with the given
|
62 |
* parameters and returns the result parameters as array
|
63 |
*
|
64 |
-
* @param array $
|
|
|
|
|
|
|
65 |
* @return array
|
66 |
*/
|
67 |
public function performRequest($requestParams, $url, $storeId = 0)
|
68 |
{
|
69 |
$helper = Mage::helper('ops');
|
70 |
$params = $this->getEncodedParametersWithHash(
|
71 |
-
array_merge(
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
73 |
$responseParams = $this->getResponseParams($params, $url);
|
74 |
-
$helper->log(
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
80 |
|
81 |
$this->checkResponse($responseParams);
|
82 |
|
@@ -122,7 +135,8 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
122 |
} elseif (array_key_exists('PAYID', $params)) {
|
123 |
$ref = $params['PAYID'];
|
124 |
}
|
125 |
-
Mage::helper('ops')->log(
|
|
|
126 |
$e->getMessage() . ' current retry count: ' . $retryCount . ' for quote ' . $ref
|
127 |
);
|
128 |
$responseParams = $this->getResponseParams($params, $url, ++$retryCount);
|
@@ -137,6 +151,8 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
137 |
/**
|
138 |
* Return Authentication Params for OPS Call
|
139 |
*
|
|
|
|
|
140 |
* @return array
|
141 |
*/
|
142 |
protected function buildAuthenticationParams($storeId = 0)
|
@@ -148,11 +164,12 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
148 |
);
|
149 |
}
|
150 |
|
151 |
-
|
152 |
* Parses the XML-String to an array with the result data
|
153 |
*
|
154 |
-
* @param
|
155 |
-
* @return
|
|
|
156 |
*/
|
157 |
public function getParamArrFromXmlString($xmlString)
|
158 |
{
|
@@ -171,16 +188,19 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
171 |
throw $e;
|
172 |
}
|
173 |
}
|
174 |
-
|
175 |
-
|
176 |
* Check if the Response from OPS reports Errors
|
177 |
*
|
178 |
-
* @param
|
179 |
-
* @return mixed
|
180 |
*/
|
181 |
public function checkResponse($responseParams)
|
182 |
{
|
183 |
-
if (false === is_array($responseParams)
|
|
|
|
|
|
|
|
|
184 |
if (empty($responseParams['NCERRORPLUS'])) {
|
185 |
$responseParams['NCERRORPLUS'] = Mage::helper('ops')->__('Invalid payment information')." Errorcode:".$responseParams['NCERROR'];
|
186 |
}
|
@@ -191,7 +211,7 @@ class Netresearch_OPS_Model_Api_DirectLink extends Mage_Core_Model_Abstract
|
|
191 |
}
|
192 |
|
193 |
Mage::throwException(
|
194 |
-
Mage::helper('ops')->__("An error occured during the Ingenico ePayments request. Your action could not be executed. Message: '%s.'"
|
195 |
);
|
196 |
}
|
197 |
}
|
36 |
* Perform a CURL call and log request end response to logfile
|
37 |
*
|
38 |
* @param array $params
|
39 |
+
* @param string $url
|
40 |
+
*
|
41 |
* @return mixed
|
42 |
*/
|
43 |
public function call($params, $url)
|
49 |
$http->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params));
|
50 |
$response = $http->read();
|
51 |
$response = substr($response, strpos($response, "<?xml"), strlen($response));
|
52 |
+
} catch (Exception $e) {
|
|
|
|
|
53 |
Mage::logException($e);
|
54 |
Mage::throwException(
|
55 |
Mage::helper('ops')->__('Ingenico ePayments server is temporarily not available, please try again later.')
|
56 |
);
|
57 |
+
}
|
58 |
+
|
59 |
+
return $response;
|
60 |
}
|
61 |
|
62 |
/**
|
63 |
* Performs a POST request to the Direct Link Gateway with the given
|
64 |
* parameters and returns the result parameters as array
|
65 |
*
|
66 |
+
* @param array $requestParams
|
67 |
+
* @param string $url
|
68 |
+
* @param int $storeId
|
69 |
+
*
|
70 |
* @return array
|
71 |
*/
|
72 |
public function performRequest($requestParams, $url, $storeId = 0)
|
73 |
{
|
74 |
$helper = Mage::helper('ops');
|
75 |
$params = $this->getEncodedParametersWithHash(
|
76 |
+
array_merge(
|
77 |
+
$requestParams,
|
78 |
+
$this->buildAuthenticationParams($storeId)
|
79 |
+
),//Merge Logic Operation Data with Authentication Data
|
80 |
+
null,
|
81 |
+
$storeId
|
82 |
+
);
|
83 |
$responseParams = $this->getResponseParams($params, $url);
|
84 |
+
$helper->log(
|
85 |
+
$helper->__(
|
86 |
+
"Direct Link Request/Response in Ingenico ePayments \n\nRequest: %s\nResponse: %s\nMagento-URL: %s\nAPI-URL: %s",
|
87 |
+
serialize($params),
|
88 |
+
serialize($responseParams),
|
89 |
+
Mage::helper('core/url')->getCurrentUrl(),
|
90 |
+
$url
|
91 |
+
)
|
92 |
+
);
|
93 |
|
94 |
$this->checkResponse($responseParams);
|
95 |
|
135 |
} elseif (array_key_exists('PAYID', $params)) {
|
136 |
$ref = $params['PAYID'];
|
137 |
}
|
138 |
+
Mage::helper('ops')->log(
|
139 |
+
'DirectLink::getResponseParams failed: ' .
|
140 |
$e->getMessage() . ' current retry count: ' . $retryCount . ' for quote ' . $ref
|
141 |
);
|
142 |
$responseParams = $this->getResponseParams($params, $url, ++$retryCount);
|
151 |
/**
|
152 |
* Return Authentication Params for OPS Call
|
153 |
*
|
154 |
+
* @param int $storeId
|
155 |
+
*
|
156 |
* @return array
|
157 |
*/
|
158 |
protected function buildAuthenticationParams($storeId = 0)
|
164 |
);
|
165 |
}
|
166 |
|
167 |
+
/**
|
168 |
* Parses the XML-String to an array with the result data
|
169 |
*
|
170 |
+
* @param $xmlString
|
171 |
+
* @return mixed
|
172 |
+
* @throws Exception
|
173 |
*/
|
174 |
public function getParamArrFromXmlString($xmlString)
|
175 |
{
|
188 |
throw $e;
|
189 |
}
|
190 |
}
|
191 |
+
|
192 |
+
/**
|
193 |
* Check if the Response from OPS reports Errors
|
194 |
*
|
195 |
+
* @param $responseParams
|
|
|
196 |
*/
|
197 |
public function checkResponse($responseParams)
|
198 |
{
|
199 |
+
if (false === is_array($responseParams)
|
200 |
+
|| false === array_key_exists('NCERROR', $responseParams)
|
201 |
+
|| $responseParams['NCERROR'] > 0
|
202 |
+
)
|
203 |
+
{
|
204 |
if (empty($responseParams['NCERRORPLUS'])) {
|
205 |
$responseParams['NCERRORPLUS'] = Mage::helper('ops')->__('Invalid payment information')." Errorcode:".$responseParams['NCERROR'];
|
206 |
}
|
211 |
}
|
212 |
|
213 |
Mage::throwException(
|
214 |
+
Mage::helper('ops')->__("An error occured during the Ingenico ePayments request. Your action could not be executed. Message: '%s.'", $responseParams['NCERRORPLUS'])
|
215 |
);
|
216 |
}
|
217 |
}
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Capture/Parameter.php
CHANGED
@@ -20,7 +20,8 @@ class Netresearch_OPS_Model_Backend_Operation_Capture_Parameter
|
|
20 |
{
|
21 |
$opsPaymentMethodClass = get_class($opsPaymentMethod);
|
22 |
$opsPmsRequiringSpecialParams = $this->getOpsConfig()
|
23 |
-
->getMethodsRequiringAdditionalParametersFor(
|
|
|
24 |
);
|
25 |
|
26 |
return (in_array($opsPaymentMethodClass, array_values($opsPmsRequiringSpecialParams)));
|
@@ -33,7 +34,7 @@ class Netresearch_OPS_Model_Backend_Operation_Capture_Parameter
|
|
33 |
*/
|
34 |
protected function setAdditionalParamsModelFor(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod)
|
35 |
{
|
36 |
-
if ($opsPaymentMethod instanceof
|
37 |
$this->additionalParamsModel = Mage::getModel('ops/backend_operation_capture_additional_openInvoiceNl');
|
38 |
}
|
39 |
}
|
20 |
{
|
21 |
$opsPaymentMethodClass = get_class($opsPaymentMethod);
|
22 |
$opsPmsRequiringSpecialParams = $this->getOpsConfig()
|
23 |
+
->getMethodsRequiringAdditionalParametersFor(
|
24 |
+
Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_TRANSACTION_TYPE
|
25 |
);
|
26 |
|
27 |
return (in_array($opsPaymentMethodClass, array_values($opsPmsRequiringSpecialParams)));
|
34 |
*/
|
35 |
protected function setAdditionalParamsModelFor(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod)
|
36 |
{
|
37 |
+
if ($opsPaymentMethod instanceof Netresearch_OPS_Model_Payment_OpenInvoice_Abstract) {
|
38 |
$this->additionalParamsModel = Mage::getModel('ops/backend_operation_capture_additional_openInvoiceNl');
|
39 |
}
|
40 |
}
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter.php
CHANGED
@@ -19,7 +19,6 @@ class Netresearch_OPS_Model_Backend_Operation_Parameter
|
|
19 |
* @param Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod
|
20 |
* @param Varien_Object $payment
|
21 |
* @param $amount
|
22 |
-
* @param $arrInfo
|
23 |
*
|
24 |
* @return array
|
25 |
*/
|
@@ -28,7 +27,8 @@ class Netresearch_OPS_Model_Backend_Operation_Parameter
|
|
28 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
29 |
Varien_Object $payment,
|
30 |
$amount
|
31 |
-
)
|
|
|
32 |
return $this->getParameterModel($operation)->getRequestParams($opsPaymentMethod, $payment, $amount);
|
33 |
}
|
34 |
|
@@ -46,7 +46,7 @@ class Netresearch_OPS_Model_Backend_Operation_Parameter
|
|
46 |
if ($operation === Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_TRANSACTION_TYPE) {
|
47 |
return Mage::getModel('ops/backend_operation_capture_parameter');
|
48 |
}
|
49 |
-
if ($operation === Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_TRANSACTION_TYPE){
|
50 |
return Mage::getModel('ops/backend_operation_refund_parameter');
|
51 |
}
|
52 |
|
19 |
* @param Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod
|
20 |
* @param Varien_Object $payment
|
21 |
* @param $amount
|
|
|
22 |
*
|
23 |
* @return array
|
24 |
*/
|
27 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
28 |
Varien_Object $payment,
|
29 |
$amount
|
30 |
+
)
|
31 |
+
{
|
32 |
return $this->getParameterModel($operation)->getRequestParams($opsPaymentMethod, $payment, $amount);
|
33 |
}
|
34 |
|
46 |
if ($operation === Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_TRANSACTION_TYPE) {
|
47 |
return Mage::getModel('ops/backend_operation_capture_parameter');
|
48 |
}
|
49 |
+
if ($operation === Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_TRANSACTION_TYPE) {
|
50 |
return Mage::getModel('ops/backend_operation_refund_parameter');
|
51 |
}
|
52 |
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter/Abstract.php
CHANGED
@@ -27,8 +27,9 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Abstract
|
|
27 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
28 |
Varien_Object $payment,
|
29 |
$amount
|
30 |
-
)
|
31 |
-
|
|
|
32 |
$this->addPmSpecificParams($opsPaymentMethod, $payment, $amount);
|
33 |
|
34 |
return $this->requestParams;
|
@@ -40,7 +41,6 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Abstract
|
|
40 |
* @param Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod
|
41 |
* @param Varien_Object $payment
|
42 |
* @param $amount
|
43 |
-
* @param $arrInfo
|
44 |
*
|
45 |
* @return $this
|
46 |
*/
|
@@ -48,11 +48,12 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Abstract
|
|
48 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
49 |
Varien_Object $payment,
|
50 |
$amount
|
51 |
-
)
|
52 |
-
|
53 |
-
$this->requestParams['
|
|
|
54 |
$this->requestParams['OPERATION'] = $this->getOrderHelper()->determineOperationCode($payment, $amount);
|
55 |
-
$this->requestParams['CURRENCY']
|
56 |
->getBaseCurrencyCode();
|
57 |
|
58 |
return $this;
|
@@ -83,13 +84,14 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Abstract
|
|
83 |
*/
|
84 |
protected function addPmSpecificParams(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
85 |
Varien_Object $payment, $amount
|
86 |
-
)
|
|
|
87 |
if ($this->isPmRequiringAdditionalParams($opsPaymentMethod)) {
|
88 |
$this->setAdditionalParamsModelFor($opsPaymentMethod);
|
89 |
if ($this->additionalParamsModel instanceof
|
90 |
Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
91 |
) {
|
92 |
-
$params = $this->additionalParamsModel->extractAdditionalParams($payment
|
93 |
$this->requestParams = array_merge($this->requestParams, $params);
|
94 |
}
|
95 |
}
|
27 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
28 |
Varien_Object $payment,
|
29 |
$amount
|
30 |
+
)
|
31 |
+
{
|
32 |
+
$this->getBaseParams($opsPaymentMethod, $payment, $amount);
|
33 |
$this->addPmSpecificParams($opsPaymentMethod, $payment, $amount);
|
34 |
|
35 |
return $this->requestParams;
|
41 |
* @param Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod
|
42 |
* @param Varien_Object $payment
|
43 |
* @param $amount
|
|
|
44 |
*
|
45 |
* @return $this
|
46 |
*/
|
48 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
49 |
Varien_Object $payment,
|
50 |
$amount
|
51 |
+
)
|
52 |
+
{
|
53 |
+
$this->requestParams['AMOUNT'] = $this->getDataHelper()->getAmount($amount);
|
54 |
+
$this->requestParams['PAYID'] = $payment->getAdditionalInformation('paymentId');
|
55 |
$this->requestParams['OPERATION'] = $this->getOrderHelper()->determineOperationCode($payment, $amount);
|
56 |
+
$this->requestParams['CURRENCY'] = Mage::app()->getStore($payment->getOrder()->getStoreId())
|
57 |
->getBaseCurrencyCode();
|
58 |
|
59 |
return $this;
|
84 |
*/
|
85 |
protected function addPmSpecificParams(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
86 |
Varien_Object $payment, $amount
|
87 |
+
)
|
88 |
+
{
|
89 |
if ($this->isPmRequiringAdditionalParams($opsPaymentMethod)) {
|
90 |
$this->setAdditionalParamsModelFor($opsPaymentMethod);
|
91 |
if ($this->additionalParamsModel instanceof
|
92 |
Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
93 |
) {
|
94 |
+
$params = $this->additionalParamsModel->extractAdditionalParams($payment);
|
95 |
$this->requestParams = array_merge($this->requestParams, $params);
|
96 |
}
|
97 |
}
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter/Additional/Interface.php
CHANGED
@@ -7,5 +7,5 @@
|
|
7 |
*/
|
8 |
interface Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
9 |
{
|
10 |
-
public function extractAdditionalParams(
|
11 |
}
|
7 |
*/
|
8 |
interface Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
9 |
{
|
10 |
+
public function extractAdditionalParams(Mage_Sales_Model_Order_Payment $payment);
|
11 |
}
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Parameter/Additional/OpenInvoiceNlAbstract.php
CHANGED
@@ -6,65 +6,68 @@
|
|
6 |
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
7 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
*/
|
9 |
-
|
10 |
abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_OpenInvoiceNlAbstract
|
11 |
implements Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
12 |
{
|
13 |
-
protected $
|
14 |
-
protected $
|
15 |
-
protected $
|
16 |
|
17 |
|
18 |
/**
|
19 |
-
* @param
|
20 |
*
|
21 |
* @return array
|
22 |
*/
|
23 |
-
public function extractAdditionalParams(
|
24 |
{
|
|
|
25 |
if ($itemContainer instanceof Mage_Sales_Model_Order_Invoice) {
|
26 |
-
$
|
27 |
-
$this->
|
28 |
-
$this->extractFromInvoicedShippingMethod($itemContainer);
|
29 |
}
|
30 |
|
31 |
-
return $this->
|
32 |
}
|
33 |
|
34 |
/**
|
|
|
|
|
35 |
* extracts all necessary data from the invoice items
|
36 |
*
|
37 |
* @param Mage_Sales_Model_Order_Invoice $invoice
|
|
|
|
|
38 |
*/
|
39 |
protected function extractFromInvoiceItems(Mage_Sales_Model_Order_Invoice $invoice)
|
40 |
{
|
41 |
foreach ($invoice->getItemsCollection() as $item) {
|
42 |
/** @var $item Mage_Sales_Model_Order_Invoice_Item */
|
43 |
// filter out configurable products
|
44 |
-
if ($item
|
45 |
-
&& $item->getParentItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE
|
46 |
-
|| $item->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
|
47 |
continue;
|
48 |
}
|
49 |
-
$this->
|
50 |
-
$this->
|
51 |
-
$this->
|
52 |
-
|
53 |
);
|
54 |
-
$this->
|
55 |
-
$this->
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
++$this->itemIdx;
|
60 |
}
|
61 |
|
62 |
return $this;
|
63 |
}
|
64 |
|
|
|
65 |
/**
|
66 |
* extract the necessary data from the shipping data of the invoice
|
67 |
*
|
|
|
|
|
68 |
* @param Mage_Sales_Model_Order_Invoice $invoice
|
69 |
*
|
70 |
* @return $this
|
@@ -73,14 +76,14 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Open
|
|
73 |
{
|
74 |
$amount = $invoice->getBaseShippingInclTax();
|
75 |
if (0 < $amount) {
|
76 |
-
$this->
|
77 |
-
$this->
|
78 |
-
substr($invoice->getOrder()->getShippingDescription(), 0, 30);
|
79 |
-
$this->
|
80 |
-
$this->
|
81 |
-
$this->
|
82 |
-
$this->
|
83 |
-
++$this->
|
84 |
}
|
85 |
|
86 |
|
@@ -88,6 +91,8 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Open
|
|
88 |
}
|
89 |
|
90 |
/**
|
|
|
|
|
91 |
* retrieves used shipping tax rate
|
92 |
*
|
93 |
* @param Mage_Sales_Model_Order_Invoice $invoice
|
@@ -96,8 +101,8 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Open
|
|
96 |
*/
|
97 |
protected function getShippingTaxRate(Mage_Sales_Model_Order_Invoice $invoice)
|
98 |
{
|
99 |
-
$taxRate
|
100 |
-
$order
|
101 |
|
102 |
$taxRate = (floatval(Mage::helper('ops/payment_request')->getShippingTaxRate($order)));
|
103 |
|
@@ -112,33 +117,35 @@ abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Open
|
|
112 |
*/
|
113 |
protected function getOpsDataHelper()
|
114 |
{
|
115 |
-
if (null === $this->
|
116 |
-
$this->
|
117 |
}
|
118 |
|
119 |
-
return $this->
|
120 |
}
|
121 |
|
122 |
|
123 |
/**
|
124 |
-
* @
|
|
|
|
|
125 |
*/
|
126 |
protected function extractFromDiscountData($invoice)
|
127 |
{
|
128 |
$amount = $invoice->getBaseDiscountAmount();
|
129 |
if (0 > $amount) {
|
130 |
$couponRuleName = 'DISCOUNT';
|
131 |
-
$order
|
132 |
if ($order->getCouponRuleName() && strlen(trim($order->getCouponRuleName())) > 0) {
|
133 |
$couponRuleName = substr(trim($order->getCouponRuleName()), 0, 30);
|
134 |
}
|
135 |
-
$this->
|
136 |
-
$this->
|
137 |
-
$this->
|
138 |
-
$this->
|
139 |
-
$this->
|
140 |
-
$this->
|
141 |
-
++$this->
|
142 |
}
|
143 |
}
|
144 |
}
|
6 |
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
7 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
*/
|
|
|
9 |
abstract class Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_OpenInvoiceNlAbstract
|
10 |
implements Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
11 |
{
|
12 |
+
protected $_additionalParams = array();
|
13 |
+
protected $_opsDataHelper = null;
|
14 |
+
protected $_itemIdx = 1;
|
15 |
|
16 |
|
17 |
/**
|
18 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
19 |
*
|
20 |
* @return array
|
21 |
*/
|
22 |
+
public function extractAdditionalParams(Mage_Sales_Model_Order_Payment $payment)
|
23 |
{
|
24 |
+
$itemContainer = $payment->getInvoice();
|
25 |
if ($itemContainer instanceof Mage_Sales_Model_Order_Invoice) {
|
26 |
+
$requestHelper = Mage::helper('ops/payment_request');
|
27 |
+
$this->_additionalParams = $requestHelper->extractOrderItemParameters($itemContainer);
|
|
|
28 |
}
|
29 |
|
30 |
+
return $this->_additionalParams;
|
31 |
}
|
32 |
|
33 |
/**
|
34 |
+
* @deprecated Netresearch_OPS_Helper_Payment_Request should be used instead
|
35 |
+
*
|
36 |
* extracts all necessary data from the invoice items
|
37 |
*
|
38 |
* @param Mage_Sales_Model_Order_Invoice $invoice
|
39 |
+
*
|
40 |
+
* @return Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
41 |
*/
|
42 |
protected function extractFromInvoiceItems(Mage_Sales_Model_Order_Invoice $invoice)
|
43 |
{
|
44 |
foreach ($invoice->getItemsCollection() as $item) {
|
45 |
/** @var $item Mage_Sales_Model_Order_Invoice_Item */
|
46 |
// filter out configurable products
|
47 |
+
if (!$this->isDataItem($item)) {
|
|
|
|
|
48 |
continue;
|
49 |
}
|
50 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = substr($item->getOrderItemId(), 0, 15);
|
51 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx] = substr($item->getName(), 0, 30);
|
52 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()->getAmount(
|
53 |
+
$item->getBasePriceInclTax()
|
54 |
);
|
55 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = $item->getQty();
|
56 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx]
|
57 |
+
= str_replace(',', '.', (string)(float)$item->getTaxPercent()) . '%';
|
58 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
59 |
+
++$this->_itemIdx;
|
|
|
60 |
}
|
61 |
|
62 |
return $this;
|
63 |
}
|
64 |
|
65 |
+
|
66 |
/**
|
67 |
* extract the necessary data from the shipping data of the invoice
|
68 |
*
|
69 |
+
* @deprecated Netresearch_OPS_Helper_Payment_Request should be used instead
|
70 |
+
*
|
71 |
* @param Mage_Sales_Model_Order_Invoice $invoice
|
72 |
*
|
73 |
* @return $this
|
76 |
{
|
77 |
$amount = $invoice->getBaseShippingInclTax();
|
78 |
if (0 < $amount) {
|
79 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = 'SHIPPING';
|
80 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx]
|
81 |
+
= substr($invoice->getOrder()->getShippingDescription(), 0, 30);
|
82 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()->getAmount($amount);
|
83 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = 1;
|
84 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx] = $this->getShippingTaxRate($invoice) . '%';
|
85 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
86 |
+
++$this->_itemIdx;
|
87 |
}
|
88 |
|
89 |
|
91 |
}
|
92 |
|
93 |
/**
|
94 |
+
* @deprecated Netresearch_OPS_Helper_Payment_Request should be used instead
|
95 |
+
*
|
96 |
* retrieves used shipping tax rate
|
97 |
*
|
98 |
* @param Mage_Sales_Model_Order_Invoice $invoice
|
101 |
*/
|
102 |
protected function getShippingTaxRate(Mage_Sales_Model_Order_Invoice $invoice)
|
103 |
{
|
104 |
+
$taxRate = 0.0;
|
105 |
+
$order = $invoice->getOrder();
|
106 |
|
107 |
$taxRate = (floatval(Mage::helper('ops/payment_request')->getShippingTaxRate($order)));
|
108 |
|
117 |
*/
|
118 |
protected function getOpsDataHelper()
|
119 |
{
|
120 |
+
if (null === $this->_opsDataHelper) {
|
121 |
+
$this->_opsDataHelper = Mage::helper('ops/data');
|
122 |
}
|
123 |
|
124 |
+
return $this->_opsDataHelper;
|
125 |
}
|
126 |
|
127 |
|
128 |
/**
|
129 |
+
* @deprecated Netresearch_OPS_Helper_Payment_Request should be used instead
|
130 |
+
*
|
131 |
+
* @param $invoice
|
132 |
*/
|
133 |
protected function extractFromDiscountData($invoice)
|
134 |
{
|
135 |
$amount = $invoice->getBaseDiscountAmount();
|
136 |
if (0 > $amount) {
|
137 |
$couponRuleName = 'DISCOUNT';
|
138 |
+
$order = $invoice->getOrder();
|
139 |
if ($order->getCouponRuleName() && strlen(trim($order->getCouponRuleName())) > 0) {
|
140 |
$couponRuleName = substr(trim($order->getCouponRuleName()), 0, 30);
|
141 |
}
|
142 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = 'DISCOUNT';
|
143 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx] = $couponRuleName;
|
144 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()->getAmount($amount);
|
145 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = 1;
|
146 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx] = $this->getShippingTaxRate($invoice) . '%';
|
147 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
148 |
+
++$this->_itemIdx;
|
149 |
}
|
150 |
}
|
151 |
}
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Refund/Additional/OpenInvoiceNl.php
CHANGED
@@ -10,69 +10,63 @@
|
|
10 |
class Netresearch_OPS_Model_Backend_Operation_Refund_Additional_OpenInvoiceNl
|
11 |
extends Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_OpenInvoiceNlAbstract
|
12 |
{
|
13 |
-
|
|
|
14 |
protected $amount = 0;
|
15 |
protected $refundHelper = null;
|
16 |
|
17 |
/**
|
18 |
-
* @param
|
19 |
* @return array
|
20 |
*/
|
21 |
-
public function extractAdditionalParams(
|
22 |
{
|
23 |
-
$invoice =
|
24 |
-
if ($itemContainer instanceof Mage_Sales_Model_Order_Invoice && $itemContainer) {
|
25 |
-
$invoice = $itemContainer;
|
26 |
-
} else if ($itemContainer instanceof Mage_Sales_Block_Order_Creditmemo && $itemContainer){
|
27 |
-
$invoice = Mage::getModel('sales/order_invoice')->load($itemContainer->getInvoiceId());
|
28 |
-
}
|
29 |
|
30 |
-
if($invoice == null){
|
31 |
// if invoice is not set we load id hard from the request params
|
32 |
$invoice = $this->getRefundHelper()->getInvoiceFromCreditMemoRequest();
|
33 |
}
|
34 |
-
$this->creditmemo = $
|
35 |
|
36 |
if ($invoice instanceof Mage_Sales_Model_Order_Invoice) {
|
37 |
$this->extractFromCreditMemoItems($invoice);
|
38 |
// We dont extract from discount data for the moment, because partial refunds are a problem
|
39 |
-
// $this->extractFromDiscountData($invoice);
|
40 |
$this->extractFromInvoicedShippingMethod($invoice);
|
41 |
$this->extractFromAdjustments($invoice);
|
42 |
// Overwrite amount to fix Magentos rounding problems (eg +1ct)
|
43 |
-
$this->
|
44 |
}
|
45 |
|
46 |
-
return $this->
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
* extracts all data from the invoice according to the credit memo items
|
51 |
*
|
52 |
-
* @param $itemContainer
|
53 |
*/
|
54 |
-
protected function extractFromCreditMemoItems(
|
55 |
{
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
$this->additionalParams['ITEMID' . $this->itemIdx] = substr($item->getOrderItemId(), 0, 15);
|
64 |
-
$this->additionalParams['ITEMNAME' . $this->itemIdx] = substr($item->getName(), 0, 30);
|
65 |
-
$this->additionalParams['ITEMPRICE' . $this->itemIdx] = $this->getOpsDataHelper()->getAmount(
|
66 |
-
$item->getBasePriceInclTax()
|
67 |
-
);
|
68 |
-
$this->amount += $this->getOpsDataHelper()->getAmount($item->getBasePriceInclTax()) * $this->creditmemo['items'][$item->getOrderItemId()]['qty'];
|
69 |
-
$this->additionalParams['ITEMQUANT' . $this->itemIdx] = $this->creditmemo['items'][$item->getOrderItemId()]['qty'];
|
70 |
-
$this->additionalParams['ITEMVATCODE' . $this->itemIdx]
|
71 |
-
=
|
72 |
-
str_replace(',', '.', (string)(float)$item->getTaxPercent()) . '%';
|
73 |
-
$this->additionalParams['TAXINCLUDED' . $this->itemIdx] = 1;
|
74 |
-
++$this->itemIdx;
|
75 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
}
|
77 |
|
78 |
}
|
@@ -80,16 +74,17 @@ class Netresearch_OPS_Model_Backend_Operation_Refund_Additional_OpenInvoiceNl
|
|
80 |
|
81 |
protected function extractFromInvoicedShippingMethod(Mage_Sales_Model_Order_Invoice $invoice)
|
82 |
{
|
83 |
-
if ($this->creditmemo
|
84 |
-
$this->
|
85 |
-
$this->
|
86 |
substr($invoice->getOrder()->getShippingDescription(), 0, 30);
|
87 |
-
$this->
|
88 |
-
|
89 |
-
$this->
|
90 |
-
$this->
|
91 |
-
$this->
|
92 |
-
|
|
|
93 |
}
|
94 |
|
95 |
}
|
@@ -102,26 +97,28 @@ class Netresearch_OPS_Model_Backend_Operation_Refund_Additional_OpenInvoiceNl
|
|
102 |
protected function extractFromAdjustments(Mage_Sales_Model_Order_Invoice $invoice)
|
103 |
{
|
104 |
|
105 |
-
if ($this->creditmemo
|
106 |
-
$this->
|
107 |
-
$this->
|
108 |
-
$this->
|
109 |
-
|
110 |
-
$this->
|
111 |
-
$this->
|
112 |
-
$this->
|
113 |
-
|
|
|
114 |
|
115 |
}
|
116 |
-
if ($this->creditmemo
|
117 |
-
$this->
|
118 |
-
$this->
|
119 |
-
$this->
|
120 |
-
|
121 |
-
$this->
|
122 |
-
$this->
|
123 |
-
$this->
|
124 |
-
|
|
|
125 |
}
|
126 |
}
|
127 |
|
10 |
class Netresearch_OPS_Model_Backend_Operation_Refund_Additional_OpenInvoiceNl
|
11 |
extends Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_OpenInvoiceNlAbstract
|
12 |
{
|
13 |
+
/** @var $creditmemo Mage_Sales_Model_Order_Creditmemo */
|
14 |
+
protected $creditmemo = null;
|
15 |
protected $amount = 0;
|
16 |
protected $refundHelper = null;
|
17 |
|
18 |
/**
|
19 |
+
* @param Mage_Sales_Model_Order_Payment $itemContainer
|
20 |
* @return array
|
21 |
*/
|
22 |
+
public function extractAdditionalParams(Mage_Sales_Model_Order_Payment $payment = null)
|
23 |
{
|
24 |
+
$invoice = $payment->getInvoice();
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
+
if ($invoice == null) {
|
27 |
// if invoice is not set we load id hard from the request params
|
28 |
$invoice = $this->getRefundHelper()->getInvoiceFromCreditMemoRequest();
|
29 |
}
|
30 |
+
$this->creditmemo = $payment->getCreditmemo();
|
31 |
|
32 |
if ($invoice instanceof Mage_Sales_Model_Order_Invoice) {
|
33 |
$this->extractFromCreditMemoItems($invoice);
|
34 |
// We dont extract from discount data for the moment, because partial refunds are a problem
|
|
|
35 |
$this->extractFromInvoicedShippingMethod($invoice);
|
36 |
$this->extractFromAdjustments($invoice);
|
37 |
// Overwrite amount to fix Magentos rounding problems (eg +1ct)
|
38 |
+
$this->_additionalParams['AMOUNT'] = $this->amount;
|
39 |
}
|
40 |
|
41 |
+
return $this->_additionalParams;
|
42 |
}
|
43 |
|
44 |
/**
|
45 |
* extracts all data from the invoice according to the credit memo items
|
46 |
*
|
|
|
47 |
*/
|
48 |
+
protected function extractFromCreditMemoItems()
|
49 |
{
|
50 |
+
/** @var Mage_Sales_Model_Order_Creditmemo_Item $item */
|
51 |
+
foreach ($this->creditmemo->getAllItems() as $item) {
|
52 |
+
if ($item->getOrderItem()->getParentItemId()
|
53 |
+
&& $item->getOrderItem()->getParentItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE
|
54 |
+
|| $item->getOrderItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE
|
55 |
+
) {
|
56 |
+
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = substr($item->getOrderItemId(), 0, 15);
|
59 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx] = substr($item->getName(), 0, 30);
|
60 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()->getAmount(
|
61 |
+
$item->getBasePriceInclTax()
|
62 |
+
);
|
63 |
+
$this->amount += $this->getOpsDataHelper()
|
64 |
+
->getAmount($item->getBasePriceInclTax()) * $item->getQty();
|
65 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = $item->getQty();
|
66 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx]
|
67 |
+
= str_replace(',', '.', (string)(float)$item->getOrderItem()->getTaxPercent()) . '%';
|
68 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
69 |
+
++$this->_itemIdx;
|
70 |
}
|
71 |
|
72 |
}
|
74 |
|
75 |
protected function extractFromInvoicedShippingMethod(Mage_Sales_Model_Order_Invoice $invoice)
|
76 |
{
|
77 |
+
if ($this->creditmemo->getBaseShippingInclTax() > 0) {
|
78 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = 'SHIPPING';
|
79 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx] =
|
80 |
substr($invoice->getOrder()->getShippingDescription(), 0, 30);
|
81 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()
|
82 |
+
->getAmount($this->creditmemo->getBaseShippingInclTax());
|
83 |
+
$this->amount += $this->getOpsDataHelper()->getAmount($this->creditmemo->getBaseShippingInclTax());
|
84 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = 1;
|
85 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx] = $this->getShippingTaxRate($invoice) . '%';
|
86 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
87 |
+
++$this->_itemIdx;
|
88 |
}
|
89 |
|
90 |
}
|
97 |
protected function extractFromAdjustments(Mage_Sales_Model_Order_Invoice $invoice)
|
98 |
{
|
99 |
|
100 |
+
if ($this->creditmemo->getBaseAdjustmentPositive() > 0) {
|
101 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = 'ADJUSTREFUND';
|
102 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx] = 'Adjustment Refund';
|
103 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()
|
104 |
+
->getAmount($this->creditmemo->getBaseAdjustmentPositive());
|
105 |
+
$this->amount += $this->getOpsDataHelper()->getAmount($this->creditmemo->getBaseAdjustmentPositive());
|
106 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = 1;
|
107 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx] = $this->getShippingTaxRate($invoice) . '%';
|
108 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
109 |
+
++$this->_itemIdx;
|
110 |
|
111 |
}
|
112 |
+
if ($this->creditmemo->getBaseAdjustmentNegative() > 0) {
|
113 |
+
$this->_additionalParams['ITEMID' . $this->_itemIdx] = 'ADJUSTFEE';
|
114 |
+
$this->_additionalParams['ITEMNAME' . $this->_itemIdx] = 'Adjustment Fee';
|
115 |
+
$this->_additionalParams['ITEMPRICE' . $this->_itemIdx] = $this->getOpsDataHelper()
|
116 |
+
->getAmount(-$this->creditmemo->getBaseAdjustmentNegative());
|
117 |
+
$this->amount += $this->getOpsDataHelper()->getAmount(-$this->creditmemo->getBaseAdjustmentNegative());
|
118 |
+
$this->_additionalParams['ITEMQUANT' . $this->_itemIdx] = 1;
|
119 |
+
$this->_additionalParams['ITEMVATCODE' . $this->_itemIdx] = $this->getShippingTaxRate($invoice) . '%';
|
120 |
+
$this->_additionalParams['TAXINCLUDED' . $this->_itemIdx] = 1;
|
121 |
+
++$this->_itemIdx;
|
122 |
}
|
123 |
}
|
124 |
|
app/code/community/Netresearch/OPS/Model/Backend/Operation/Refund/Parameter.php
CHANGED
@@ -20,7 +20,8 @@ class Netresearch_OPS_Model_Backend_Operation_Refund_Parameter
|
|
20 |
{
|
21 |
$opsPaymentMethodClass = get_class($opsPaymentMethod);
|
22 |
$opsPmsRequiringSpecialParams = $this->getOpsConfig()
|
23 |
-
->getMethodsRequiringAdditionalParametersFor(
|
|
|
24 |
);
|
25 |
|
26 |
return (in_array($opsPaymentMethodClass, array_values($opsPmsRequiringSpecialParams)));
|
@@ -33,20 +34,21 @@ class Netresearch_OPS_Model_Backend_Operation_Refund_Parameter
|
|
33 |
*/
|
34 |
protected function setAdditionalParamsModelFor(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod)
|
35 |
{
|
36 |
-
if ($opsPaymentMethod instanceof
|
37 |
$this->additionalParamsModel = Mage::getModel('ops/backend_operation_refund_additional_openInvoiceNl');
|
38 |
}
|
39 |
}
|
40 |
|
41 |
protected function addPmSpecificParams(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
42 |
Varien_Object $payment, $amount
|
43 |
-
)
|
|
|
44 |
if ($this->isPmRequiringAdditionalParams($opsPaymentMethod)) {
|
45 |
$this->setAdditionalParamsModelFor($opsPaymentMethod);
|
46 |
if ($this->additionalParamsModel instanceof
|
47 |
Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
48 |
) {
|
49 |
-
$params = $this->additionalParamsModel->extractAdditionalParams(
|
50 |
$this->requestParams = array_merge($this->requestParams, $params);
|
51 |
}
|
52 |
}
|
20 |
{
|
21 |
$opsPaymentMethodClass = get_class($opsPaymentMethod);
|
22 |
$opsPmsRequiringSpecialParams = $this->getOpsConfig()
|
23 |
+
->getMethodsRequiringAdditionalParametersFor(
|
24 |
+
Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_TRANSACTION_TYPE
|
25 |
);
|
26 |
|
27 |
return (in_array($opsPaymentMethodClass, array_values($opsPmsRequiringSpecialParams)));
|
34 |
*/
|
35 |
protected function setAdditionalParamsModelFor(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod)
|
36 |
{
|
37 |
+
if ($opsPaymentMethod instanceof Netresearch_OPS_Model_Payment_OpenInvoice_Abstract) {
|
38 |
$this->additionalParamsModel = Mage::getModel('ops/backend_operation_refund_additional_openInvoiceNl');
|
39 |
}
|
40 |
}
|
41 |
|
42 |
protected function addPmSpecificParams(Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
43 |
Varien_Object $payment, $amount
|
44 |
+
)
|
45 |
+
{
|
46 |
if ($this->isPmRequiringAdditionalParams($opsPaymentMethod)) {
|
47 |
$this->setAdditionalParamsModelFor($opsPaymentMethod);
|
48 |
if ($this->additionalParamsModel instanceof
|
49 |
Netresearch_OPS_Model_Backend_Operation_Parameter_Additional_Interface
|
50 |
) {
|
51 |
+
$params = $this->additionalParamsModel->extractAdditionalParams($payment);
|
52 |
$this->requestParams = array_merge($this->requestParams, $params);
|
53 |
}
|
54 |
}
|
app/code/community/Netresearch/OPS/Model/Config.php
CHANGED
@@ -44,11 +44,12 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
44 |
*/
|
45 |
public function getConfigData($path, $storeId = null)
|
46 |
{
|
|
|
47 |
if (!empty($path)) {
|
48 |
-
|
49 |
}
|
50 |
|
51 |
-
return
|
52 |
}
|
53 |
|
54 |
/**
|
@@ -78,6 +79,7 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
78 |
/**
|
79 |
* Return frontend gateway path, get from config. Setup on admin place.
|
80 |
*
|
|
|
81 |
* @param int $storeId
|
82 |
*
|
83 |
* @return string
|
@@ -185,7 +187,7 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
185 |
'_secure' => $this->isCurrentlySecure(),
|
186 |
'_nosid' => true
|
187 |
);
|
188 |
-
if (
|
189 |
$params['_store'] = $storeId;
|
190 |
}
|
191 |
|
@@ -238,7 +240,7 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
238 |
'_secure' => $this->isCurrentlySecure(),
|
239 |
'_nosid' => true
|
240 |
);
|
241 |
-
if (
|
242 |
$params['_store'] = $storeId;
|
243 |
}
|
244 |
if ($admin) {
|
@@ -320,7 +322,7 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
320 |
'_secure' => $this->isCurrentlySecure(),
|
321 |
'_nosid' => true,
|
322 |
);
|
323 |
-
if (
|
324 |
$params['_store'] = $storeId;
|
325 |
}
|
326 |
if ($admin) {
|
@@ -333,34 +335,37 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
333 |
|
334 |
}
|
335 |
|
336 |
-
public function getRegisterDirectDebitPaymentUrl()
|
337 |
-
{
|
338 |
-
return Mage::getUrl(
|
339 |
-
self::OPS_CONTROLLER_ROUTE_PAYMENT . 'registerDirectDebitPayment',
|
340 |
-
array('_secure' => $this->isCurrentlySecure(), '_nosid' => true)
|
341 |
-
);
|
342 |
-
}
|
343 |
-
|
344 |
/**
|
345 |
* Checks if requests should be logged or not regarding configuration
|
346 |
*
|
347 |
-
* @
|
|
|
348 |
*/
|
349 |
public function shouldLogRequests($storeId = null)
|
350 |
{
|
351 |
return $this->getConfigData('debug_flag', $storeId);
|
352 |
}
|
353 |
|
|
|
|
|
|
|
354 |
public function hasCatalogUrl()
|
355 |
{
|
356 |
return Mage::getStoreConfig('payment_services/ops/showcatalogbutton');
|
357 |
}
|
358 |
|
|
|
|
|
|
|
359 |
public function hasHomeUrl()
|
360 |
{
|
361 |
return Mage::getStoreConfig('payment_services/ops/showhomebutton');
|
362 |
}
|
363 |
|
|
|
|
|
|
|
|
|
364 |
public function getAcceptedCcTypes($code)
|
365 |
{
|
366 |
return Mage::getStoreConfig('payment/' . $code . '/types');
|
@@ -388,21 +393,33 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
388 |
return $inlineTypes;
|
389 |
}
|
390 |
|
|
|
|
|
|
|
391 |
public function get3dSecureIsActive()
|
392 |
{
|
393 |
return Mage::getStoreConfig('payment/ops_cc/enabled_3dsecure');
|
394 |
}
|
395 |
|
|
|
|
|
|
|
396 |
public function getDirectDebitCountryIds()
|
397 |
{
|
398 |
return Mage::getStoreConfig('payment/ops_directDebit/countryIds');
|
399 |
}
|
400 |
|
|
|
|
|
|
|
401 |
public function getBankTransferCountryIds()
|
402 |
{
|
403 |
return Mage::getStoreConfig('payment/ops_bankTransfer/countryIds');
|
404 |
}
|
405 |
|
|
|
|
|
|
|
406 |
public function getDirectEbankingBrands()
|
407 |
{
|
408 |
return Mage::getStoreConfig('payment/ops_directEbanking/brands');
|
@@ -430,6 +447,11 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
430 |
return $url;
|
431 |
}
|
432 |
|
|
|
|
|
|
|
|
|
|
|
433 |
public function getCcSaveAliasUrl($storeId = null, $admin = false)
|
434 |
{
|
435 |
$params = array(
|
@@ -466,7 +488,7 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
466 |
{
|
467 |
$result = array();
|
468 |
$brands = Mage::getStoreConfig('payment/ops_interSolve/brands', $storeId);
|
469 |
-
if (
|
470 |
$result = unserialize($brands);
|
471 |
}
|
472 |
|
@@ -482,19 +504,25 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
482 |
{
|
483 |
$result = array();
|
484 |
$methods = Mage::getStoreConfig('payment/ops_flex/methods', $storeId);
|
485 |
-
if (
|
486 |
$result = unserialize($methods);
|
487 |
}
|
488 |
|
489 |
return $result;
|
490 |
}
|
491 |
|
|
|
|
|
|
|
492 |
public function getAllCcTypes()
|
493 |
{
|
494 |
return explode(',', Mage::getStoreConfig('payment/ops_cc/availableTypes'));
|
495 |
}
|
496 |
|
497 |
|
|
|
|
|
|
|
498 |
public function getAllDcTypes()
|
499 |
{
|
500 |
return explode(',', Mage::getStoreConfig('payment/ops_dc/availableTypes'));
|
@@ -509,6 +537,7 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
509 |
{
|
510 |
return array(
|
511 |
'AAVCHECK',
|
|
|
512 |
'CVCCHECK',
|
513 |
'CCCTY',
|
514 |
'IPCTY',
|
@@ -523,6 +552,9 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
523 |
);
|
524 |
}
|
525 |
|
|
|
|
|
|
|
526 |
public function getSendInvoice()
|
527 |
{
|
528 |
return (bool)(int)Mage::getStoreConfig('payment_services/ops/send_invoice');
|
@@ -540,6 +572,9 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
540 |
return (bool)(int)Mage::getStoreConfig('payment/' . $code . '/backend_enabled', $storeId);
|
541 |
}
|
542 |
|
|
|
|
|
|
|
543 |
public function isAliasInfoBlockEnabled()
|
544 |
{
|
545 |
return (bool)(int)Mage::getStoreConfig('payment/ops_cc/show_alias_manager_info_for_guests');
|
@@ -558,6 +593,33 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
558 |
return (bool)Mage::getStoreConfig('payment/' . $code . '/active_alias', $storeId);
|
559 |
}
|
560 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
561 |
/**
|
562 |
* getter for usage of order reference
|
563 |
*/
|
@@ -628,6 +690,10 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
628 |
}
|
629 |
|
630 |
|
|
|
|
|
|
|
|
|
631 |
public function getMethodsRequiringAdditionalParametersFor($operation)
|
632 |
{
|
633 |
return Mage::getStoreConfig('payment/additional_params_required/' . $operation);
|
@@ -673,12 +739,18 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
673 |
return $this->getConfigData('paramLength');
|
674 |
}
|
675 |
|
|
|
|
|
|
|
676 |
public function getFrontendFieldMapping()
|
677 |
{
|
678 |
return $this->getConfigData('frontendFieldMapping');
|
679 |
|
680 |
}
|
681 |
|
|
|
|
|
|
|
682 |
public function getValidationUrl()
|
683 |
{
|
684 |
return Mage::getUrl(
|
@@ -687,6 +759,10 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
687 |
);
|
688 |
}
|
689 |
|
|
|
|
|
|
|
|
|
690 |
public function getInlineOrderReference($storeId = null)
|
691 |
{
|
692 |
return $this->getConfigData('inlineOrderReference', $storeId);
|
@@ -750,26 +826,56 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
750 |
}
|
751 |
}
|
752 |
|
|
|
|
|
|
|
|
|
753 |
public function getTemplateIdentifier($storeId = null)
|
754 |
{
|
755 |
return $this->getConfigData('template_identifier', $storeId);
|
756 |
}
|
757 |
|
|
|
|
|
|
|
|
|
758 |
public function getResendPaymentInfoIdentity($storeId = null)
|
759 |
{
|
760 |
return $this->getConfigData('resendPaymentInfo_identity', $storeId);
|
761 |
}
|
762 |
|
|
|
|
|
|
|
|
|
763 |
public function getResendPaymentInfoTemplate($storeId = null)
|
764 |
{
|
765 |
return $this->getConfigData('resendPaymentInfo_template', $storeId);
|
766 |
}
|
767 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
768 |
public function getStateRestriction()
|
769 |
{
|
770 |
return $this->getConfigData('ops_state_restriction');
|
771 |
}
|
772 |
|
|
|
|
|
|
|
|
|
|
|
773 |
public function getPaymentRetryUrl($params, $storeId = null)
|
774 |
{
|
775 |
return Mage::getUrl(
|
@@ -792,6 +898,10 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
792 |
return (bool)$this->getConfigData('device_fingerprinting', $storeId);
|
793 |
}
|
794 |
|
|
|
|
|
|
|
|
|
795 |
public function getTransActionTimeout($storeId = null)
|
796 |
{
|
797 |
return (int)$this->getConfigData('ops_rtimeout', $storeId);
|
@@ -808,34 +918,59 @@ class Netresearch_OPS_Model_Config extends Mage_Payment_Model_Config
|
|
808 |
return (bool)$this->getConfigData('creditdebit_split', $storeId);
|
809 |
}
|
810 |
|
|
|
|
|
|
|
811 |
public function getAllRecurringCcTypes()
|
812 |
{
|
813 |
return explode(',', Mage::getStoreConfig('payment/ops_recurring_cc/availableTypes'));
|
814 |
}
|
815 |
|
|
|
|
|
|
|
816 |
public function getAcceptedRecurringCcTypes()
|
817 |
{
|
818 |
return explode(',', Mage::getStoreConfig('payment/ops_recurring_cc/acceptedTypes'));
|
819 |
}
|
820 |
|
|
|
|
|
|
|
|
|
821 |
public function getMonthlyBillingDay($storeId = null)
|
822 |
{
|
823 |
return Mage::getStoreConfig(self::OPS_PAYMENT_PATH . 'billing_day_month', $storeId);
|
824 |
}
|
825 |
|
|
|
|
|
|
|
|
|
826 |
public function getWeeklyBillingDay($storeId = null)
|
827 |
{
|
828 |
return Mage::getStoreConfig(self::OPS_PAYMENT_PATH . 'billing_day_week', $storeId);
|
829 |
}
|
830 |
|
|
|
|
|
|
|
|
|
831 |
public function getSuspendSubscriptionTemplate($storeId = null)
|
832 |
{
|
833 |
return $this->getConfigData('suspendSubscription_template', $storeId);
|
834 |
}
|
835 |
|
|
|
|
|
|
|
|
|
836 |
public function getSuspendSubscriptionIdentity($storeId = null)
|
837 |
{
|
838 |
return $this->getConfigData('suspendSubscription_identity', $storeId);
|
839 |
}
|
|
|
|
|
|
|
840 |
}
|
841 |
|
44 |
*/
|
45 |
public function getConfigData($path, $storeId = null)
|
46 |
{
|
47 |
+
$result = false;
|
48 |
if (!empty($path)) {
|
49 |
+
$result = Mage::getStoreConfig(self::OPS_PAYMENT_PATH . $path, $storeId);
|
50 |
}
|
51 |
|
52 |
+
return $result;
|
53 |
}
|
54 |
|
55 |
/**
|
79 |
/**
|
80 |
* Return frontend gateway path, get from config. Setup on admin place.
|
81 |
*
|
82 |
+
* @param string $path
|
83 |
* @param int $storeId
|
84 |
*
|
85 |
* @return string
|
187 |
'_secure' => $this->isCurrentlySecure(),
|
188 |
'_nosid' => true
|
189 |
);
|
190 |
+
if (null != $storeId) {
|
191 |
$params['_store'] = $storeId;
|
192 |
}
|
193 |
|
240 |
'_secure' => $this->isCurrentlySecure(),
|
241 |
'_nosid' => true
|
242 |
);
|
243 |
+
if (null !=$storeId) {
|
244 |
$params['_store'] = $storeId;
|
245 |
}
|
246 |
if ($admin) {
|
322 |
'_secure' => $this->isCurrentlySecure(),
|
323 |
'_nosid' => true,
|
324 |
);
|
325 |
+
if (null != $storeId) {
|
326 |
$params['_store'] = $storeId;
|
327 |
}
|
328 |
if ($admin) {
|
335 |
|
336 |
}
|
337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
/**
|
339 |
* Checks if requests should be logged or not regarding configuration
|
340 |
*
|
341 |
+
* @param null $storeId
|
342 |
+
* @return Simple_Xml
|
343 |
*/
|
344 |
public function shouldLogRequests($storeId = null)
|
345 |
{
|
346 |
return $this->getConfigData('debug_flag', $storeId);
|
347 |
}
|
348 |
|
349 |
+
/**
|
350 |
+
* @return mixed
|
351 |
+
*/
|
352 |
public function hasCatalogUrl()
|
353 |
{
|
354 |
return Mage::getStoreConfig('payment_services/ops/showcatalogbutton');
|
355 |
}
|
356 |
|
357 |
+
/**
|
358 |
+
* @return mixed
|
359 |
+
*/
|
360 |
public function hasHomeUrl()
|
361 |
{
|
362 |
return Mage::getStoreConfig('payment_services/ops/showhomebutton');
|
363 |
}
|
364 |
|
365 |
+
/**
|
366 |
+
* @param $code
|
367 |
+
* @return mixed
|
368 |
+
*/
|
369 |
public function getAcceptedCcTypes($code)
|
370 |
{
|
371 |
return Mage::getStoreConfig('payment/' . $code . '/types');
|
393 |
return $inlineTypes;
|
394 |
}
|
395 |
|
396 |
+
/**
|
397 |
+
* @return mixed
|
398 |
+
*/
|
399 |
public function get3dSecureIsActive()
|
400 |
{
|
401 |
return Mage::getStoreConfig('payment/ops_cc/enabled_3dsecure');
|
402 |
}
|
403 |
|
404 |
+
/**
|
405 |
+
* @return mixed
|
406 |
+
*/
|
407 |
public function getDirectDebitCountryIds()
|
408 |
{
|
409 |
return Mage::getStoreConfig('payment/ops_directDebit/countryIds');
|
410 |
}
|
411 |
|
412 |
+
/**
|
413 |
+
* @return mixed
|
414 |
+
*/
|
415 |
public function getBankTransferCountryIds()
|
416 |
{
|
417 |
return Mage::getStoreConfig('payment/ops_bankTransfer/countryIds');
|
418 |
}
|
419 |
|
420 |
+
/**
|
421 |
+
* @return mixed
|
422 |
+
*/
|
423 |
public function getDirectEbankingBrands()
|
424 |
{
|
425 |
return Mage::getStoreConfig('payment/ops_directEbanking/brands');
|
447 |
return $url;
|
448 |
}
|
449 |
|
450 |
+
/**
|
451 |
+
* @param null $storeId
|
452 |
+
* @param bool $admin
|
453 |
+
* @return mixed
|
454 |
+
*/
|
455 |
public function getCcSaveAliasUrl($storeId = null, $admin = false)
|
456 |
{
|
457 |
$params = array(
|
488 |
{
|
489 |
$result = array();
|
490 |
$brands = Mage::getStoreConfig('payment/ops_interSolve/brands', $storeId);
|
491 |
+
if (null !=$brands) {
|
492 |
$result = unserialize($brands);
|
493 |
}
|
494 |
|
504 |
{
|
505 |
$result = array();
|
506 |
$methods = Mage::getStoreConfig('payment/ops_flex/methods', $storeId);
|
507 |
+
if (null !=$methods) {
|
508 |
$result = unserialize($methods);
|
509 |
}
|
510 |
|
511 |
return $result;
|
512 |
}
|
513 |
|
514 |
+
/**
|
515 |
+
* @return array
|
516 |
+
*/
|
517 |
public function getAllCcTypes()
|
518 |
{
|
519 |
return explode(',', Mage::getStoreConfig('payment/ops_cc/availableTypes'));
|
520 |
}
|
521 |
|
522 |
|
523 |
+
/**
|
524 |
+
* @return array
|
525 |
+
*/
|
526 |
public function getAllDcTypes()
|
527 |
{
|
528 |
return explode(',', Mage::getStoreConfig('payment/ops_dc/availableTypes'));
|
537 |
{
|
538 |
return array(
|
539 |
'AAVCHECK',
|
540 |
+
'ACCEPTANCE',
|
541 |
'CVCCHECK',
|
542 |
'CCCTY',
|
543 |
'IPCTY',
|
552 |
);
|
553 |
}
|
554 |
|
555 |
+
/**
|
556 |
+
* @return bool
|
557 |
+
*/
|
558 |
public function getSendInvoice()
|
559 |
{
|
560 |
return (bool)(int)Mage::getStoreConfig('payment_services/ops/send_invoice');
|
572 |
return (bool)(int)Mage::getStoreConfig('payment/' . $code . '/backend_enabled', $storeId);
|
573 |
}
|
574 |
|
575 |
+
/**
|
576 |
+
* @return bool
|
577 |
+
*/
|
578 |
public function isAliasInfoBlockEnabled()
|
579 |
{
|
580 |
return (bool)(int)Mage::getStoreConfig('payment/ops_cc/show_alias_manager_info_for_guests');
|
593 |
return (bool)Mage::getStoreConfig('payment/' . $code . '/active_alias', $storeId);
|
594 |
}
|
595 |
|
596 |
+
/**
|
597 |
+
* return configured text for alias usage parameter for new alias creation
|
598 |
+
*
|
599 |
+
* @param $code
|
600 |
+
* @param null $storeId
|
601 |
+
*
|
602 |
+
* @return string
|
603 |
+
*/
|
604 |
+
public function getAliasUsageForNewAlias($code, $storeId = null)
|
605 |
+
{
|
606 |
+
return Mage::getStoreConfig('payment/' . $code . '/alias_usage_for_new_alias', $storeId);
|
607 |
+
}
|
608 |
+
|
609 |
+
/**
|
610 |
+
* return configured text for alias usage parameter when using a existing alias
|
611 |
+
*
|
612 |
+
* @param $code
|
613 |
+
* @param null $storeId
|
614 |
+
*
|
615 |
+
* @return string
|
616 |
+
*/
|
617 |
+
public function getAliasUsageForExistingAlias($code, $storeId = null)
|
618 |
+
{
|
619 |
+
return Mage::getStoreConfig('payment/' . $code . '/alias_usage_for_existing_alias', $storeId);
|
620 |
+
}
|
621 |
+
|
622 |
+
|
623 |
/**
|
624 |
* getter for usage of order reference
|
625 |
*/
|
690 |
}
|
691 |
|
692 |
|
693 |
+
/**
|
694 |
+
* @param $operation
|
695 |
+
* @return mixed
|
696 |
+
*/
|
697 |
public function getMethodsRequiringAdditionalParametersFor($operation)
|
698 |
{
|
699 |
return Mage::getStoreConfig('payment/additional_params_required/' . $operation);
|
739 |
return $this->getConfigData('paramLength');
|
740 |
}
|
741 |
|
742 |
+
/**
|
743 |
+
* @return Simple_Xml
|
744 |
+
*/
|
745 |
public function getFrontendFieldMapping()
|
746 |
{
|
747 |
return $this->getConfigData('frontendFieldMapping');
|
748 |
|
749 |
}
|
750 |
|
751 |
+
/**
|
752 |
+
* @return mixed
|
753 |
+
*/
|
754 |
public function getValidationUrl()
|
755 |
{
|
756 |
return Mage::getUrl(
|
759 |
);
|
760 |
}
|
761 |
|
762 |
+
/**
|
763 |
+
* @param null $storeId
|
764 |
+
* @return Simple_Xml
|
765 |
+
*/
|
766 |
public function getInlineOrderReference($storeId = null)
|
767 |
{
|
768 |
return $this->getConfigData('inlineOrderReference', $storeId);
|
826 |
}
|
827 |
}
|
828 |
|
829 |
+
/**
|
830 |
+
* @param null $storeId
|
831 |
+
* @return Simple_Xml
|
832 |
+
*/
|
833 |
public function getTemplateIdentifier($storeId = null)
|
834 |
{
|
835 |
return $this->getConfigData('template_identifier', $storeId);
|
836 |
}
|
837 |
|
838 |
+
/**
|
839 |
+
* @param null $storeId
|
840 |
+
* @return Simple_Xml
|
841 |
+
*/
|
842 |
public function getResendPaymentInfoIdentity($storeId = null)
|
843 |
{
|
844 |
return $this->getConfigData('resendPaymentInfo_identity', $storeId);
|
845 |
}
|
846 |
|
847 |
+
/**
|
848 |
+
* @param null $storeId
|
849 |
+
* @return Simple_Xml
|
850 |
+
*/
|
851 |
public function getResendPaymentInfoTemplate($storeId = null)
|
852 |
{
|
853 |
return $this->getConfigData('resendPaymentInfo_template', $storeId);
|
854 |
}
|
855 |
|
856 |
+
|
857 |
+
/**
|
858 |
+
* @param null $storeId
|
859 |
+
* @return Simple_Xml
|
860 |
+
*/
|
861 |
+
public function getPayPerMailTemplate($storeId = null)
|
862 |
+
{
|
863 |
+
return $this->getConfigData('payPerMail_template', $storeId);
|
864 |
+
}
|
865 |
+
|
866 |
+
/**
|
867 |
+
* @return Simple_Xml
|
868 |
+
*/
|
869 |
public function getStateRestriction()
|
870 |
{
|
871 |
return $this->getConfigData('ops_state_restriction');
|
872 |
}
|
873 |
|
874 |
+
/**
|
875 |
+
* @param $params
|
876 |
+
* @param null $storeId
|
877 |
+
* @return mixed
|
878 |
+
*/
|
879 |
public function getPaymentRetryUrl($params, $storeId = null)
|
880 |
{
|
881 |
return Mage::getUrl(
|
898 |
return (bool)$this->getConfigData('device_fingerprinting', $storeId);
|
899 |
}
|
900 |
|
901 |
+
/**
|
902 |
+
* @param null $storeId
|
903 |
+
* @return int
|
904 |
+
*/
|
905 |
public function getTransActionTimeout($storeId = null)
|
906 |
{
|
907 |
return (int)$this->getConfigData('ops_rtimeout', $storeId);
|
918 |
return (bool)$this->getConfigData('creditdebit_split', $storeId);
|
919 |
}
|
920 |
|
921 |
+
/**
|
922 |
+
* @return array
|
923 |
+
*/
|
924 |
public function getAllRecurringCcTypes()
|
925 |
{
|
926 |
return explode(',', Mage::getStoreConfig('payment/ops_recurring_cc/availableTypes'));
|
927 |
}
|
928 |
|
929 |
+
/**
|
930 |
+
* @return array
|
931 |
+
*/
|
932 |
public function getAcceptedRecurringCcTypes()
|
933 |
{
|
934 |
return explode(',', Mage::getStoreConfig('payment/ops_recurring_cc/acceptedTypes'));
|
935 |
}
|
936 |
|
937 |
+
/**
|
938 |
+
* @param null $storeId
|
939 |
+
* @return mixed
|
940 |
+
*/
|
941 |
public function getMonthlyBillingDay($storeId = null)
|
942 |
{
|
943 |
return Mage::getStoreConfig(self::OPS_PAYMENT_PATH . 'billing_day_month', $storeId);
|
944 |
}
|
945 |
|
946 |
+
/**
|
947 |
+
* @param null $storeId
|
948 |
+
* @return mixed
|
949 |
+
*/
|
950 |
public function getWeeklyBillingDay($storeId = null)
|
951 |
{
|
952 |
return Mage::getStoreConfig(self::OPS_PAYMENT_PATH . 'billing_day_week', $storeId);
|
953 |
}
|
954 |
|
955 |
+
/**
|
956 |
+
* @param null $storeId
|
957 |
+
* @return Simple_Xml
|
958 |
+
*/
|
959 |
public function getSuspendSubscriptionTemplate($storeId = null)
|
960 |
{
|
961 |
return $this->getConfigData('suspendSubscription_template', $storeId);
|
962 |
}
|
963 |
|
964 |
+
/**
|
965 |
+
* @param null $storeId
|
966 |
+
* @return Simple_Xml
|
967 |
+
*/
|
968 |
public function getSuspendSubscriptionIdentity($storeId = null)
|
969 |
{
|
970 |
return $this->getConfigData('suspendSubscription_identity', $storeId);
|
971 |
}
|
972 |
+
|
973 |
+
|
974 |
+
|
975 |
}
|
976 |
|
app/code/community/Netresearch/OPS/Model/File/Download.php
CHANGED
@@ -25,11 +25,11 @@ class Netresearch_OPS_Model_File_Download
|
|
25 |
public function getFile($path, $threshold = self::ONE_MEGABYTE)
|
26 |
{
|
27 |
$this->_filePath = $path;
|
28 |
-
if(!file_exists($this->_filePath) || !is_readable($this->_filePath)){
|
29 |
Mage::throwException('File '.$this->_filePath.' does not exist or is not readable.');
|
30 |
return '';
|
31 |
}
|
32 |
-
if(filesize($path) > $threshold){
|
33 |
return $this->_trimFileToThreshold($threshold);
|
34 |
} else {
|
35 |
return $this->_filePath;
|
@@ -46,7 +46,7 @@ class Netresearch_OPS_Model_File_Download
|
|
46 |
protected function _trimFileToThreshold($threshold)
|
47 |
{
|
48 |
$this->_fileHandler = fopen($this->_filePath, 'r');
|
49 |
-
if(0 > fseek($this->_fileHandler, filesize($this->_filePath)-$threshold, SEEK_SET)){
|
50 |
Mage::throwException('Function fseek on file '. $this->_filePath.' failed.');
|
51 |
}
|
52 |
$content = fread($this->_fileHandler, $threshold);
|
25 |
public function getFile($path, $threshold = self::ONE_MEGABYTE)
|
26 |
{
|
27 |
$this->_filePath = $path;
|
28 |
+
if (!file_exists($this->_filePath) || !is_readable($this->_filePath)) {
|
29 |
Mage::throwException('File '.$this->_filePath.' does not exist or is not readable.');
|
30 |
return '';
|
31 |
}
|
32 |
+
if (filesize($path) > $threshold) {
|
33 |
return $this->_trimFileToThreshold($threshold);
|
34 |
} else {
|
35 |
return $this->_filePath;
|
46 |
protected function _trimFileToThreshold($threshold)
|
47 |
{
|
48 |
$this->_fileHandler = fopen($this->_filePath, 'r');
|
49 |
+
if (0 > fseek($this->_fileHandler, filesize($this->_filePath)-$threshold, SEEK_SET)) {
|
50 |
Mage::throwException('Function fseek on file '. $this->_filePath.' failed.');
|
51 |
}
|
52 |
$content = fread($this->_fileHandler, $threshold);
|
app/code/community/Netresearch/OPS/Model/Kwixo/Category/Mapping.php
CHANGED
@@ -36,7 +36,6 @@ class Netresearch_OPS_Model_Kwixo_Category_Mapping
|
|
36 |
* Constructor
|
37 |
*
|
38 |
* @see lib/Varien/Varien_Object#_construct()
|
39 |
-
* @return Netresearch_OPS_Model_Kwixo_Category_Mapping
|
40 |
*/
|
41 |
public function _construct()
|
42 |
{
|
@@ -49,8 +48,10 @@ class Netresearch_OPS_Model_Kwixo_Category_Mapping
|
|
49 |
{
|
50 |
$collection = $this->getCollection()
|
51 |
->addFieldToFilter('category_id', $categoryId)
|
52 |
-
->load()
|
53 |
-
|
|
|
|
|
54 |
}
|
55 |
|
56 |
}
|
36 |
* Constructor
|
37 |
*
|
38 |
* @see lib/Varien/Varien_Object#_construct()
|
|
|
39 |
*/
|
40 |
public function _construct()
|
41 |
{
|
48 |
{
|
49 |
$collection = $this->getCollection()
|
50 |
->addFieldToFilter('category_id', $categoryId)
|
51 |
+
->load()
|
52 |
+
->getFirstItem();
|
53 |
+
|
54 |
+
return $collection;
|
55 |
}
|
56 |
|
57 |
}
|
app/code/community/Netresearch/OPS/Model/Kwixo/Shipping/Setting.php
CHANGED
@@ -15,7 +15,6 @@ class Netresearch_OPS_Model_Kwixo_Shipping_Setting
|
|
15 |
* Constructor
|
16 |
*
|
17 |
* @see lib/Varien/Varien_Object#_construct()
|
18 |
-
* @return Netresearch_OPS_Model_Kwixo_Shipping_Setting
|
19 |
*/
|
20 |
public function _construct()
|
21 |
{
|
15 |
* Constructor
|
16 |
*
|
17 |
* @see lib/Varien/Varien_Object#_construct()
|
|
|
18 |
*/
|
19 |
public function _construct()
|
20 |
{
|
app/code/community/Netresearch/OPS/Model/Mysql4/Alias.php
CHANGED
@@ -21,13 +21,13 @@ class Netresearch_OPS_Model_Mysql4_Alias
|
|
21 |
extends Mage_Core_Model_Mysql4_Abstract
|
22 |
{
|
23 |
/**
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
public function _construct()
|
30 |
{
|
31 |
-
|
32 |
}
|
33 |
}
|
21 |
extends Mage_Core_Model_Mysql4_Abstract
|
22 |
{
|
23 |
/**
|
24 |
+
* Constructor
|
25 |
+
*
|
26 |
+
* @see lib/Varien/Varien_Object#_construct()
|
27 |
+
* @return Netresearch_OPS_Model_Mysql4_Alias
|
28 |
+
*/
|
29 |
public function _construct()
|
30 |
{
|
31 |
+
$this->_init('ops/alias', 'id');
|
32 |
}
|
33 |
}
|
app/code/community/Netresearch/OPS/Model/Mysql4/Kwixo/Category/Mapping.php
CHANGED
@@ -26,7 +26,7 @@ class Netresearch_OPS_Model_Mysql4_Kwixo_Category_Mapping
|
|
26 |
*/
|
27 |
public function _construct()
|
28 |
{
|
29 |
-
$this->_init('ops/kwixo_category_mapping','id');
|
30 |
}
|
31 |
|
32 |
}
|
26 |
*/
|
27 |
public function _construct()
|
28 |
{
|
29 |
+
$this->_init('ops/kwixo_category_mapping', 'id');
|
30 |
}
|
31 |
|
32 |
}
|
app/code/community/Netresearch/OPS/Model/Mysql4/Kwixo/Shipping/Setting.php
CHANGED
@@ -10,7 +10,6 @@
|
|
10 |
|
11 |
class Netresearch_OPS_Model_Mysql4_Kwixo_Shipping_Setting
|
12 |
extends Mage_Core_Model_Mysql4_Abstract
|
13 |
-
|
14 |
{
|
15 |
|
16 |
public function _construct()
|
10 |
|
11 |
class Netresearch_OPS_Model_Mysql4_Kwixo_Shipping_Setting
|
12 |
extends Mage_Core_Model_Mysql4_Abstract
|
|
|
13 |
{
|
14 |
|
15 |
public function _construct()
|
app/code/community/Netresearch/OPS/Model/Observer.php
CHANGED
@@ -44,7 +44,7 @@ class Netresearch_OPS_Model_Observer
|
|
44 |
|
45 |
public function getHelper($name = null)
|
46 |
{
|
47 |
-
if (
|
48 |
return Mage::helper('ops');
|
49 |
}
|
50 |
|
@@ -74,7 +74,7 @@ class Netresearch_OPS_Model_Observer
|
|
74 |
$quote->getPayment()
|
75 |
)
|
76 |
) {
|
77 |
-
$this->confirmDdPayment($order, $quote
|
78 |
} elseif ($quote->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
79 |
$requestParams = $quote->getPayment()->getMethodInstance()->getFormFields($order, array(), false);
|
80 |
$this->invokeRequestParamValidation($requestParams);
|
@@ -82,7 +82,7 @@ class Netresearch_OPS_Model_Observer
|
|
82 |
} catch (Exception $e) {
|
83 |
$quote->setIsActive(true);
|
84 |
$this->getOnepage()->getCheckout()->setGotoSection('payment');
|
85 |
-
|
86 |
}
|
87 |
}
|
88 |
|
@@ -135,10 +135,8 @@ class Netresearch_OPS_Model_Observer
|
|
135 |
/**
|
136 |
* allow null as valid state for creating the order with status 'pending'
|
137 |
*/
|
138 |
-
if (
|
139 |
-
|
140 |
-
) {
|
141 |
-
throw new Mage_Core_Exception($this->getHelper()->__('Ingenico ePayments Payment failed'));
|
142 |
}
|
143 |
$quote->getPayment()->setAdditionalInformation('ops_response', $response)->save();
|
144 |
|
@@ -184,7 +182,9 @@ class Netresearch_OPS_Model_Observer
|
|
184 |
) {
|
185 |
//Build message and update cancel button
|
186 |
$message = Mage::helper('ops')->__(
|
187 |
-
"Are you sure you want to cancel this order? Warning:
|
|
|
|
|
188 |
);
|
189 |
$block->updateButton(
|
190 |
'order_cancel',
|
@@ -204,7 +204,7 @@ class Netresearch_OPS_Model_Observer
|
|
204 |
*
|
205 |
* @param Varien_Event_Observer $observer
|
206 |
*
|
207 |
-
* @return
|
208 |
*/
|
209 |
public function appendCheckBoxToRefundForm($observer)
|
210 |
{
|
@@ -251,7 +251,7 @@ class Netresearch_OPS_Model_Observer
|
|
251 |
*
|
252 |
* @param Varien_Event_Observer $observer
|
253 |
*
|
254 |
-
* @return
|
255 |
*/
|
256 |
public function showWarningForClosedTransactions($observer)
|
257 |
{
|
@@ -290,7 +290,7 @@ class Netresearch_OPS_Model_Observer
|
|
290 |
*
|
291 |
* @param $observer
|
292 |
*/
|
293 |
-
public function cleanUpOldPaymentData(
|
294 |
{
|
295 |
Mage::helper('ops/quote')->cleanUpOldPaymentInformation();
|
296 |
}
|
@@ -425,13 +425,15 @@ class Netresearch_OPS_Model_Observer
|
|
425 |
$controller = $event->getControllerAction();
|
426 |
$quote = $this->getOnepage()->getQuote();
|
427 |
if ($quote->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
|
|
428 |
$paramHelper = Mage::helper('ops/payment_request');
|
429 |
$shippingParams = array();
|
430 |
-
$
|
|
|
431 |
if ($quote->getShippingAddress()) {
|
432 |
$shippingParams = $paramHelper->extractShipToParameters($quote->getShippingAddress(), $quote);
|
433 |
}
|
434 |
-
$params = array_merge($
|
435 |
$validator = Mage::getModel('ops/validator_parameter_factory')->getValidatorFor(
|
436 |
Netresearch_OPS_Model_Validator_Parameter_Factory::TYPE_REQUEST_PARAMS_VALIDATION
|
437 |
);
|
@@ -541,7 +543,9 @@ class Netresearch_OPS_Model_Observer
|
|
541 |
if ($profile->getMethodCode() == Netresearch_OPS_Model_Payment_Recurring_Cc::CODE) {
|
542 |
$cancelMessage = Mage::helper('ops')
|
543 |
->__(
|
544 |
-
'Are you sure you want to perform this action?
|
|
|
|
|
545 |
);
|
546 |
$cancelUrl = $block->getUrl(
|
547 |
'*/*/updateState',
|
@@ -556,7 +560,9 @@ class Netresearch_OPS_Model_Observer
|
|
556 |
|
557 |
$suspendMessage = Mage::helper('ops')
|
558 |
->__(
|
559 |
-
'Are you sure you want to perform this action?
|
|
|
|
|
560 |
);
|
561 |
$suspendUrl = $block->getUrl(
|
562 |
'*/*/updateState',
|
@@ -677,14 +683,14 @@ class Netresearch_OPS_Model_Observer
|
|
677 |
{
|
678 |
/** @var Mage_Sales_Model_Order $order */
|
679 |
$order = $observer->getOrder();
|
680 |
-
if (!$order->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
681 |
// ignore third-party payment methods
|
682 |
return;
|
683 |
}
|
684 |
|
685 |
/** @var Mage_Sales_Model_Quote $quote */
|
686 |
$quote = $observer->getQuote();
|
687 |
-
if ($quote->getPayment()->getOrderPlaceRedirectUrl()) {
|
688 |
// redirect payments require special treatment, may still get cancelled or declined
|
689 |
return;
|
690 |
}
|
@@ -696,4 +702,24 @@ class Netresearch_OPS_Model_Observer
|
|
696 |
Mage::logException($e);
|
697 |
}
|
698 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
}
|
44 |
|
45 |
public function getHelper($name = null)
|
46 |
{
|
47 |
+
if (null === $name) {
|
48 |
return Mage::helper('ops');
|
49 |
}
|
50 |
|
74 |
$quote->getPayment()
|
75 |
)
|
76 |
) {
|
77 |
+
$this->confirmDdPayment($order, $quote );
|
78 |
} elseif ($quote->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
79 |
$requestParams = $quote->getPayment()->getMethodInstance()->getFormFields($order, array(), false);
|
80 |
$this->invokeRequestParamValidation($requestParams);
|
82 |
} catch (Exception $e) {
|
83 |
$quote->setIsActive(true);
|
84 |
$this->getOnepage()->getCheckout()->setGotoSection('payment');
|
85 |
+
Mage::throwException($e->getMessage());
|
86 |
}
|
87 |
}
|
88 |
|
135 |
/**
|
136 |
* allow null as valid state for creating the order with status 'pending'
|
137 |
*/
|
138 |
+
if (null != $response['STATUS'] && Mage::helper('ops/payment')->isPaymentFailed($response['STATUS'])) {
|
139 |
+
Mage::throwException($this->getHelper()->__('Ingenico ePayments Payment failed'));
|
|
|
|
|
140 |
}
|
141 |
$quote->getPayment()->setAdditionalInformation('ops_response', $response)->save();
|
142 |
|
182 |
) {
|
183 |
//Build message and update cancel button
|
184 |
$message = Mage::helper('ops')->__(
|
185 |
+
"Are you sure you want to cancel this order? Warning:" .
|
186 |
+
" Please check the payment status in the back-office of Ingenico ePayments before." .
|
187 |
+
" By cancelling this order you won\\'t be able to update the status in Magento anymore."
|
188 |
);
|
189 |
$block->updateButton(
|
190 |
'order_cancel',
|
204 |
*
|
205 |
* @param Varien_Event_Observer $observer
|
206 |
*
|
207 |
+
* @return string
|
208 |
*/
|
209 |
public function appendCheckBoxToRefundForm($observer)
|
210 |
{
|
251 |
*
|
252 |
* @param Varien_Event_Observer $observer
|
253 |
*
|
254 |
+
* @return string
|
255 |
*/
|
256 |
public function showWarningForClosedTransactions($observer)
|
257 |
{
|
290 |
*
|
291 |
* @param $observer
|
292 |
*/
|
293 |
+
public function cleanUpOldPaymentData()
|
294 |
{
|
295 |
Mage::helper('ops/quote')->cleanUpOldPaymentInformation();
|
296 |
}
|
425 |
$controller = $event->getControllerAction();
|
426 |
$quote = $this->getOnepage()->getQuote();
|
427 |
if ($quote->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
428 |
+
/** @var Netresearch_OPS_Helper_Payment_Request $paramHelper */
|
429 |
$paramHelper = Mage::helper('ops/payment_request');
|
430 |
$shippingParams = array();
|
431 |
+
$ownerParams = $paramHelper->getOwnerParams($quote->getBillingAddress(), $quote);
|
432 |
+
$billingParams = $paramHelper->extractBillToParameters($quote->getBillingAddress(), $quote);
|
433 |
if ($quote->getShippingAddress()) {
|
434 |
$shippingParams = $paramHelper->extractShipToParameters($quote->getShippingAddress(), $quote);
|
435 |
}
|
436 |
+
$params = array_merge($ownerParams, $shippingParams, $billingParams);
|
437 |
$validator = Mage::getModel('ops/validator_parameter_factory')->getValidatorFor(
|
438 |
Netresearch_OPS_Model_Validator_Parameter_Factory::TYPE_REQUEST_PARAMS_VALIDATION
|
439 |
);
|
543 |
if ($profile->getMethodCode() == Netresearch_OPS_Model_Payment_Recurring_Cc::CODE) {
|
544 |
$cancelMessage = Mage::helper('ops')
|
545 |
->__(
|
546 |
+
'Are you sure you want to perform this action?' .
|
547 |
+
' Canceling the subscription here will not actually cancel the subscription on Ingenico ePayments side.' .
|
548 |
+
' To stop charging the customer you will have to deactivate the subscription there.'
|
549 |
);
|
550 |
$cancelUrl = $block->getUrl(
|
551 |
'*/*/updateState',
|
560 |
|
561 |
$suspendMessage = Mage::helper('ops')
|
562 |
->__(
|
563 |
+
'Are you sure you want to perform this action?' .
|
564 |
+
'Suspending the subscription here will not actually cancel the subscription on Ingenico ePayments side.' .
|
565 |
+
'To stop charging the customer you will have to deactivate the subscription there.'
|
566 |
);
|
567 |
$suspendUrl = $block->getUrl(
|
568 |
'*/*/updateState',
|
683 |
{
|
684 |
/** @var Mage_Sales_Model_Order $order */
|
685 |
$order = $observer->getOrder();
|
686 |
+
if ($order == null || !$order->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Abstract) {
|
687 |
// ignore third-party payment methods
|
688 |
return;
|
689 |
}
|
690 |
|
691 |
/** @var Mage_Sales_Model_Quote $quote */
|
692 |
$quote = $observer->getQuote();
|
693 |
+
if ($quote && $quote->getPayment()->getOrderPlaceRedirectUrl()) {
|
694 |
// redirect payments require special treatment, may still get cancelled or declined
|
695 |
return;
|
696 |
}
|
702 |
Mage::logException($e);
|
703 |
}
|
704 |
}
|
705 |
+
|
706 |
+
/**
|
707 |
+
* triggers the email sending for payment method payPerMail
|
708 |
+
*
|
709 |
+
* event: sales_order_place_after
|
710 |
+
*
|
711 |
+
* @param Varien_Event_Observer $observer
|
712 |
+
*/
|
713 |
+
public function sendPayPerMailInfo(Varien_Event_Observer $observer)
|
714 |
+
{
|
715 |
+
/** @var Mage_Sales_Model_Order $order */
|
716 |
+
$order = $observer->getOrder();
|
717 |
+
if (!$order->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_PayPerMail) {
|
718 |
+
return;
|
719 |
+
}
|
720 |
+
|
721 |
+
/** @var Netresearch_OPS_Model_Payment_Features_PaymentEmail $sendEmailModel */
|
722 |
+
$sendEmailModel = Mage::getModel('ops/payment_features_paymentEmail');
|
723 |
+
$sendEmailModel->resendPaymentInfo($order);
|
724 |
+
}
|
725 |
}
|
app/code/community/Netresearch/OPS/Model/Payment/Abstract.php
CHANGED
@@ -39,26 +39,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
39 |
protected $_config = null;
|
40 |
protected $requestHelper = null;
|
41 |
protected $backendOperationParameterModel = null;
|
42 |
-
|
43 |
-
/**
|
44 |
-
* @param null $backendOperationParameterModel
|
45 |
-
*/
|
46 |
-
public function setBackendOperationParameterModel($backendOperationParameterModel)
|
47 |
-
{
|
48 |
-
$this->backendOperationParameterModel = $backendOperationParameterModel;
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* @return Netresearch_OPS_Model_Backend_Operation_Parameter
|
53 |
-
*/
|
54 |
-
public function getBackendOperationParameterModel()
|
55 |
-
{
|
56 |
-
if (null === $this->backendOperationParameterModel) {
|
57 |
-
$this->backendOperationParameterModel = Mage::getModel('ops/backend_operation_parameter');
|
58 |
-
}
|
59 |
-
|
60 |
-
return $this->backendOperationParameterModel;
|
61 |
-
}
|
62 |
|
63 |
/**
|
64 |
* Magento Payment Behaviour Settings
|
@@ -81,10 +62,8 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
81 |
*/
|
82 |
|
83 |
protected $_needsCartDataForRequest = false;
|
84 |
-
|
85 |
protected $_needsShipToParams = true;
|
86 |
-
|
87 |
-
protected $_needsBillToParams = false;
|
88 |
|
89 |
/**
|
90 |
* OPS template modes
|
@@ -94,11 +73,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
94 |
const TEMPLATE_OPS_TEMPLATE = 'ops_template';
|
95 |
const TEMPLATE_MAGENTO_INTERNAL = 'magento';
|
96 |
|
97 |
-
|
98 |
/**
|
99 |
* redirect references
|
100 |
*/
|
101 |
-
|
102 |
const REFERENCE_QUOTE_ID = 'quoteId';
|
103 |
const REFERENCE_ORDER_ID = 'orderId';
|
104 |
|
@@ -141,6 +118,42 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
141 |
*/
|
142 |
const FINGERPRINT_CONSENT_SESSION_KEY = 'device_fingerprinting_consent';
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
/**
|
145 |
* Return OPS Config
|
146 |
*
|
@@ -148,7 +161,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
148 |
*/
|
149 |
public function getConfig()
|
150 |
{
|
151 |
-
if (
|
152 |
$this->_config = Mage::getSingleton('ops/config');
|
153 |
}
|
154 |
|
@@ -160,6 +173,16 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
160 |
return $this->getPaymentAction();
|
161 |
}
|
162 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
/**
|
164 |
* return if shipment params are needed for request
|
165 |
*
|
@@ -206,7 +229,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
206 |
|
207 |
$storeId = 0;
|
208 |
// allow multi store/site for backend orders with disabled backend payment methods in default store
|
209 |
-
if (
|
210 |
$storeId = $quote->getStoreId();
|
211 |
}
|
212 |
if (Mage_Core_Model_App::ADMIN_STORE_ID == Mage::app()->getStore()->getId()
|
@@ -221,6 +244,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
221 |
/**
|
222 |
* if method is enabled for backend payments
|
223 |
*
|
|
|
224 |
* @return bool
|
225 |
*/
|
226 |
public function isEnabledForBackend($storeId = 0)
|
@@ -238,18 +262,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
238 |
return $this->getConfig()->getPaymentRedirectUrl();
|
239 |
}
|
240 |
|
241 |
-
protected function getPayment()
|
242 |
-
{
|
243 |
-
$checkout = Mage::getSingleton('checkout/session');
|
244 |
-
$payment = $checkout->getQuote()->getPayment();
|
245 |
-
if (!$payment->getId()) {
|
246 |
-
$payment = Mage::getModel('sales/order')->loadByIncrementId($checkout->getLastRealOrderId())->getPayment();
|
247 |
-
}
|
248 |
-
}
|
249 |
-
|
250 |
public function getOpsBrand($payment = null)
|
251 |
{
|
252 |
-
if (
|
253 |
$payment = $this->getInfoInstance();
|
254 |
}
|
255 |
$brand = trim($payment->getAdditionalInformation('BRAND'));
|
@@ -262,7 +277,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
262 |
|
263 |
public function getOpsCode($payment = null)
|
264 |
{
|
265 |
-
if (
|
266 |
$payment = $this->getInfoInstance();
|
267 |
}
|
268 |
$pm = trim($payment->getAdditionalInformation('PM'));
|
@@ -361,9 +376,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
361 |
/**
|
362 |
* Prepare params array to send it to gateway page via POST
|
363 |
*
|
364 |
-
* @param
|
365 |
-
* @param
|
366 |
-
*
|
367 |
* @return array
|
368 |
*/
|
369 |
public function getFormFields($order, $requestParams, $isRequest = true)
|
@@ -379,13 +394,6 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
379 |
// get mandatory parameters
|
380 |
$formFields = $this->getMandatoryFormFields($order);
|
381 |
|
382 |
-
// get method specific parameters
|
383 |
-
$methodDependendFields = $this->getMethodDependendFormFields($order, $requestParams);
|
384 |
-
if (is_array($methodDependendFields)) {
|
385 |
-
$formFields = array_merge($formFields, $methodDependendFields);
|
386 |
-
}
|
387 |
-
|
388 |
-
|
389 |
$paymentAction = $this->_getOPSPaymentOperation();
|
390 |
if ($paymentAction ) {
|
391 |
$formFields['OPERATION'] = $paymentAction;
|
@@ -393,11 +401,14 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
393 |
|
394 |
$formFields = array_merge($formFields, $requestHelper->getTemplateParams($order->getStoreId()));
|
395 |
|
396 |
-
$
|
397 |
-
$formFields['
|
398 |
-
$formFields['
|
399 |
-
$formFields['
|
400 |
-
$formFields['
|
|
|
|
|
|
|
401 |
|
402 |
|
403 |
/** @var $order Mage_Sales_Model_Order */
|
@@ -423,6 +434,8 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
423 |
$formFields = array_merge($formFields, $methodDependendFields);
|
424 |
}
|
425 |
|
|
|
|
|
426 |
$shaSign = Mage::helper('ops/payment')->shaCrypt(
|
427 |
Mage::helper('ops/payment')
|
428 |
->getSHASign($formFields, null, $order->getStoreId())
|
@@ -465,19 +478,6 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
465 |
return $value;
|
466 |
}
|
467 |
|
468 |
-
protected function convertToLatin1($StringToConvert)
|
469 |
-
{
|
470 |
-
$returnString = '';
|
471 |
-
$chars = str_split($StringToConvert);
|
472 |
-
foreach ($chars as $char) {
|
473 |
-
if (31 < ord($char) && ord($char) < 127) {
|
474 |
-
$returnString .= $char;
|
475 |
-
}
|
476 |
-
}
|
477 |
-
|
478 |
-
return $returnString;
|
479 |
-
}
|
480 |
-
|
481 |
/**
|
482 |
* get formated order description
|
483 |
*
|
@@ -487,22 +487,18 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
487 |
*/
|
488 |
public function _getOrderDescription($order)
|
489 |
{
|
490 |
-
$
|
491 |
-
$
|
492 |
-
$
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
if (100 <= Mage::helper('core/string')->strlen($description)) {
|
503 |
-
break;
|
504 |
-
}
|
505 |
-
}
|
506 |
|
507 |
return $description;
|
508 |
}
|
@@ -561,7 +557,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
561 |
parent::acceptPayment($payment);
|
562 |
$status = $payment->getAdditionalInformation('status');
|
563 |
|
564 |
-
if ($status == Netresearch_OPS_Model_Status::AUTHORIZED
|
|
|
|
|
565 |
return true;
|
566 |
}
|
567 |
|
@@ -587,7 +585,8 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
587 |
parent::denyPayment($payment);
|
588 |
|
589 |
Mage::getSingleton('admin/session')->addNotice(
|
590 |
-
$this->getHelper()->__(
|
|
|
591 |
);
|
592 |
|
593 |
return true;
|
@@ -640,9 +639,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
640 |
self::OPS_CAPTURE_TRANSACTION_TYPE,
|
641 |
$this,
|
642 |
$payment,
|
643 |
-
$amount
|
644 |
-
$arrInfo
|
645 |
);
|
|
|
646 |
$response = Mage::getSingleton('ops/api_directlink')->performRequest(
|
647 |
$requestParams,
|
648 |
Mage::getModel('ops/config')->getDirectLinkGatewayPath($storeId),
|
@@ -651,13 +650,13 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
651 |
|
652 |
Mage::getModel('ops/response_handler')->processResponse($response, $this, false);
|
653 |
|
654 |
-
return $this;
|
655 |
-
|
656 |
} catch (Exception $e) {
|
657 |
Mage::getModel('ops/status_update')->updateStatusFor($payment->getOrder());
|
658 |
Mage::helper('ops')->log("Exception in capture request:" . $e->getMessage());
|
659 |
Mage::throwException($e->getMessage());
|
660 |
}
|
|
|
|
|
661 |
}
|
662 |
|
663 |
/**
|
@@ -670,14 +669,19 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
670 |
*/
|
671 |
public function refund(Varien_Object $payment, $amount)
|
672 |
{
|
|
|
673 |
$refundHelper = Mage::helper('ops/order_refund');
|
674 |
|
675 |
if ($refundHelper->getOpenRefundTransaction($payment)->getId()) {
|
676 |
-
Mage::throwException(
|
|
|
|
|
|
|
|
|
|
|
677 |
}
|
678 |
|
679 |
$refundHelper->setAmount($amount)->setPayment($payment);
|
680 |
-
$arrInfo = $refundHelper->prepareOperation($payment, $amount);
|
681 |
$storeId = $payment->getOrder()->getStoreId();
|
682 |
|
683 |
try {
|
@@ -685,9 +689,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
685 |
self::OPS_REFUND_TRANSACTION_TYPE,
|
686 |
$this,
|
687 |
$payment,
|
688 |
-
$amount
|
689 |
-
$arrInfo
|
690 |
);
|
|
|
691 |
$response = Mage::getSingleton('ops/api_directlink')->performRequest(
|
692 |
$requestParams,
|
693 |
Mage::getModel('ops/config')->getDirectLinkGatewayPath($storeId),
|
@@ -756,11 +760,10 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
756 |
*/
|
757 |
|
758 |
//Proceed parent cancel method in case that regirstry value ops_auto_void is set
|
759 |
-
if (true === Mage::registry('ops_auto_void'))
|
760 |
Mage::unregister('ops_auto_void');
|
761 |
-
|
762 |
return parent::cancel($payment);
|
763 |
-
|
764 |
|
765 |
//If order has state 'pending_payment' and the payment has Ingenico ePayments-status 0 or null (unknown) then cancel the order
|
766 |
if (true === $this->canCancelManually($payment->getOrder())) {
|
@@ -772,23 +775,21 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
772 |
}
|
773 |
|
774 |
//Abort cancel method by throwing a Mage_Core_Exception
|
775 |
-
|
776 |
}
|
777 |
|
778 |
/**
|
779 |
* Custom void behavior, trigger Ingenico ePayments cancel request
|
780 |
*
|
781 |
-
* @param
|
782 |
-
*
|
783 |
-
* @return void
|
784 |
-
* @throws Mage_Core_Exception
|
785 |
*/
|
786 |
public function void(Varien_Object $payment)
|
787 |
{
|
788 |
|
789 |
$status = $payment->getAdditionalInformation('status');
|
790 |
|
791 |
-
if(!Netresearch_OPS_Model_Status::canVoidTransaction($status)){
|
792 |
Mage::throwException($this->getHelper()->__('Status %s can not be voided.', $status));
|
793 |
}
|
794 |
|
@@ -854,7 +855,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
854 |
Mage::helper('ops')->log(
|
855 |
"Exception in void request:" . $e->getMessage()
|
856 |
);
|
857 |
-
|
858 |
}
|
859 |
}
|
860 |
|
@@ -862,12 +863,10 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
862 |
* get question for fields with disputable value
|
863 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
864 |
*
|
865 |
-
* @param Mage_Sales_Model_Order $order Current order
|
866 |
-
* @param array $requestParams Request parameters
|
867 |
*
|
868 |
* @return string
|
869 |
*/
|
870 |
-
public function getQuestion(
|
871 |
{
|
872 |
return '';
|
873 |
}
|
@@ -877,11 +876,10 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
877 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
878 |
*
|
879 |
* @param Mage_Sales_Model_Order $order Current order
|
880 |
-
* @param array $requestParams Request parameters
|
881 |
*
|
882 |
* @return array
|
883 |
*/
|
884 |
-
public function getQuestionedFormFields($
|
885 |
{
|
886 |
return array();
|
887 |
}
|
@@ -901,11 +899,11 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
901 |
if (false == is_array($requestParams)) {
|
902 |
$requestParams = array();
|
903 |
}
|
904 |
-
if (
|
905 |
$formFields = $this->getFormFields($order, $requestParams, false);
|
906 |
}
|
907 |
$availableParams = array_merge($requestParams, $formFields);
|
908 |
-
$requiredParams = $this->getQuestionedFormFields($order
|
909 |
foreach ($requiredParams as $requiredParam) {
|
910 |
if (false == array_key_exists($requiredParam, $availableParams)
|
911 |
|| 0 == strlen($availableParams[$requiredParam])
|
@@ -931,7 +929,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
931 |
//If payment has Ingenico ePayments-status 0 or null (unknown) or another offline cancelable status
|
932 |
$status = $payment->getAdditionalInformation('status');
|
933 |
|
934 |
-
return
|
935 |
|| in_array(
|
936 |
$status, array(
|
937 |
Netresearch_OPS_Model_Status::INVALID_INCOMPLETE,
|
@@ -945,9 +943,9 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
945 |
public function getOpsHtmlAnswer($payment = null)
|
946 |
{
|
947 |
$returnValue = '';
|
948 |
-
if (
|
949 |
$quoteId = Mage::getSingleton('checkout/session')->getQuote()->getId();
|
950 |
-
if (
|
951 |
$orderIncrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
952 |
$order = Mage::getModel('sales/order')->loadByAttribute('increment_id', $orderIncrementId);
|
953 |
} else {
|
@@ -1033,8 +1031,7 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
1033 |
*/
|
1034 |
public function canVoid(Varien_Object $payment)
|
1035 |
{
|
1036 |
-
|
1037 |
-
if(Netresearch_OPS_Model_Status::canVoidTransaction($payment->getAdditionalInformation('status'))){
|
1038 |
return parent::canVoid($payment);
|
1039 |
} else {
|
1040 |
return false;
|
@@ -1050,8 +1047,8 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
1050 |
parent::assignData($data);
|
1051 |
|
1052 |
$paymentInfo = $this->getInfoInstance();
|
1053 |
-
if ($
|
1054 |
-
foreach ($
|
1055 |
$paymentInfo->setAdditionalInformation($key, $value);
|
1056 |
}
|
1057 |
}
|
@@ -1072,11 +1069,13 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
1072 |
$shippingAddress = $paymentInfo->getOrder()->getShippingAddress();
|
1073 |
$salesObject = $paymentInfo->getOrder();
|
1074 |
} else {
|
|
|
1075 |
$salesObject = $paymentInfo->getQuote();
|
1076 |
$billingAddress = $salesObject->getBillingAddress();
|
1077 |
$shippingAddress = $salesObject->getShippingAddress();
|
1078 |
}
|
1079 |
|
|
|
1080 |
$validator = Mage::getModel('ops/validator_parameter_factory')->getValidatorFor(
|
1081 |
Netresearch_OPS_Model_Validator_Parameter_Factory::TYPE_REQUEST_PARAMS_VALIDATION
|
1082 |
);
|
@@ -1084,22 +1083,45 @@ class Netresearch_OPS_Model_Payment_Abstract extends Mage_Payment_Model_Method_A
|
|
1084 |
$params = $this->getRequestHelper()->getOwnerParams($billingAddress, $salesObject);
|
1085 |
$billingParams = $this->getBillToParams($billingAddress);
|
1086 |
$shippingParams = $this->getShipToParams($shippingAddress);
|
1087 |
-
if($shippingParams) {
|
1088 |
$params = array_merge($params, $shippingParams);
|
1089 |
}
|
1090 |
-
if($billingParams){
|
1091 |
$params = array_merge($params, $billingParams);
|
1092 |
}
|
|
|
1093 |
|
1094 |
-
if(false === $validator->isValid($params)){
|
1095 |
$result = Mage::helper('ops/validation_result')->getValidationFailedResult(
|
1096 |
$validator->getMessages(), $salesObject
|
1097 |
);
|
1098 |
-
throw
|
1099 |
}
|
1100 |
|
1101 |
return parent::validate();
|
1102 |
}
|
1103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1104 |
|
1105 |
}
|
39 |
protected $_config = null;
|
40 |
protected $requestHelper = null;
|
41 |
protected $backendOperationParameterModel = null;
|
42 |
+
protected $encoding = 'utf-8';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
/**
|
45 |
* Magento Payment Behaviour Settings
|
62 |
*/
|
63 |
|
64 |
protected $_needsCartDataForRequest = false;
|
|
|
65 |
protected $_needsShipToParams = true;
|
66 |
+
protected $_needsBillToParams = true;
|
|
|
67 |
|
68 |
/**
|
69 |
* OPS template modes
|
73 |
const TEMPLATE_OPS_TEMPLATE = 'ops_template';
|
74 |
const TEMPLATE_MAGENTO_INTERNAL = 'magento';
|
75 |
|
|
|
76 |
/**
|
77 |
* redirect references
|
78 |
*/
|
|
|
79 |
const REFERENCE_QUOTE_ID = 'quoteId';
|
80 |
const REFERENCE_ORDER_ID = 'orderId';
|
81 |
|
118 |
*/
|
119 |
const FINGERPRINT_CONSENT_SESSION_KEY = 'device_fingerprinting_consent';
|
120 |
|
121 |
+
/**
|
122 |
+
* @return string
|
123 |
+
*/
|
124 |
+
public function getEncoding()
|
125 |
+
{
|
126 |
+
return $this->encoding;
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* @param string $encoding
|
131 |
+
*/
|
132 |
+
public function setEncoding($encoding)
|
133 |
+
{
|
134 |
+
$this->encoding = $encoding;
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* @param null $backendOperationParameterModel
|
139 |
+
*/
|
140 |
+
public function setBackendOperationParameterModel($backendOperationParameterModel)
|
141 |
+
{
|
142 |
+
$this->backendOperationParameterModel = $backendOperationParameterModel;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* @return Netresearch_OPS_Model_Backend_Operation_Parameter
|
147 |
+
*/
|
148 |
+
public function getBackendOperationParameterModel()
|
149 |
+
{
|
150 |
+
if (null === $this->backendOperationParameterModel) {
|
151 |
+
$this->backendOperationParameterModel = Mage::getModel('ops/backend_operation_parameter');
|
152 |
+
}
|
153 |
+
|
154 |
+
return $this->backendOperationParameterModel;
|
155 |
+
}
|
156 |
+
|
157 |
/**
|
158 |
* Return OPS Config
|
159 |
*
|
161 |
*/
|
162 |
public function getConfig()
|
163 |
{
|
164 |
+
if (null === $this->_config) {
|
165 |
$this->_config = Mage::getSingleton('ops/config');
|
166 |
}
|
167 |
|
173 |
return $this->getPaymentAction();
|
174 |
}
|
175 |
|
176 |
+
/**
|
177 |
+
* get the frontend gateway path based on encoding property
|
178 |
+
*/
|
179 |
+
public function getFrontendGateWay()
|
180 |
+
{
|
181 |
+
$gateway = $this->getConfig()->getFrontendGatewayPath();
|
182 |
+
|
183 |
+
return $gateway;
|
184 |
+
}
|
185 |
+
|
186 |
/**
|
187 |
* return if shipment params are needed for request
|
188 |
*
|
229 |
|
230 |
$storeId = 0;
|
231 |
// allow multi store/site for backend orders with disabled backend payment methods in default store
|
232 |
+
if (null != $quote && null != $quote->getId()) {
|
233 |
$storeId = $quote->getStoreId();
|
234 |
}
|
235 |
if (Mage_Core_Model_App::ADMIN_STORE_ID == Mage::app()->getStore()->getId()
|
244 |
/**
|
245 |
* if method is enabled for backend payments
|
246 |
*
|
247 |
+
* @param int $storeId
|
248 |
* @return bool
|
249 |
*/
|
250 |
public function isEnabledForBackend($storeId = 0)
|
262 |
return $this->getConfig()->getPaymentRedirectUrl();
|
263 |
}
|
264 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
public function getOpsBrand($payment = null)
|
266 |
{
|
267 |
+
if (null === $payment) {
|
268 |
$payment = $this->getInfoInstance();
|
269 |
}
|
270 |
$brand = trim($payment->getAdditionalInformation('BRAND'));
|
277 |
|
278 |
public function getOpsCode($payment = null)
|
279 |
{
|
280 |
+
if (null === $payment) {
|
281 |
$payment = $this->getInfoInstance();
|
282 |
}
|
283 |
$pm = trim($payment->getAdditionalInformation('PM'));
|
376 |
/**
|
377 |
* Prepare params array to send it to gateway page via POST
|
378 |
*
|
379 |
+
* @param $order
|
380 |
+
* @param $requestParams
|
381 |
+
* @param bool $isRequest
|
382 |
* @return array
|
383 |
*/
|
384 |
public function getFormFields($order, $requestParams, $isRequest = true)
|
394 |
// get mandatory parameters
|
395 |
$formFields = $this->getMandatoryFormFields($order);
|
396 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
$paymentAction = $this->_getOPSPaymentOperation();
|
398 |
if ($paymentAction ) {
|
399 |
$formFields['OPERATION'] = $paymentAction;
|
401 |
|
402 |
$formFields = array_merge($formFields, $requestHelper->getTemplateParams($order->getStoreId()));
|
403 |
|
404 |
+
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
405 |
+
$formFields['ACCEPTURL'] = $this->getConfig()->getAcceptUrl();
|
406 |
+
$formFields['DECLINEURL'] = $this->getConfig()->getDeclineUrl();
|
407 |
+
$formFields['EXCEPTIONURL'] = $this->getConfig()->getExceptionUrl();
|
408 |
+
$formFields['CANCELURL'] = $this->getConfig()->getCancelUrl();
|
409 |
+
$formFields['BACKURL'] = $this->getConfig()->getPaymentRetryUrl(
|
410 |
+
Mage::helper('ops/payment')->validateOrderForReuse($opsOrderId, $order->getStoreId())
|
411 |
+
);
|
412 |
|
413 |
|
414 |
/** @var $order Mage_Sales_Model_Order */
|
434 |
$formFields = array_merge($formFields, $methodDependendFields);
|
435 |
}
|
436 |
|
437 |
+
$formFields = $this->transliterateParams($formFields);
|
438 |
+
|
439 |
$shaSign = Mage::helper('ops/payment')->shaCrypt(
|
440 |
Mage::helper('ops/payment')
|
441 |
->getSHASign($formFields, null, $order->getStoreId())
|
478 |
return $value;
|
479 |
}
|
480 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
/**
|
482 |
* get formated order description
|
483 |
*
|
487 |
*/
|
488 |
public function _getOrderDescription($order)
|
489 |
{
|
490 |
+
/** @var Mage_Sales_Model_Order_Item[] $items */
|
491 |
+
$items = $order->getAllItems();
|
492 |
+
$description = array_reduce(
|
493 |
+
$items,
|
494 |
+
function ($acc, $item) {
|
495 |
+
/** @var Mage_Sales_Model_Order_Item $item */
|
496 |
+
if (!$item->getParentItem()) {
|
497 |
+
$acc .= ($acc != '' ? ', ' : '') . $item->getName();
|
498 |
+
}
|
499 |
+
return $acc;
|
500 |
+
}, ''
|
501 |
+
);
|
|
|
|
|
|
|
|
|
502 |
|
503 |
return $description;
|
504 |
}
|
557 |
parent::acceptPayment($payment);
|
558 |
$status = $payment->getAdditionalInformation('status');
|
559 |
|
560 |
+
if ($status == Netresearch_OPS_Model_Status::AUTHORIZED
|
561 |
+
|| $status == Netresearch_OPS_Model_Status::PAYMENT_REQUESTED)
|
562 |
+
{
|
563 |
return true;
|
564 |
}
|
565 |
|
585 |
parent::denyPayment($payment);
|
586 |
|
587 |
Mage::getSingleton('admin/session')->addNotice(
|
588 |
+
$this->getHelper()->__(
|
589 |
+
'Order has been canceled permanently in Magento. Changes in Ingenico ePayments platform will no longer be considered.')
|
590 |
);
|
591 |
|
592 |
return true;
|
639 |
self::OPS_CAPTURE_TRANSACTION_TYPE,
|
640 |
$this,
|
641 |
$payment,
|
642 |
+
$amount
|
|
|
643 |
);
|
644 |
+
$requestParams = $this->transliterateParams($requestParams);
|
645 |
$response = Mage::getSingleton('ops/api_directlink')->performRequest(
|
646 |
$requestParams,
|
647 |
Mage::getModel('ops/config')->getDirectLinkGatewayPath($storeId),
|
650 |
|
651 |
Mage::getModel('ops/response_handler')->processResponse($response, $this, false);
|
652 |
|
|
|
|
|
653 |
} catch (Exception $e) {
|
654 |
Mage::getModel('ops/status_update')->updateStatusFor($payment->getOrder());
|
655 |
Mage::helper('ops')->log("Exception in capture request:" . $e->getMessage());
|
656 |
Mage::throwException($e->getMessage());
|
657 |
}
|
658 |
+
|
659 |
+
return $this;
|
660 |
}
|
661 |
|
662 |
/**
|
669 |
*/
|
670 |
public function refund(Varien_Object $payment, $amount)
|
671 |
{
|
672 |
+
/** @var Netresearch_OPS_Helper_Order_Refund $refundHelper */
|
673 |
$refundHelper = Mage::helper('ops/order_refund');
|
674 |
|
675 |
if ($refundHelper->getOpenRefundTransaction($payment)->getId()) {
|
676 |
+
Mage::throwException(
|
677 |
+
$this->getHelper()->__(
|
678 |
+
"There is already one creditmemo in the queue." .
|
679 |
+
"The Creditmemo will be created automatically as soon as Ingenico ePayments sends an acknowledgement."
|
680 |
+
)
|
681 |
+
);
|
682 |
}
|
683 |
|
684 |
$refundHelper->setAmount($amount)->setPayment($payment);
|
|
|
685 |
$storeId = $payment->getOrder()->getStoreId();
|
686 |
|
687 |
try {
|
689 |
self::OPS_REFUND_TRANSACTION_TYPE,
|
690 |
$this,
|
691 |
$payment,
|
692 |
+
$amount
|
|
|
693 |
);
|
694 |
+
$requestParams = $this->transliterateParams($requestParams);
|
695 |
$response = Mage::getSingleton('ops/api_directlink')->performRequest(
|
696 |
$requestParams,
|
697 |
Mage::getModel('ops/config')->getDirectLinkGatewayPath($storeId),
|
760 |
*/
|
761 |
|
762 |
//Proceed parent cancel method in case that regirstry value ops_auto_void is set
|
763 |
+
if (true === Mage::registry('ops_auto_void')) {
|
764 |
Mage::unregister('ops_auto_void');
|
|
|
765 |
return parent::cancel($payment);
|
766 |
+
}
|
767 |
|
768 |
//If order has state 'pending_payment' and the payment has Ingenico ePayments-status 0 or null (unknown) then cancel the order
|
769 |
if (true === $this->canCancelManually($payment->getOrder())) {
|
775 |
}
|
776 |
|
777 |
//Abort cancel method by throwing a Mage_Core_Exception
|
778 |
+
Mage::throwException($this->getHelper()->__('Please use void to cancel the operation.'));
|
779 |
}
|
780 |
|
781 |
/**
|
782 |
* Custom void behavior, trigger Ingenico ePayments cancel request
|
783 |
*
|
784 |
+
* @param Varien_Object $payment
|
785 |
+
* @return $this|void
|
|
|
|
|
786 |
*/
|
787 |
public function void(Varien_Object $payment)
|
788 |
{
|
789 |
|
790 |
$status = $payment->getAdditionalInformation('status');
|
791 |
|
792 |
+
if (!Netresearch_OPS_Model_Status::canVoidTransaction($status)) {
|
793 |
Mage::throwException($this->getHelper()->__('Status %s can not be voided.', $status));
|
794 |
}
|
795 |
|
855 |
Mage::helper('ops')->log(
|
856 |
"Exception in void request:" . $e->getMessage()
|
857 |
);
|
858 |
+
Mage::throwException($e->getMessage());
|
859 |
}
|
860 |
}
|
861 |
|
863 |
* get question for fields with disputable value
|
864 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
865 |
*
|
|
|
|
|
866 |
*
|
867 |
* @return string
|
868 |
*/
|
869 |
+
public function getQuestion()
|
870 |
{
|
871 |
return '';
|
872 |
}
|
876 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
877 |
*
|
878 |
* @param Mage_Sales_Model_Order $order Current order
|
|
|
879 |
*
|
880 |
* @return array
|
881 |
*/
|
882 |
+
public function getQuestionedFormFields($order)
|
883 |
{
|
884 |
return array();
|
885 |
}
|
899 |
if (false == is_array($requestParams)) {
|
900 |
$requestParams = array();
|
901 |
}
|
902 |
+
if (null === $formFields) {
|
903 |
$formFields = $this->getFormFields($order, $requestParams, false);
|
904 |
}
|
905 |
$availableParams = array_merge($requestParams, $formFields);
|
906 |
+
$requiredParams = $this->getQuestionedFormFields($order);
|
907 |
foreach ($requiredParams as $requiredParam) {
|
908 |
if (false == array_key_exists($requiredParam, $availableParams)
|
909 |
|| 0 == strlen($availableParams[$requiredParam])
|
929 |
//If payment has Ingenico ePayments-status 0 or null (unknown) or another offline cancelable status
|
930 |
$status = $payment->getAdditionalInformation('status');
|
931 |
|
932 |
+
return (null === $status)
|
933 |
|| in_array(
|
934 |
$status, array(
|
935 |
Netresearch_OPS_Model_Status::INVALID_INCOMPLETE,
|
943 |
public function getOpsHtmlAnswer($payment = null)
|
944 |
{
|
945 |
$returnValue = '';
|
946 |
+
if (null === $payment) {
|
947 |
$quoteId = Mage::getSingleton('checkout/session')->getQuote()->getId();
|
948 |
+
if (null === $quoteId) {
|
949 |
$orderIncrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
950 |
$order = Mage::getModel('sales/order')->loadByAttribute('increment_id', $orderIncrementId);
|
951 |
} else {
|
1031 |
*/
|
1032 |
public function canVoid(Varien_Object $payment)
|
1033 |
{
|
1034 |
+
if (Netresearch_OPS_Model_Status::canVoidTransaction($payment->getAdditionalInformation('status'))) {
|
|
|
1035 |
return parent::canVoid($payment);
|
1036 |
} else {
|
1037 |
return false;
|
1047 |
parent::assignData($data);
|
1048 |
|
1049 |
$paymentInfo = $this->getInfoInstance();
|
1050 |
+
if ($data instanceof Varien_Object && $data->getData($this->getCode().'_data')) {
|
1051 |
+
foreach ($data->getData($this->getCode().'_data') as $key => $value) {
|
1052 |
$paymentInfo->setAdditionalInformation($key, $value);
|
1053 |
}
|
1054 |
}
|
1069 |
$shippingAddress = $paymentInfo->getOrder()->getShippingAddress();
|
1070 |
$salesObject = $paymentInfo->getOrder();
|
1071 |
} else {
|
1072 |
+
/** @var Mage_Sales_Model_Quote $salesObject */
|
1073 |
$salesObject = $paymentInfo->getQuote();
|
1074 |
$billingAddress = $salesObject->getBillingAddress();
|
1075 |
$shippingAddress = $salesObject->getShippingAddress();
|
1076 |
}
|
1077 |
|
1078 |
+
/** @var Netresearch_OPS_Model_Validator_Parameter_Length $validator */
|
1079 |
$validator = Mage::getModel('ops/validator_parameter_factory')->getValidatorFor(
|
1080 |
Netresearch_OPS_Model_Validator_Parameter_Factory::TYPE_REQUEST_PARAMS_VALIDATION
|
1081 |
);
|
1083 |
$params = $this->getRequestHelper()->getOwnerParams($billingAddress, $salesObject);
|
1084 |
$billingParams = $this->getBillToParams($billingAddress);
|
1085 |
$shippingParams = $this->getShipToParams($shippingAddress);
|
1086 |
+
if ($shippingParams) {
|
1087 |
$params = array_merge($params, $shippingParams);
|
1088 |
}
|
1089 |
+
if ($billingParams) {
|
1090 |
$params = array_merge($params, $billingParams);
|
1091 |
}
|
1092 |
+
$params['CN'] = $billingAddress->getFirstname() . ' ' . $billingAddress->getLastname();
|
1093 |
|
1094 |
+
if (false === $validator->isValid($params)) {
|
1095 |
$result = Mage::helper('ops/validation_result')->getValidationFailedResult(
|
1096 |
$validator->getMessages(), $salesObject
|
1097 |
);
|
1098 |
+
throw Mage::exception('Mage_Payment', implode(', ', $result['fields']));
|
1099 |
}
|
1100 |
|
1101 |
return parent::validate();
|
1102 |
}
|
1103 |
|
1104 |
+
/**
|
1105 |
+
* Transliterates params if necessary by configuration
|
1106 |
+
*
|
1107 |
+
* @param string[] $formFields formfields to transliterate
|
1108 |
+
*
|
1109 |
+
* @return string[]
|
1110 |
+
*/
|
1111 |
+
protected function transliterateParams($formFields)
|
1112 |
+
{
|
1113 |
+
if (strtoupper($this->getEncoding()) != 'UTF-8') {
|
1114 |
+
setlocale(LC_CTYPE, Mage::app()->getLocale()->getLocaleCode());
|
1115 |
+
array_walk(
|
1116 |
+
$formFields,
|
1117 |
+
function (&$value) {
|
1118 |
+
$value = iconv('UTF-8', 'ASCII//TRANSLIT', $value);
|
1119 |
+
}
|
1120 |
+
);
|
1121 |
+
}
|
1122 |
+
|
1123 |
+
return $formFields;
|
1124 |
+
}
|
1125 |
+
|
1126 |
|
1127 |
}
|
app/code/community/Netresearch/OPS/Model/Payment/Bancontact.php
CHANGED
@@ -38,11 +38,65 @@ class Netresearch_OPS_Model_Payment_Bancontact
|
|
38 |
protected $_canBackendDirectCapture = true;
|
39 |
|
40 |
/** info source path */
|
41 |
-
protected $_infoBlockType = 'ops/
|
42 |
|
43 |
/** payment code */
|
44 |
protected $_code = self::CODE;
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
}
|
48 |
|
38 |
protected $_canBackendDirectCapture = true;
|
39 |
|
40 |
/** info source path */
|
41 |
+
protected $_infoBlockType = 'ops/info_bancontact';
|
42 |
|
43 |
/** payment code */
|
44 |
protected $_code = self::CODE;
|
45 |
|
46 |
+
protected $_mobileDetectHelper = null;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* add needed params to dependend formfields
|
50 |
+
*
|
51 |
+
* @param Mage_Sales_Model_Order $order
|
52 |
+
* @param null $requestParams
|
53 |
+
* @return string[]
|
54 |
+
*/
|
55 |
+
public function getMethodDependendFormFields($order, $requestParams = null)
|
56 |
+
{
|
57 |
+
$formFields = parent::getMethodDependendFormFields($order, $requestParams);
|
58 |
+
$formFields['DEVICE'] = $this->getInfoInstance()->getAdditionalInformation('DEVICE');
|
59 |
+
|
60 |
+
return $formFields;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* @param mixed $data
|
65 |
+
* @return $this
|
66 |
+
*/
|
67 |
+
public function assignData($data)
|
68 |
+
{
|
69 |
+
parent::assignData($data);
|
70 |
+
$payment = $this->getInfoInstance();
|
71 |
+
$payment->setAdditionalInformation('DEVICE', $this->getMobileDetectHelper()->getDeviceType());
|
72 |
+
|
73 |
+
return $this;
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Get Mobile Detect Helper
|
78 |
+
*
|
79 |
+
* @return Netresearch_OPS_Helper_MobileDetect
|
80 |
+
*/
|
81 |
+
public function getMobileDetectHelper()
|
82 |
+
{
|
83 |
+
if ($this->_mobileDetectHelper === null) {
|
84 |
+
$this->_mobileDetectHelper = Mage::helper('ops/mobileDetect');
|
85 |
+
}
|
86 |
+
return $this->_mobileDetectHelper;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @param Netresearch_OPS_Helper_MobileDetect $mobileHelper
|
91 |
+
*
|
92 |
+
* @returns $this
|
93 |
+
*/
|
94 |
+
public function setMobileDetectHelper($mobileHelper)
|
95 |
+
{
|
96 |
+
$this->_mobileDetectHelper = $mobileHelper;
|
97 |
+
|
98 |
+
return $this;
|
99 |
+
}
|
100 |
|
101 |
}
|
102 |
|
app/code/community/Netresearch/OPS/Model/Payment/BankTransfer.php
CHANGED
@@ -16,6 +16,9 @@ class Netresearch_OPS_Model_Payment_BankTransfer
|
|
16 |
/** info source path */
|
17 |
protected $_infoBlockType = 'ops/info_redirect';
|
18 |
|
|
|
|
|
|
|
19 |
/** payment code */
|
20 |
protected $_code = 'ops_bankTransfer';
|
21 |
|
@@ -37,7 +40,7 @@ class Netresearch_OPS_Model_Payment_BankTransfer
|
|
37 |
$pm = $brand = trim('Bank transfer' . (('*' == $countryId) ? '' : ' ' . $countryId));
|
38 |
|
39 |
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
40 |
-
$payment->setAdditionalInformation('PM',
|
41 |
$payment->setAdditionalInformation('BRAND', $brand);
|
42 |
|
43 |
parent::assignData($data);
|
16 |
/** info source path */
|
17 |
protected $_infoBlockType = 'ops/info_redirect';
|
18 |
|
19 |
+
/** form block type */
|
20 |
+
protected $_formBlockType = 'ops/form_bankTransfer';
|
21 |
+
|
22 |
/** payment code */
|
23 |
protected $_code = 'ops_bankTransfer';
|
24 |
|
40 |
$pm = $brand = trim('Bank transfer' . (('*' == $countryId) ? '' : ' ' . $countryId));
|
41 |
|
42 |
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
43 |
+
$payment->setAdditionalInformation('PM', $pm);
|
44 |
$payment->setAdditionalInformation('BRAND', $brand);
|
45 |
|
46 |
parent::assignData($data);
|
app/code/community/Netresearch/OPS/Model/Payment/Cc.php
CHANGED
@@ -24,7 +24,10 @@ class Netresearch_OPS_Model_Payment_Cc extends Netresearch_OPS_Model_Payment_Dir
|
|
24 |
protected $featureModel = null;
|
25 |
|
26 |
|
27 |
-
/**
|
|
|
|
|
|
|
28 |
public function getOpsCode($payment = null)
|
29 |
{
|
30 |
$opsBrand = $this->getOpsBrand($payment);
|
@@ -45,7 +48,7 @@ class Netresearch_OPS_Model_Payment_Cc extends Netresearch_OPS_Model_Payment_Dir
|
|
45 |
*/
|
46 |
public function getOpsBrand($payment = null)
|
47 |
{
|
48 |
-
if (
|
49 |
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
50 |
}
|
51 |
|
@@ -63,7 +66,7 @@ class Netresearch_OPS_Model_Payment_Cc extends Netresearch_OPS_Model_Payment_Dir
|
|
63 |
public function getOrderPlaceRedirectUrl($payment = null)
|
64 |
{
|
65 |
$salesObject = $this->getInfoInstance()->getOrder() ? : $this->getInfoInstance()->getQuote();
|
66 |
-
if ($this->hasBrandAliasInterfaceSupport($payment) ||
|
67 |
if ('' == $this->getOpsHtmlAnswer($payment)) {
|
68 |
return false;
|
69 |
} // Prevent redirect on cc payment
|
@@ -143,9 +146,11 @@ class Netresearch_OPS_Model_Payment_Cc extends Netresearch_OPS_Model_Payment_Dir
|
|
143 |
}
|
144 |
|
145 |
|
146 |
-
protected function performPreDirectLinkCallActions(
|
|
|
147 |
$requestParams = array()
|
148 |
-
)
|
|
|
149 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment, true);
|
150 |
if (true === Mage::getModel('ops/config')->isAliasManagerEnabled($this->getCode())) {
|
151 |
$this->validateAlias($quote, $payment);
|
@@ -246,7 +251,7 @@ class Netresearch_OPS_Model_Payment_Cc extends Netresearch_OPS_Model_Payment_Dir
|
|
246 |
*/
|
247 |
public function isAvailable($quote = null)
|
248 |
{
|
249 |
-
if (
|
250 |
/* Disable payment method in backend as long as there are no items in quote to
|
251 |
* avoid problems with alias creation in EE1.12 & EE1.13
|
252 |
*/
|
@@ -271,6 +276,26 @@ class Netresearch_OPS_Model_Payment_Cc extends Netresearch_OPS_Model_Payment_Dir
|
|
271 |
$formFields['CREDITDEBIT'] = "C";
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
return $formFields;
|
275 |
}
|
276 |
}
|
24 |
protected $featureModel = null;
|
25 |
|
26 |
|
27 |
+
/**
|
28 |
+
* @param null $payment
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
public function getOpsCode($payment = null)
|
32 |
{
|
33 |
$opsBrand = $this->getOpsBrand($payment);
|
48 |
*/
|
49 |
public function getOpsBrand($payment = null)
|
50 |
{
|
51 |
+
if (null === $payment) {
|
52 |
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
53 |
}
|
54 |
|
66 |
public function getOrderPlaceRedirectUrl($payment = null)
|
67 |
{
|
68 |
$salesObject = $this->getInfoInstance()->getOrder() ? : $this->getInfoInstance()->getQuote();
|
69 |
+
if ($this->hasBrandAliasInterfaceSupport($payment) || null === $salesObject->getRemoteIp()) {
|
70 |
if ('' == $this->getOpsHtmlAnswer($payment)) {
|
71 |
return false;
|
72 |
} // Prevent redirect on cc payment
|
146 |
}
|
147 |
|
148 |
|
149 |
+
protected function performPreDirectLinkCallActions(
|
150 |
+
Mage_Sales_Model_Quote $quote, Varien_Object $payment,
|
151 |
$requestParams = array()
|
152 |
+
)
|
153 |
+
{
|
154 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment, true);
|
155 |
if (true === Mage::getModel('ops/config')->isAliasManagerEnabled($this->getCode())) {
|
156 |
$this->validateAlias($quote, $payment);
|
251 |
*/
|
252 |
public function isAvailable($quote = null)
|
253 |
{
|
254 |
+
if (null != $quote && !$quote->getItemsCount() > 0 && $this->getDataHelper()->isAdminSession()) {
|
255 |
/* Disable payment method in backend as long as there are no items in quote to
|
256 |
* avoid problems with alias creation in EE1.12 & EE1.13
|
257 |
*/
|
276 |
$formFields['CREDITDEBIT'] = "C";
|
277 |
}
|
278 |
|
279 |
+
$alias = $order->getPayment()->getAdditionalInformation('alias');
|
280 |
+
|
281 |
+
if ($alias) {
|
282 |
+
$formFields['ALIAS'] = $alias;
|
283 |
+
$formFields['ALIASOPERATION'] = "BYPSP";
|
284 |
+
$formFields['ECI'] = 9;
|
285 |
+
$formFields['ALIASUSAGE'] = $this->getConfig()->getAliasUsageForExistingAlias(
|
286 |
+
$order->getPayment()->getMethodInstance()->getCode(),
|
287 |
+
$order->getStoreId()
|
288 |
+
);
|
289 |
+
} else {
|
290 |
+
$formFields['ALIAS'] = "";
|
291 |
+
$formFields['ALIASOPERATION'] = "BYPSP";
|
292 |
+
$formFields['ALIASUSAGE'] = $this->getConfig()->getAliasUsageForNewAlias(
|
293 |
+
$order->getPayment()->getMethodInstance()->getCode(),
|
294 |
+
$order->getStoreId()
|
295 |
+
);
|
296 |
+
|
297 |
+
}
|
298 |
+
|
299 |
return $formFields;
|
300 |
}
|
301 |
}
|
app/code/community/Netresearch/OPS/Model/Payment/Debitcard.php
CHANGED
@@ -15,7 +15,10 @@ class Netresearch_OPS_Model_Payment_Debitcard extends Netresearch_OPS_Model_Paym
|
|
15 |
protected $_code = 'ops_dc';
|
16 |
|
17 |
|
18 |
-
/**
|
|
|
|
|
|
|
19 |
public function getOpsCode($payment = null)
|
20 |
{
|
21 |
return 'CreditCard';
|
15 |
protected $_code = 'ops_dc';
|
16 |
|
17 |
|
18 |
+
/**
|
19 |
+
* @param null $payment
|
20 |
+
* @return string
|
21 |
+
*/
|
22 |
public function getOpsCode($payment = null)
|
23 |
{
|
24 |
return 'CreditCard';
|
app/code/community/Netresearch/OPS/Model/Payment/DirectDebit.php
CHANGED
@@ -38,22 +38,23 @@ class Netresearch_OPS_Model_Payment_DirectDebit
|
|
38 |
return $this->requestParamsHelper;
|
39 |
}
|
40 |
|
41 |
-
protected function performPreDirectLinkCallActions(
|
|
|
|
|
|
|
42 |
{
|
43 |
return $this;
|
44 |
}
|
45 |
|
46 |
protected function performPostDirectLinkCallAction(Mage_Sales_Model_Quote $quote, Mage_Sales_Model_Order $order)
|
47 |
{
|
|
|
|
|
48 |
return $this;
|
49 |
}
|
50 |
|
51 |
protected function handleAdminPayment(Mage_Sales_Model_Quote $quote)
|
52 |
{
|
53 |
-
$directDebitHelper = Mage::helper('ops/directDebit');
|
54 |
-
$requestParams = Mage::app()->getRequest()->getParam('ops_directDebit');
|
55 |
-
$directDebitHelper->handleAdminPayment($quote, $requestParams);
|
56 |
-
|
57 |
return $this;
|
58 |
}
|
59 |
}
|
38 |
return $this->requestParamsHelper;
|
39 |
}
|
40 |
|
41 |
+
protected function performPreDirectLinkCallActions(
|
42 |
+
Mage_Sales_Model_Quote $quote,
|
43 |
+
Varien_Object $payment, $requestParams = array()
|
44 |
+
)
|
45 |
{
|
46 |
return $this;
|
47 |
}
|
48 |
|
49 |
protected function performPostDirectLinkCallAction(Mage_Sales_Model_Quote $quote, Mage_Sales_Model_Order $order)
|
50 |
{
|
51 |
+
Mage::helper('ops/alias')->setAliasActive($quote, $order);
|
52 |
+
|
53 |
return $this;
|
54 |
}
|
55 |
|
56 |
protected function handleAdminPayment(Mage_Sales_Model_Quote $quote)
|
57 |
{
|
|
|
|
|
|
|
|
|
58 |
return $this;
|
59 |
}
|
60 |
}
|
app/code/community/Netresearch/OPS/Model/Payment/DirectEbanking.php
CHANGED
@@ -16,20 +16,12 @@ class Netresearch_OPS_Model_Payment_DirectEbanking
|
|
16 |
/** info source path */
|
17 |
protected $_infoBlockType = 'ops/info_redirect';
|
18 |
|
|
|
|
|
|
|
19 |
/** payment code */
|
20 |
protected $_code = 'ops_directEbanking';
|
21 |
|
22 |
-
|
23 |
-
protected function getPayment()
|
24 |
-
{
|
25 |
-
$checkout = Mage::getSingleton('checkout/session');
|
26 |
-
$payment = $checkout->getQuote()->getPayment();
|
27 |
-
if (!$payment->getId()) {
|
28 |
-
$payment = Mage::getModel('sales/order')->loadByIncrementId($checkout->getLastRealOrderId())->getPayment();
|
29 |
-
}
|
30 |
-
return $payment;
|
31 |
-
}
|
32 |
-
|
33 |
/**
|
34 |
* Assign data to info model instance
|
35 |
*
|
@@ -51,7 +43,7 @@ class Netresearch_OPS_Model_Payment_DirectEbanking
|
|
51 |
|
52 |
$payment = $this->getInfoInstance();
|
53 |
// brand == pm for all DirectEbanking methods
|
54 |
-
$payment->setAdditionalInformation('PM',
|
55 |
$payment->setAdditionalInformation('BRAND', $brand);
|
56 |
parent::assignData($data);
|
57 |
return $this;
|
@@ -64,8 +56,9 @@ class Netresearch_OPS_Model_Payment_DirectEbanking
|
|
64 |
* @param string $value
|
65 |
* @return string
|
66 |
*/
|
67 |
-
protected function fixSofortUberweisungBrand($value)
|
68 |
-
|
|
|
69 |
return 'DirectEbanking';
|
70 |
}
|
71 |
return $value;
|
16 |
/** info source path */
|
17 |
protected $_infoBlockType = 'ops/info_redirect';
|
18 |
|
19 |
+
/** form block type */
|
20 |
+
protected $_formBlockType = 'ops/form_directEbanking';
|
21 |
+
|
22 |
/** payment code */
|
23 |
protected $_code = 'ops_directEbanking';
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
/**
|
26 |
* Assign data to info model instance
|
27 |
*
|
43 |
|
44 |
$payment = $this->getInfoInstance();
|
45 |
// brand == pm for all DirectEbanking methods
|
46 |
+
$payment->setAdditionalInformation('PM', $brand);
|
47 |
$payment->setAdditionalInformation('BRAND', $brand);
|
48 |
parent::assignData($data);
|
49 |
return $this;
|
56 |
* @param string $value
|
57 |
* @return string
|
58 |
*/
|
59 |
+
protected function fixSofortUberweisungBrand($value)
|
60 |
+
{
|
61 |
+
if ($value === 'Sofort Uberweisung') {
|
62 |
return 'DirectEbanking';
|
63 |
}
|
64 |
return $value;
|
app/code/community/Netresearch/OPS/Model/Payment/DirectLink.php
CHANGED
@@ -155,7 +155,8 @@ abstract class Netresearch_OPS_Model_Payment_DirectLink extends Netresearch_OPS_
|
|
155 |
|
156 |
protected function confirmPayment(Mage_Sales_Model_Order $order, Mage_Sales_Model_Quote $quote,
|
157 |
Varien_Object $payment
|
158 |
-
)
|
|
|
159 |
$this->handleAdminPayment($quote);
|
160 |
$requestParams = $this->getRequestParamsHelper()->getDirectLinkRequestParams($quote, $order, $payment);
|
161 |
$this->invokeRequestParamValidation($requestParams);
|
@@ -215,7 +216,8 @@ abstract class Netresearch_OPS_Model_Payment_DirectLink extends Netresearch_OPS_
|
|
215 |
|
216 |
|
217 |
/**
|
218 |
-
* performs direct link request either for inline payments and
|
|
|
219 |
*
|
220 |
* @override
|
221 |
*
|
155 |
|
156 |
protected function confirmPayment(Mage_Sales_Model_Order $order, Mage_Sales_Model_Quote $quote,
|
157 |
Varien_Object $payment
|
158 |
+
)
|
159 |
+
{
|
160 |
$this->handleAdminPayment($quote);
|
161 |
$requestParams = $this->getRequestParamsHelper()->getDirectLinkRequestParams($quote, $order, $payment);
|
162 |
$this->invokeRequestParamValidation($requestParams);
|
216 |
|
217 |
|
218 |
/**
|
219 |
+
* performs direct link request either for inline payments and
|
220 |
+
* direct sale mode or the normal maintenance call (invoice)
|
221 |
*
|
222 |
* @override
|
223 |
*
|
app/code/community/Netresearch/OPS/Model/Payment/Features/PaymentEmail.php
CHANGED
@@ -1,197 +1,198 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Netresearch OPS
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
*
|
12 |
-
* DISCLAIMER
|
13 |
-
*
|
14 |
-
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
-
* newer versions in the future.
|
16 |
-
*
|
17 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
-
* @license Open Software License (OSL 3.0)
|
19 |
-
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
-
*/
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Implements functionality to send Ingenico ePayments specific mails
|
24 |
-
*
|
25 |
-
* @category Payment method
|
26 |
-
* @package Netresearch OPS
|
27 |
-
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
-
*/
|
29 |
-
class Netresearch_OPS_Model_Payment_Features_PaymentEmail
|
30 |
-
{
|
31 |
-
|
32 |
-
protected function getConfig()
|
33 |
-
{
|
34 |
-
return Mage::getModel('ops/config');
|
35 |
-
}
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Check if payment email is available for order
|
39 |
-
*
|
40 |
-
* @param $order
|
41 |
-
*
|
42 |
-
* @return bool
|
43 |
-
*/
|
44 |
-
public function isAvailableForOrder($order)
|
45 |
-
{
|
46 |
-
if ($order instanceof Mage_Sales_Model_Order) {
|
47 |
-
$status = $order->getPayment()->getAdditionalInformation('status');
|
48 |
-
|
49 |
-
return Netresearch_OPS_Model_Status::canResendPaymentInfo($status);
|
50 |
-
}
|
51 |
-
|
52 |
-
return false;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
/**
|
57 |
-
* Resends the payment information and returns true/false, depending if succeeded or not
|
58 |
-
*
|
59 |
-
* @param Mage_Sales_Model_Order $order
|
60 |
-
*
|
61 |
-
* @return boolean success state
|
62 |
-
*/
|
63 |
-
public function resendPaymentInfo(Mage_Sales_Model_Order $order)
|
64 |
-
{
|
65 |
-
|
66 |
-
// reset payment method so the customer can choose freely from all available methods
|
67 |
-
$this->setPaymentMethodToGeneric($order);
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
$
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
$
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
*
|
115 |
-
*
|
116 |
-
*
|
117 |
-
*
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
*
|
128 |
-
*
|
129 |
-
* @param
|
130 |
-
*
|
131 |
-
*
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
$
|
142 |
-
$customer->
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
"
|
150 |
-
"
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
*
|
163 |
-
*
|
164 |
-
*
|
165 |
-
*
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
$identity
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
*
|
179 |
-
*
|
180 |
-
* @param string $
|
181 |
-
* @param string $
|
182 |
-
*
|
183 |
-
*
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Implements functionality to send Ingenico ePayments specific mails
|
24 |
+
*
|
25 |
+
* @category Payment method
|
26 |
+
* @package Netresearch OPS
|
27 |
+
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
+
*/
|
29 |
+
class Netresearch_OPS_Model_Payment_Features_PaymentEmail
|
30 |
+
{
|
31 |
+
|
32 |
+
protected function getConfig()
|
33 |
+
{
|
34 |
+
return Mage::getModel('ops/config');
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Check if payment email is available for order
|
39 |
+
*
|
40 |
+
* @param $order
|
41 |
+
*
|
42 |
+
* @return bool
|
43 |
+
*/
|
44 |
+
public function isAvailableForOrder($order)
|
45 |
+
{
|
46 |
+
if ($order instanceof Mage_Sales_Model_Order) {
|
47 |
+
$status = $order->getPayment()->getAdditionalInformation('status');
|
48 |
+
|
49 |
+
return Netresearch_OPS_Model_Status::canResendPaymentInfo($status);
|
50 |
+
}
|
51 |
+
|
52 |
+
return false;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Resends the payment information and returns true/false, depending if succeeded or not
|
58 |
+
*
|
59 |
+
* @param Mage_Sales_Model_Order $order
|
60 |
+
*
|
61 |
+
* @return boolean success state
|
62 |
+
*/
|
63 |
+
public function resendPaymentInfo(Mage_Sales_Model_Order $order)
|
64 |
+
{
|
65 |
+
|
66 |
+
// reset payment method so the customer can choose freely from all available methods
|
67 |
+
$this->setPaymentMethodToGeneric($order);
|
68 |
+
|
69 |
+
$identity = $this->getIdentity($this->getConfig()->getResendPaymentInfoIdentity($order->getStoreId()));
|
70 |
+
|
71 |
+
if ($order->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_PayPerMail) {
|
72 |
+
$template = $this->getConfig()->getPayPerMailTemplate($order->getStoreId());
|
73 |
+
} else {
|
74 |
+
$template = $this->getConfig()->getResendPaymentInfoTemplate($order->getStoreId());
|
75 |
+
}
|
76 |
+
|
77 |
+
$emailTemplate = $this->prepareTemplate(
|
78 |
+
$template,
|
79 |
+
$identity->getEmail(),
|
80 |
+
$identity->getName()
|
81 |
+
);
|
82 |
+
|
83 |
+
$parameters = array(
|
84 |
+
"order" => $order,
|
85 |
+
"paymentLink" => $this->generatePaymentLink($order),
|
86 |
+
"store" => Mage::app()->getStore($order->getStoreId())
|
87 |
+
);
|
88 |
+
|
89 |
+
return $emailTemplate->send($order->getCustomerEmail(), $order->getCustomerName(), $parameters);
|
90 |
+
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Generates the payment url
|
95 |
+
*
|
96 |
+
* @param Mage_Sales_Model_Order $order
|
97 |
+
*
|
98 |
+
* @return string
|
99 |
+
*/
|
100 |
+
protected function generatePaymentLink(Mage_Sales_Model_Order $order)
|
101 |
+
{
|
102 |
+
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
103 |
+
|
104 |
+
$url = Mage::getModel('ops/config')->getPaymentRetryUrl(
|
105 |
+
Mage::helper('ops/payment')->validateOrderForReuse($opsOrderId, $order->getStoreId()),
|
106 |
+
$order->getStoreId()
|
107 |
+
);
|
108 |
+
|
109 |
+
return $url;
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Set payment method to Netresearch_OPS_Model_Payment_Flex
|
114 |
+
*
|
115 |
+
* @param Mage_Sales_Model_Order $order
|
116 |
+
*
|
117 |
+
* @throws Exception
|
118 |
+
*/
|
119 |
+
protected function setPaymentMethodToGeneric(Mage_Sales_Model_Order $order)
|
120 |
+
{
|
121 |
+
if (!$order->getPayment()->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_PayPerMail) {
|
122 |
+
$order->getPayment()->setMethod(Netresearch_OPS_Model_Payment_Flex::CODE)->save();
|
123 |
+
}
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Sends suspend subscription mail to configured store contact via configured mail template
|
128 |
+
*
|
129 |
+
* @param Mage_Sales_Model_Recurring_Profile $profile
|
130 |
+
* @param Mage_Customer_Model_Customer $customer
|
131 |
+
*
|
132 |
+
* @return bool
|
133 |
+
*/
|
134 |
+
public function sendSuspendSubscriptionMail($profile, $customer)
|
135 |
+
{
|
136 |
+
if (null === $profile || null === $customer) {
|
137 |
+
Mage::throwException('Could not send mail due to internal error!');
|
138 |
+
}
|
139 |
+
|
140 |
+
$emailTemplate = $this->prepareTemplate(
|
141 |
+
$this->getConfig()->getSuspendSubscriptionTemplate($profile->getStoreId()),
|
142 |
+
$customer->getEmail(),
|
143 |
+
$customer->getName()
|
144 |
+
);
|
145 |
+
|
146 |
+
$emailTemplate->addBcc($customer->getEmail());
|
147 |
+
|
148 |
+
$parameters = array(
|
149 |
+
"profile" => $profile,
|
150 |
+
"customer" => $customer,
|
151 |
+
"store" => Mage::app()->getStore($profile->getStoreId())
|
152 |
+
);
|
153 |
+
|
154 |
+
$identity = $this->getIdentity($this->getConfig()->getSuspendSubscriptionIdentity($profile->getStoreId()));
|
155 |
+
|
156 |
+
return $emailTemplate->send($identity->getEmail(), $identity->getName(), $parameters);
|
157 |
+
|
158 |
+
}
|
159 |
+
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Loads email and name of the given store identity
|
163 |
+
*
|
164 |
+
* @param string $key - identity to load, defaults to sales
|
165 |
+
*
|
166 |
+
* @return Varien_Object with data name and email
|
167 |
+
*/
|
168 |
+
protected function getIdentity($key = 'sales')
|
169 |
+
{
|
170 |
+
$identity = new Varien_Object();
|
171 |
+
$identity->setName(Mage::getStoreConfig('trans_email/ident_' . $key . '/name'))
|
172 |
+
->setEmail(Mage::getStoreConfig('trans_email/ident_' . $key . '/email'));
|
173 |
+
|
174 |
+
return $identity;
|
175 |
+
}
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Loads the given template by identifier, sets sender mail and name
|
179 |
+
*
|
180 |
+
* @param string $template
|
181 |
+
* @param string $senderMail
|
182 |
+
* @param string $senderName
|
183 |
+
*
|
184 |
+
* @return Mage_Core_Model_Email_Template
|
185 |
+
*/
|
186 |
+
protected function prepareTemplate($template, $senderMail, $senderName)
|
187 |
+
{
|
188 |
+
$emailTemplate = Mage::getModel('core/email_template')->load($template);
|
189 |
+
if (null === $emailTemplate->getTemplateSubject()) {
|
190 |
+
$emailTemplate = $emailTemplate->loadDefault($template);
|
191 |
+
}
|
192 |
+
$emailTemplate->setSenderName($senderName)
|
193 |
+
->setSenderEmail($senderMail);
|
194 |
+
|
195 |
+
return $emailTemplate;
|
196 |
+
}
|
197 |
+
|
198 |
+
}
|
app/code/community/Netresearch/OPS/Model/Payment/Features/ZeroAmountAuth.php
CHANGED
@@ -21,7 +21,8 @@ class Netresearch_OPS_Model_Payment_Features_ZeroAmountAuth
|
|
21 |
public function isCCAndZeroAmountAuthAllowed(
|
22 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
23 |
Mage_Sales_Model_Quote $quote
|
24 |
-
)
|
|
|
25 |
$result = false;
|
26 |
$storeId = $quote->getStoreId();
|
27 |
if ($quote->getBaseGrandTotal() < 0.01
|
21 |
public function isCCAndZeroAmountAuthAllowed(
|
22 |
Netresearch_OPS_Model_Payment_Abstract $opsPaymentMethod,
|
23 |
Mage_Sales_Model_Quote $quote
|
24 |
+
)
|
25 |
+
{
|
26 |
$result = false;
|
27 |
$storeId = $quote->getStoreId();
|
28 |
if ($quote->getBaseGrandTotal() < 0.01
|
app/code/community/Netresearch/OPS/Model/Payment/IDeal.php
CHANGED
@@ -38,11 +38,7 @@ class Netresearch_OPS_Model_Payment_IDeal
|
|
38 |
$data = $data->getData();
|
39 |
}
|
40 |
if (array_key_exists('iDeal_issuer_id', $data)) {
|
41 |
-
$
|
42 |
-
->getQuote()
|
43 |
-
->getPayment();
|
44 |
-
$payment
|
45 |
-
->setAdditionalInformation('iDeal_issuer_id', $data['iDeal_issuer_id']);
|
46 |
}
|
47 |
parent::assignData($data);
|
48 |
|
38 |
$data = $data->getData();
|
39 |
}
|
40 |
if (array_key_exists('iDeal_issuer_id', $data)) {
|
41 |
+
$this->getInfoInstance()->setAdditionalInformation('iDeal_issuer_id', $data['iDeal_issuer_id']);
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
parent::assignData($data);
|
44 |
|
app/code/community/Netresearch/OPS/Model/Payment/InterSolve.php
CHANGED
@@ -41,7 +41,7 @@ class Netresearch_OPS_Model_Payment_InterSolve
|
|
41 |
if (strlen(trim($brand)) === 0) {
|
42 |
$brand = 'InterSolve';
|
43 |
}
|
44 |
-
$payment =
|
45 |
$payment->setAdditionalInformation('BRAND', $brand);
|
46 |
|
47 |
parent::assignData($data);
|
41 |
if (strlen(trim($brand)) === 0) {
|
42 |
$brand = 'InterSolve';
|
43 |
}
|
44 |
+
$payment = $this->getInfoInstance();
|
45 |
$payment->setAdditionalInformation('BRAND', $brand);
|
46 |
|
47 |
parent::assignData($data);
|
app/code/community/Netresearch/OPS/Model/Payment/Kwixo/Abstract.php
CHANGED
@@ -30,14 +30,14 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
30 |
extends Netresearch_OPS_Model_Payment_Abstract
|
31 |
{
|
32 |
|
33 |
-
|
34 |
|
35 |
-
|
36 |
|
37 |
/**
|
38 |
-
*
|
39 |
* @param Mage_Sales_Model_Order $order
|
40 |
-
* @param
|
|
|
41 |
*/
|
42 |
public function getMethodDependendFormFields($order, $requestParams = null)
|
43 |
{
|
@@ -58,8 +58,8 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
58 |
|
59 |
$formFields['ECOM_ESTIMATEDELIVERYDATE']
|
60 |
= $this->getEstimatedDeliveryDate(
|
61 |
-
|
62 |
-
|
63 |
$formFields['RNPOFFERT'] = $this->getRnpFee(
|
64 |
$this->getCode(), $order->getStoreId()
|
65 |
);
|
@@ -122,7 +122,7 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
122 |
foreach ($product->getCategoryIds() as $categoryId) {
|
123 |
$kwixoCategory = Mage::getModel('ops/kwixo_category_mapping')
|
124 |
->loadByCategoryId($categoryId);
|
125 |
-
if (
|
126 |
$kwixoCategoryId = $kwixoCategory->getKwixoCategoryId();
|
127 |
break;
|
128 |
}
|
@@ -135,38 +135,23 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
135 |
*
|
136 |
*
|
137 |
* @param Mage_Sales_Model_Order $order
|
138 |
-
* @param array $requestParams
|
139 |
*
|
140 |
* @return array
|
141 |
*/
|
142 |
public function getKwixoBillToParams(Mage_Sales_Model_Order $order)
|
143 |
{
|
144 |
-
$formFields
|
145 |
-
$billingAddress
|
146 |
-
|
147 |
-
$
|
148 |
-
|
149 |
-
|
150 |
-
$formFields['ECOM_BILLTO_POSTAL_NAME_FIRST']
|
151 |
-
|
152 |
-
$formFields['
|
153 |
-
|
154 |
-
$formFields['
|
155 |
-
|
156 |
-
);
|
157 |
-
if (array_key_exists('street', $splittedStreet)) {
|
158 |
-
$formFields['OWNERADDRESS'] = trim($splittedStreet['street']);
|
159 |
-
}
|
160 |
-
$streetAppendix = trim($billingAddress->getStreet2());
|
161 |
-
if (0 < strlen($streetAppendix)) {
|
162 |
-
$formFields['OWNERADDRESS2'] = $streetAppendix;
|
163 |
-
}
|
164 |
-
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = '';
|
165 |
-
if (array_key_exists('housenumber', $splittedStreet)) {
|
166 |
-
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER']
|
167 |
-
= $splittedStreet['housenumber'];
|
168 |
-
}
|
169 |
-
$formFields['OWNERTELNO'] = $billingAddress->getTelephone();
|
170 |
|
171 |
return $formFields;
|
172 |
}
|
@@ -175,7 +160,6 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
175 |
* return the shipping parameters as array based on shipping method type
|
176 |
*
|
177 |
* @param Mage_Sales_Model_Order $order
|
178 |
-
* @param array $requestParams
|
179 |
*
|
180 |
* @return array
|
181 |
*/
|
@@ -183,66 +167,42 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
183 |
{
|
184 |
$formFields = array();
|
185 |
$shippingAddress = $order->getShippingAddress();
|
|
|
186 |
if ($shippingAddress === false) {
|
187 |
$shippingAddress = $order->getBillingAddress();
|
188 |
}
|
189 |
-
$splittedStreet = $this->splitHouseNumber(
|
190 |
-
$shippingAddress->getStreet1()
|
191 |
-
);
|
192 |
|
193 |
-
$
|
194 |
-
|
195 |
-
);
|
196 |
|
197 |
-
if (in_array(
|
198 |
-
$shippingMethodType, $this->getShippingMethodTypeValues()
|
199 |
-
)
|
200 |
-
) {
|
201 |
if (4 === $shippingMethodType) {
|
202 |
-
$formFields['ECOM_SHIPTO_POSTAL_NAME_PREFIX']
|
203 |
-
= $shippingAddress->getPrefix();
|
204 |
}
|
205 |
|
206 |
-
|
207 |
$company = trim($shippingAddress->getCompany());
|
208 |
if (0 < strlen($company)) {
|
209 |
$formFields['ECOM_SHIPTO_COMPANY'] = $company;
|
210 |
}
|
|
|
211 |
$fax = trim($shippingAddress->getFax());
|
212 |
if (0 < strlen($fax)) {
|
213 |
$formFields['ECOM_SHIPTO_TELECOM_FAX_NUMBER'] = $fax;
|
214 |
}
|
215 |
|
216 |
-
|
217 |
-
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE1']
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
$streetAppendix = trim($shippingAddress->getStreet2());
|
224 |
-
if (0 < strlen($streetAppendix)) {
|
225 |
-
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE2']
|
226 |
-
= $streetAppendix;
|
227 |
-
}
|
228 |
-
$formFields['ECOM_SHIPTO_POSTAL_STREET_NUMBER'] = '';
|
229 |
-
if (array_key_exists('housenumber', $splittedStreet)) {
|
230 |
-
$formFields['ECOM_SHIPTO_POSTAL_STREET_NUMBER']
|
231 |
-
= $splittedStreet['housenumber'];
|
232 |
-
}
|
233 |
-
$formFields['ECOM_SHIPTO_POSTAL_POSTALCODE']
|
234 |
-
= $shippingAddress->getPostcode();
|
235 |
-
$formFields['ECOM_SHIPTO_POSTAL_CITY']
|
236 |
-
= $shippingAddress->getCity();
|
237 |
-
$formFields['ECOM_SHIPTO_POSTAL_COUNTRYCODE']
|
238 |
-
= $shippingAddress->getCountryId();
|
239 |
}
|
240 |
-
|
241 |
-
|
242 |
-
$formFields['ECOM_SHIPTO_POSTAL_NAME_LAST']
|
243 |
-
|
244 |
-
$formFields['ECOM_SHIPTO_TELECOM_PHONE_NUMBER']
|
245 |
-
= $shippingAddress->getTelephone();
|
246 |
|
247 |
return $formFields;
|
248 |
}
|
@@ -268,11 +228,11 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
268 |
}
|
269 |
|
270 |
$subtotal += $item->getBasePriceInclTax(
|
271 |
-
|
272 |
$formFields['ITEMFDMPRODUCTCATEG' . $itemCounter]
|
273 |
= $this->getKwixoCategoryFromOrderItem(
|
274 |
-
|
275 |
-
|
276 |
$formFields['ITEMID' . $itemCounter] = $item->getItemId();
|
277 |
$formFields['ITEMNAME' . $itemCounter] = substr(
|
278 |
$item->getName(), 0, 40
|
@@ -282,7 +242,7 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
282 |
);
|
283 |
$formFields['ITEMQUANT' . $itemCounter]
|
284 |
= (int)$item->getQtyOrdered(
|
285 |
-
|
286 |
$formFields['ITEMVAT' . $itemCounter] = str_replace(
|
287 |
',', '.', (string)(float)$item->getBaseTaxAmount()
|
288 |
);
|
@@ -318,25 +278,6 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
318 |
return $formFields;
|
319 |
}
|
320 |
|
321 |
-
/**
|
322 |
-
* splits house number and street for france addresses
|
323 |
-
*
|
324 |
-
* @param string $address
|
325 |
-
*
|
326 |
-
* @return array
|
327 |
-
*/
|
328 |
-
public function splitHouseNumber($address)
|
329 |
-
{
|
330 |
-
$splittedStreet = array();
|
331 |
-
$street = str_replace("\n", ' ', $address);
|
332 |
-
$regexp = '/(?P<housenumber>[0-9]+)([,:\s])(?P<street>.+)/';
|
333 |
-
if (!preg_match($regexp, $street, $splittedStreet)) {
|
334 |
-
$splittedStreet[1] = $street;
|
335 |
-
$splittedStreet[2] = '';
|
336 |
-
}
|
337 |
-
|
338 |
-
return $splittedStreet;
|
339 |
-
}
|
340 |
|
341 |
/**
|
342 |
* returns the delivery date as date based on actual date and adding
|
@@ -376,10 +317,10 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
376 |
/**
|
377 |
* returns the Shipping Method Type configured in backend
|
378 |
*
|
379 |
-
* @param
|
380 |
-
* @param
|
381 |
-
*
|
382 |
-
* @return
|
383 |
*/
|
384 |
public function getShippingMethodType(
|
385 |
$code, $storeId = null, $isVirtual = false
|
@@ -463,12 +404,10 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
463 |
* get question for fields with disputable value
|
464 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
465 |
*
|
466 |
-
* @param Mage_Sales_Model_Order $order Current order
|
467 |
-
* @param array $requestParams Request parameters
|
468 |
*
|
469 |
* @return string
|
470 |
*/
|
471 |
-
public function getQuestion(
|
472 |
{
|
473 |
return Mage::helper('ops/data')->__(
|
474 |
'Please make sure that the displayed data is correct.'
|
@@ -480,12 +419,12 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
480 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
481 |
*
|
482 |
* @param Mage_Sales_Model_Order $order Current order
|
483 |
-
* @param array $requestParams Request parameters
|
484 |
*
|
485 |
* @return array
|
486 |
*/
|
487 |
-
public function getQuestionedFormFields($order
|
488 |
{
|
|
|
489 |
$questionedFormFields = array(
|
490 |
'CIVILITY',
|
491 |
'OWNERADDRESS',
|
@@ -499,10 +438,7 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
499 |
$shippingMethodType = (int)$this->getShippingMethodType(
|
500 |
$this->getCode(), $storeId
|
501 |
);
|
502 |
-
if (in_array(
|
503 |
-
$shippingMethodType, $this->getShippingMethodTypeValues()
|
504 |
-
)
|
505 |
-
) {
|
506 |
$questionedFormFields [] = 'ECOM_SHIPTO_POSTAL_STREET_NUMBER';
|
507 |
$questionedFormFields [] = 'ECOM_SHIPTO_POSTAL_STREET_LINE1';
|
508 |
}
|
@@ -530,6 +466,7 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
530 |
*
|
531 |
* @param array $formFields - the array to populate
|
532 |
* @param null $dataArray - the array containing the data
|
|
|
533 |
*
|
534 |
* @return array - the populated array
|
535 |
*/
|
@@ -544,7 +481,7 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
544 |
if (array_key_exists($key, $formFields)
|
545 |
&& in_array(
|
546 |
$key,
|
547 |
-
$this->getQuestionedFormFields($order
|
548 |
)
|
549 |
|| $key == 'CIVILITY'
|
550 |
) {
|
@@ -601,8 +538,9 @@ class Netresearch_OPS_Model_Payment_Kwixo_Abstract
|
|
601 |
|
602 |
/**
|
603 |
* @param $carrierCode
|
|
|
604 |
*/
|
605 |
-
|
606 |
{
|
607 |
$this->shippingSettings = $this->getKwixoShippingModel()->load(
|
608 |
$carrierCode, 'shipping_code'
|
30 |
extends Netresearch_OPS_Model_Payment_Abstract
|
31 |
{
|
32 |
|
33 |
+
protected $kwixoShippingModel = null;
|
34 |
|
35 |
+
protected $shippingSettings = null;
|
36 |
|
37 |
/**
|
|
|
38 |
* @param Mage_Sales_Model_Order $order
|
39 |
+
* @param null $requestParams
|
40 |
+
* @return string[]
|
41 |
*/
|
42 |
public function getMethodDependendFormFields($order, $requestParams = null)
|
43 |
{
|
58 |
|
59 |
$formFields['ECOM_ESTIMATEDELIVERYDATE']
|
60 |
= $this->getEstimatedDeliveryDate(
|
61 |
+
$this->getCode(), $order->getStoreId()
|
62 |
+
);
|
63 |
$formFields['RNPOFFERT'] = $this->getRnpFee(
|
64 |
$this->getCode(), $order->getStoreId()
|
65 |
);
|
122 |
foreach ($product->getCategoryIds() as $categoryId) {
|
123 |
$kwixoCategory = Mage::getModel('ops/kwixo_category_mapping')
|
124 |
->loadByCategoryId($categoryId);
|
125 |
+
if (null != $kwixoCategory->getId()) {
|
126 |
$kwixoCategoryId = $kwixoCategory->getKwixoCategoryId();
|
127 |
break;
|
128 |
}
|
135 |
*
|
136 |
*
|
137 |
* @param Mage_Sales_Model_Order $order
|
|
|
138 |
*
|
139 |
* @return array
|
140 |
*/
|
141 |
public function getKwixoBillToParams(Mage_Sales_Model_Order $order)
|
142 |
{
|
143 |
+
$formFields = array();
|
144 |
+
$billingAddress = $order->getBillingAddress();
|
145 |
+
|
146 |
+
$billingStreet = str_replace("\n", ' ', $billingAddress->getStreet(-1));
|
147 |
+
$splittedBillingStreet = Mage::Helper('ops/address')->splitStreet($billingStreet);
|
148 |
+
|
149 |
+
$formFields['ECOM_BILLTO_POSTAL_NAME_FIRST'] = $billingAddress->getFirstname();
|
150 |
+
$formFields['ECOM_BILLTO_POSTAL_NAME_LAST'] = $billingAddress->getLastname();
|
151 |
+
$formFields['OWNERADDRESS'] = $splittedBillingStreet['street_name'];
|
152 |
+
$formFields['OWNERADDRESS2'] = $splittedBillingStreet['supplement'];
|
153 |
+
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = $splittedBillingStreet['street_number'];
|
154 |
+
$formFields['OWNERTELNO'] = $billingAddress->getTelephone();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
|
156 |
return $formFields;
|
157 |
}
|
160 |
* return the shipping parameters as array based on shipping method type
|
161 |
*
|
162 |
* @param Mage_Sales_Model_Order $order
|
|
|
163 |
*
|
164 |
* @return array
|
165 |
*/
|
167 |
{
|
168 |
$formFields = array();
|
169 |
$shippingAddress = $order->getShippingAddress();
|
170 |
+
|
171 |
if ($shippingAddress === false) {
|
172 |
$shippingAddress = $order->getBillingAddress();
|
173 |
}
|
|
|
|
|
|
|
174 |
|
175 |
+
$shippingStreet = str_replace("\n", ' ', $shippingAddress->getStreet(-1));
|
176 |
+
$splittedShippingStreet = Mage::Helper('ops/address')->splitStreet($shippingStreet);
|
177 |
+
$shippingMethodType = (int)$this->getShippingMethodType($this->getCode(), $order->getStoreId());
|
178 |
|
179 |
+
if (in_array($shippingMethodType, $this->getShippingMethodTypeValues())) {
|
|
|
|
|
|
|
180 |
if (4 === $shippingMethodType) {
|
181 |
+
$formFields['ECOM_SHIPTO_POSTAL_NAME_PREFIX'] = $shippingAddress->getPrefix();
|
|
|
182 |
}
|
183 |
|
|
|
184 |
$company = trim($shippingAddress->getCompany());
|
185 |
if (0 < strlen($company)) {
|
186 |
$formFields['ECOM_SHIPTO_COMPANY'] = $company;
|
187 |
}
|
188 |
+
|
189 |
$fax = trim($shippingAddress->getFax());
|
190 |
if (0 < strlen($fax)) {
|
191 |
$formFields['ECOM_SHIPTO_TELECOM_FAX_NUMBER'] = $fax;
|
192 |
}
|
193 |
|
194 |
+
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE1'] = $shippingAddress->getStreet1();
|
195 |
+
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE1'] = $splittedShippingStreet['street_name'];
|
196 |
+
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE2'] = $splittedShippingStreet['supplement'];
|
197 |
+
$formFields['ECOM_SHIPTO_POSTAL_STREET_NUMBER'] = $splittedShippingStreet['street_number'];
|
198 |
+
$formFields['ECOM_SHIPTO_POSTAL_POSTALCODE'] = $shippingAddress->getPostcode();
|
199 |
+
$formFields['ECOM_SHIPTO_POSTAL_CITY'] = $shippingAddress->getCity();
|
200 |
+
$formFields['ECOM_SHIPTO_POSTAL_COUNTRYCODE'] = $shippingAddress->getCountryId();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
}
|
202 |
+
|
203 |
+
$formFields['ECOM_SHIPTO_POSTAL_NAME_FIRST'] = $shippingAddress->getFirstname();
|
204 |
+
$formFields['ECOM_SHIPTO_POSTAL_NAME_LAST'] = $shippingAddress->getLastname();
|
205 |
+
$formFields['ECOM_SHIPTO_TELECOM_PHONE_NUMBER'] = $shippingAddress->getTelephone();
|
|
|
|
|
206 |
|
207 |
return $formFields;
|
208 |
}
|
228 |
}
|
229 |
|
230 |
$subtotal += $item->getBasePriceInclTax(
|
231 |
+
) * $item->getQtyOrdered();
|
232 |
$formFields['ITEMFDMPRODUCTCATEG' . $itemCounter]
|
233 |
= $this->getKwixoCategoryFromOrderItem(
|
234 |
+
$item
|
235 |
+
);
|
236 |
$formFields['ITEMID' . $itemCounter] = $item->getItemId();
|
237 |
$formFields['ITEMNAME' . $itemCounter] = substr(
|
238 |
$item->getName(), 0, 40
|
242 |
);
|
243 |
$formFields['ITEMQUANT' . $itemCounter]
|
244 |
= (int)$item->getQtyOrdered(
|
245 |
+
);
|
246 |
$formFields['ITEMVAT' . $itemCounter] = str_replace(
|
247 |
',', '.', (string)(float)$item->getBaseTaxAmount()
|
248 |
);
|
278 |
return $formFields;
|
279 |
}
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
|
282 |
/**
|
283 |
* returns the delivery date as date based on actual date and adding
|
317 |
/**
|
318 |
* returns the Shipping Method Type configured in backend
|
319 |
*
|
320 |
+
* @param $code
|
321 |
+
* @param null $storeId
|
322 |
+
* @param bool $isVirtual
|
323 |
+
* @return int
|
324 |
*/
|
325 |
public function getShippingMethodType(
|
326 |
$code, $storeId = null, $isVirtual = false
|
404 |
* get question for fields with disputable value
|
405 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
406 |
*
|
|
|
|
|
407 |
*
|
408 |
* @return string
|
409 |
*/
|
410 |
+
public function getQuestion()
|
411 |
{
|
412 |
return Mage::helper('ops/data')->__(
|
413 |
'Please make sure that the displayed data is correct.'
|
419 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
420 |
*
|
421 |
* @param Mage_Sales_Model_Order $order Current order
|
|
|
422 |
*
|
423 |
* @return array
|
424 |
*/
|
425 |
+
public function getQuestionedFormFields($order)
|
426 |
{
|
427 |
+
|
428 |
$questionedFormFields = array(
|
429 |
'CIVILITY',
|
430 |
'OWNERADDRESS',
|
438 |
$shippingMethodType = (int)$this->getShippingMethodType(
|
439 |
$this->getCode(), $storeId
|
440 |
);
|
441 |
+
if (in_array($shippingMethodType, $this->getShippingMethodTypeValues())) {
|
|
|
|
|
|
|
442 |
$questionedFormFields [] = 'ECOM_SHIPTO_POSTAL_STREET_NUMBER';
|
443 |
$questionedFormFields [] = 'ECOM_SHIPTO_POSTAL_STREET_LINE1';
|
444 |
}
|
466 |
*
|
467 |
* @param array $formFields - the array to populate
|
468 |
* @param null $dataArray - the array containing the data
|
469 |
+
* @param Mage_Sales_Model_Order $order
|
470 |
*
|
471 |
* @return array - the populated array
|
472 |
*/
|
481 |
if (array_key_exists($key, $formFields)
|
482 |
&& in_array(
|
483 |
$key,
|
484 |
+
$this->getQuestionedFormFields($order), true
|
485 |
)
|
486 |
|| $key == 'CIVILITY'
|
487 |
) {
|
538 |
|
539 |
/**
|
540 |
* @param $carrierCode
|
541 |
+
* @return null
|
542 |
*/
|
543 |
+
protected function loadShippingSettingForCarrierCode($carrierCode)
|
544 |
{
|
545 |
$this->shippingSettings = $this->getKwixoShippingModel()->load(
|
546 |
$carrierCode, 'shipping_code'
|
app/code/community/Netresearch/OPS/Model/Payment/Masterpass.php
CHANGED
@@ -9,19 +9,19 @@
|
|
9 |
* @license OSL 3.0
|
10 |
*/
|
11 |
class Netresearch_OPS_Model_Payment_Masterpass
|
12 |
-
|
13 |
{
|
14 |
-
|
15 |
-
|
16 |
|
17 |
-
|
18 |
-
|
19 |
|
20 |
-
|
21 |
-
|
22 |
|
23 |
-
|
24 |
-
|
25 |
|
26 |
}
|
27 |
|
9 |
* @license OSL 3.0
|
10 |
*/
|
11 |
class Netresearch_OPS_Model_Payment_Masterpass
|
12 |
+
extends Netresearch_OPS_Model_Payment_Abstract
|
13 |
{
|
14 |
+
protected $pm = 'MasterPass';
|
15 |
+
protected $brand = 'MasterPass';
|
16 |
|
17 |
+
/** Check if we can capture directly from the backend */
|
18 |
+
protected $_canBackendDirectCapture = true;
|
19 |
|
20 |
+
/** info source path */
|
21 |
+
protected $_infoBlockType = 'ops/info_redirect';
|
22 |
|
23 |
+
/** payment code */
|
24 |
+
protected $_code = 'ops_Masterpass';
|
25 |
|
26 |
}
|
27 |
|
app/code/community/Netresearch/OPS/Model/Payment/Mpass.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Netresearch_OPS_Model_Payment_Mpass
|
4 |
-
*
|
5 |
-
* @package
|
6 |
-
* @copyright 2011 Netresearch
|
7 |
-
* @author Thomas Kappel <thomas.kappel@netresearch.de>
|
8 |
-
* @license OSL 3.0
|
9 |
-
*/
|
10 |
-
class Netresearch_OPS_Model_Payment_Mpass
|
11 |
-
extends Netresearch_OPS_Model_Payment_Abstract
|
12 |
-
{
|
13 |
-
protected $pm = 'MPASS';
|
14 |
-
protected $brand = 'MPASS';
|
15 |
-
|
16 |
-
/** Check if we can capture directly from the backend */
|
17 |
-
protected $_canBackendDirectCapture = true;
|
18 |
-
|
19 |
-
/** info source path */
|
20 |
-
protected $_infoBlockType = 'ops/info_redirect';
|
21 |
-
|
22 |
-
/** payment code */
|
23 |
-
protected $_code = 'ops_mpass';
|
24 |
-
}
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Netresearch/OPS/Model/Payment/OpenInvoice/Abstract.php
CHANGED
@@ -32,35 +32,73 @@ class Netresearch_OPS_Model_Payment_OpenInvoice_Abstract extends Netresearch_OPS
|
|
32 |
protected $_needsCartDataForRequest = true;
|
33 |
protected $_needsShipToParams = false;
|
34 |
|
35 |
-
|
36 |
-
{
|
37 |
-
$formFields = parent::getMethodDependendFormFields($order, $requestParams);
|
38 |
-
|
39 |
-
$billingAddress = $order->getBillingAddress();
|
40 |
-
$birthday = new DateTime($order->getCustomerDob());
|
41 |
-
|
42 |
|
43 |
-
|
|
|
|
|
44 |
|
|
|
45 |
|
|
|
|
|
|
|
46 |
$billingAddress = $order->getBillingAddress();
|
47 |
-
$
|
48 |
-
$
|
|
|
|
|
|
|
49 |
if (!preg_match($regexp, $street, $splittedStreet)) {
|
50 |
$splittedStreet[1] = $street;
|
51 |
$splittedStreet[2] = '';
|
52 |
}
|
53 |
|
54 |
-
$formFields['OWNERADDRESS']
|
55 |
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = trim($splittedStreet[2]);
|
56 |
-
|
57 |
-
|
58 |
-
$formFields['
|
59 |
-
$formFields['
|
60 |
-
$formFields['ECOM_SHIPTO_DOB'] = $birthday->format('d/m/Y');
|
61 |
-
$formFields['ECOM_CONSUMER_GENDER'] = $gender;
|
62 |
|
63 |
return $formFields;
|
64 |
}
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
32 |
protected $_needsCartDataForRequest = true;
|
33 |
protected $_needsShipToParams = false;
|
34 |
|
35 |
+
protected $_formBlockType = 'ops/form_openInvoice';
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
+
public function __construct()
|
38 |
+
{
|
39 |
+
$this->setEncoding($this->getConfigData('encoding'));
|
40 |
|
41 |
+
}
|
42 |
|
43 |
+
public function getMethodDependendFormFields($order, $requestParams = null)
|
44 |
+
{
|
45 |
+
$formFields = parent::getMethodDependendFormFields($order, $requestParams);
|
46 |
$billingAddress = $order->getBillingAddress();
|
47 |
+
$birthday = new DateTime($order->getCustomerDob());
|
48 |
+
$gender = $order->getCustomerGender() == 1 ? 'M' : 'F';
|
49 |
+
$street = str_replace("\n", ' ', $billingAddress->getStreet(-1));
|
50 |
+
$regexp = '/^([^0-9]*)([0-9].*)$/';
|
51 |
+
|
52 |
if (!preg_match($regexp, $street, $splittedStreet)) {
|
53 |
$splittedStreet[1] = $street;
|
54 |
$splittedStreet[2] = '';
|
55 |
}
|
56 |
|
57 |
+
$formFields['OWNERADDRESS'] = trim($splittedStreet[1]);
|
58 |
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = trim($splittedStreet[2]);
|
59 |
+
$formFields['ECOM_BILLTO_POSTAL_NAME_FIRST'] = substr($billingAddress->getFirstname(), 0, 50);
|
60 |
+
$formFields['ECOM_BILLTO_POSTAL_NAME_LAST'] = substr($billingAddress->getLastname(), 0, 50);
|
61 |
+
$formFields['ECOM_SHIPTO_DOB'] = $birthday->format('d/m/Y');
|
62 |
+
$formFields['ECOM_CONSUMER_GENDER'] = $gender;
|
|
|
|
|
63 |
|
64 |
return $formFields;
|
65 |
}
|
66 |
|
67 |
+
/**
|
68 |
+
* @return string title for invoice termes configured in backend
|
69 |
+
*/
|
70 |
+
public function getInvoiceTermsTitle()
|
71 |
+
{
|
72 |
+
return $this->getConfigData('invoice_terms_title');
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @return string url to the invoice terms configured in backend
|
77 |
+
*/
|
78 |
+
public function getInvoiceTermsUrl()
|
79 |
+
{
|
80 |
+
return $this->getConfigData('invoice_terms_url');
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* @return bool if invoice terms should be displayed in checkout
|
85 |
+
*/
|
86 |
+
public function showInvoiceTermsLink()
|
87 |
+
{
|
88 |
+
return (bool) $this->getConfigData('show_invoice_terms');
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* @param Mage_Sales_Model_Quote $quote
|
93 |
+
*
|
94 |
+
* @return bool
|
95 |
+
*/
|
96 |
+
public function isAvailable($quote = null)
|
97 |
+
{
|
98 |
+
if ($quote && !$quote->isVirtual() && !$quote->getShippingAddress()->getSameAsBilling()) {
|
99 |
+
return false;
|
100 |
+
}
|
101 |
+
|
102 |
+
return parent::isAvailable($quote);
|
103 |
+
}
|
104 |
}
|
app/code/community/Netresearch/OPS/Model/Payment/OpenInvoiceAt.php
CHANGED
@@ -9,90 +9,99 @@
|
|
9 |
* @license OSL 3.0
|
10 |
*/
|
11 |
class Netresearch_OPS_Model_Payment_OpenInvoiceAt
|
12 |
-
|
13 |
{
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
}
|
9 |
* @license OSL 3.0
|
10 |
*/
|
11 |
class Netresearch_OPS_Model_Payment_OpenInvoiceAt
|
12 |
+
extends Netresearch_OPS_Model_Payment_OpenInvoice_Abstract
|
13 |
{
|
14 |
+
protected $pm = 'Open Invoice AT';
|
15 |
+
protected $brand = 'Open Invoice AT';
|
16 |
+
|
17 |
+
/** if we can capture directly from the backend */
|
18 |
+
protected $_canBackendDirectCapture = false;
|
19 |
+
protected $_canCapturePartial = false;
|
20 |
+
protected $_canRefundInvoicePartial = false;
|
21 |
+
|
22 |
+
/** info source path */
|
23 |
+
protected $_infoBlockType = 'ops/info_redirect';
|
24 |
+
|
25 |
+
/** payment code */
|
26 |
+
protected $_code = 'ops_openInvoiceAt';
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Open Invoice AT is not available if quote has a coupon
|
30 |
+
*
|
31 |
+
* @param Mage_Sales_Model_Quote $quote
|
32 |
+
*
|
33 |
+
* @return boolean
|
34 |
+
*/
|
35 |
+
public function isAvailable( $quote = null )
|
36 |
+
{
|
37 |
+
/* availability depends on quote */
|
38 |
+
if ( false == $quote instanceof Mage_Sales_Model_Quote ) {
|
39 |
+
return false;
|
40 |
+
}
|
41 |
+
|
42 |
+
/* not available if quote contains a coupon and allow_discounted_carts is disabled */
|
43 |
+
if ( !$this->isAvailableForDiscountedCarts()
|
44 |
+
&& $quote->getSubtotal() != $quote->getSubtotalWithDiscount()
|
45 |
+
) {
|
46 |
+
return false;
|
47 |
+
}
|
48 |
+
|
49 |
+
/* not available if there is no gender or no birthday */
|
50 |
+
if ($quote->getCustomerGender() == null || $quote->getCustomerDob() == null) {
|
51 |
+
return false;
|
52 |
+
}
|
53 |
+
|
54 |
+
return parent::isAvailable($quote);
|
55 |
+
}
|
56 |
+
|
57 |
+
public function getPaymentAction()
|
58 |
+
{
|
59 |
+
return Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @param Mage_Sales_Model_Order $order
|
64 |
+
* @param array|null $requestParams
|
65 |
+
*
|
66 |
+
* @return array
|
67 |
+
*/
|
68 |
+
public function getMethodDependendFormFields( $order, $requestParams = null )
|
69 |
+
{
|
70 |
+
$formFields = parent::getMethodDependendFormFields($order, $requestParams);
|
71 |
+
|
72 |
+
$shippingAddress = $order->getShippingAddress();
|
73 |
+
|
74 |
+
$gender = Mage::getSingleton('eav/config')
|
75 |
+
->getAttribute('customer', 'gender')
|
76 |
+
->getSource()
|
77 |
+
->getOptionText($order->getCustomerGender());
|
78 |
+
|
79 |
+
$formFields[ 'CIVILITY' ] = $gender == 'Male' ? 'Herr' : 'Frau';
|
80 |
+
$formFields[ 'ECOM_CONSUMER_GENDER' ] = $gender == 'Male' ? 'M' : 'F';
|
81 |
+
|
82 |
+
// Change address format to make austrian addresses compatible with platform data transfer to Klarna
|
83 |
+
$billToParams = $this->getRequestHelper()->extractBillToParameters($order->getBillingAddress(), $order);
|
84 |
+
$formFields['OWNERADDRESS'] = $billToParams['ECOM_BILLTO_POSTAL_STREET_LINE1'] . ' '
|
85 |
+
. $billToParams['ECOM_BILLTO_POSTAL_STREET_NUMBER'];
|
86 |
+
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = ' ';
|
87 |
+
|
88 |
+
if (!$this->getConfig()->canSubmitExtraParameter($order->getStoreId()) ) {
|
89 |
+
// add the shipto parameters even if the submitOption is false, because they are required for OpenInvoice
|
90 |
+
$shipToParams = $this->getRequestHelper()->extractShipToParameters($shippingAddress, $order);
|
91 |
+
$formFields = array_merge($formFields, $shipToParams);
|
92 |
+
}
|
93 |
+
|
94 |
+
return $formFields;
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* getter for the allow_discounted_carts
|
99 |
+
*
|
100 |
+
* @return bool
|
101 |
+
*/
|
102 |
+
protected function isAvailableForDiscountedCarts()
|
103 |
+
{
|
104 |
+
return (bool) $this->getConfigData('allow_discounted_carts');
|
105 |
+
}
|
106 |
|
107 |
}
|
app/code/community/Netresearch/OPS/Model/Payment/OpenInvoiceDe.php
CHANGED
@@ -46,7 +46,7 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceDe
|
|
46 |
}
|
47 |
|
48 |
/* not available if there is no gender or no birthday */
|
49 |
-
if (
|
50 |
return false;
|
51 |
}
|
52 |
|
@@ -69,8 +69,8 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceDe
|
|
69 |
->getSource()
|
70 |
->getOptionText($order->getCustomerGender());
|
71 |
|
72 |
-
|
73 |
-
|
74 |
|
75 |
if (!$this->getConfig()->canSubmitExtraParameter($order->getStoreId())) {
|
76 |
// add the shipto parameters even if the submitOption is false, because they are required for OpenInvoice
|
46 |
}
|
47 |
|
48 |
/* not available if there is no gender or no birthday */
|
49 |
+
if (null === $quote->getCustomerGender() || is_null($quote->getCustomerDob())) {
|
50 |
return false;
|
51 |
}
|
52 |
|
69 |
->getSource()
|
70 |
->getOptionText($order->getCustomerGender());
|
71 |
|
72 |
+
$formFields[ 'CIVILITY' ] = $gender == 'Male' ? 'Herr' : 'Frau';
|
73 |
+
$formFields[ 'ECOM_CONSUMER_GENDER' ] = $gender == 'Male' ? 'M' : 'F';
|
74 |
|
75 |
if (!$this->getConfig()->canSubmitExtraParameter($order->getStoreId())) {
|
76 |
// add the shipto parameters even if the submitOption is false, because they are required for OpenInvoice
|
app/code/community/Netresearch/OPS/Model/Payment/OpenInvoiceNl.php
CHANGED
@@ -38,7 +38,7 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceNl
|
|
38 |
}
|
39 |
|
40 |
/* not available if there is no gender or no birthday */
|
41 |
-
if (
|
42 |
return false;
|
43 |
}
|
44 |
|
@@ -49,18 +49,16 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceNl
|
|
49 |
* get some method dependend form fields
|
50 |
*
|
51 |
* @param Mage_Sales_Model_Quote $order
|
|
|
52 |
* @return array
|
53 |
*/
|
54 |
public function getMethodDependendFormFields($order, $requestParams=null)
|
55 |
{
|
56 |
$billingAddress = $order->getBillingAddress();
|
57 |
$shippingAddress = $order->getShippingAddress();
|
58 |
-
$
|
59 |
-
|
60 |
-
|
61 |
-
$splittedStreet[1] = $street;
|
62 |
-
$splittedStreet[2] = '';
|
63 |
-
}
|
64 |
$formFields = parent::getMethodDependendFormFields($order, $requestParams);
|
65 |
|
66 |
$gender = Mage::getSingleton('eav/config')
|
@@ -70,23 +68,22 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceNl
|
|
70 |
|
71 |
$formFields['CIVILITY'] = $gender == 'Male' ? 'M' : 'V';
|
72 |
$formFields['ECOM_CONSUMER_GENDER'] = $gender == 'Male' ? 'M' : 'V';
|
73 |
-
$formFields['OWNERADDRESS'] =
|
74 |
-
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] =
|
75 |
$formFields['OWNERZIP'] = $billingAddress->getPostcode();
|
76 |
$formFields['OWNERTOWN'] = $billingAddress->getCity();
|
77 |
$formFields['OWNERCTY'] = $billingAddress->getCountry();
|
78 |
$formFields['OWNERTELNO'] = $billingAddress->getTelephone();
|
79 |
|
80 |
-
$
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
}
|
85 |
$formFields['ECOM_SHIPTO_POSTAL_NAME_PREFIX'] = $shippingAddress->getPrefix();
|
86 |
$formFields['ECOM_SHIPTO_POSTAL_NAME_FIRST'] = $shippingAddress->getFirstname();
|
87 |
$formFields['ECOM_SHIPTO_POSTAL_NAME_LAST'] = $shippingAddress->getLastname();
|
88 |
-
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE1'] =
|
89 |
-
$formFields['ECOM_SHIPTO_POSTAL_STREET_NUMBER'] =
|
90 |
$formFields['ECOM_SHIPTO_POSTAL_POSTALCODE'] = $shippingAddress->getPostcode();
|
91 |
$formFields['ECOM_SHIPTO_POSTAL_CITY'] = $shippingAddress->getCity();
|
92 |
$formFields['ECOM_SHIPTO_POSTAL_COUNTRYCODE'] = $shippingAddress->getCountry();
|
@@ -116,11 +113,9 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceNl
|
|
116 |
* get question for fields with disputable value
|
117 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
118 |
*
|
119 |
-
* @param Mage_Sales_Model_Order $order Current order
|
120 |
-
* @param array $requestParams Request parameters
|
121 |
* @return string
|
122 |
*/
|
123 |
-
public function getQuestion(
|
124 |
{
|
125 |
return Mage::helper('ops')->__('Please make sure that your street and house number are correct.');
|
126 |
}
|
@@ -129,11 +124,10 @@ class Netresearch_OPS_Model_Payment_OpenInvoiceNl
|
|
129 |
* get an array of fields with disputable value
|
130 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
131 |
*
|
132 |
-
*
|
133 |
-
* @param array $requestParams Request parameters
|
134 |
* @return array
|
135 |
*/
|
136 |
-
public function getQuestionedFormFields($order
|
137 |
{
|
138 |
return array(
|
139 |
'OWNERADDRESS',
|
38 |
}
|
39 |
|
40 |
/* not available if there is no gender or no birthday */
|
41 |
+
if (null === $quote->getCustomerGender() || is_null($quote->getCustomerDob())) {
|
42 |
return false;
|
43 |
}
|
44 |
|
49 |
* get some method dependend form fields
|
50 |
*
|
51 |
* @param Mage_Sales_Model_Quote $order
|
52 |
+
* @param array $requestParams
|
53 |
* @return array
|
54 |
*/
|
55 |
public function getMethodDependendFormFields($order, $requestParams=null)
|
56 |
{
|
57 |
$billingAddress = $order->getBillingAddress();
|
58 |
$shippingAddress = $order->getShippingAddress();
|
59 |
+
$billingStreet = str_replace("\n", ' ', $billingAddress->getStreet(-1));
|
60 |
+
|
61 |
+
$splittedBillingStreet = Mage::helper('ops/address')->splitStreet($billingStreet);
|
|
|
|
|
|
|
62 |
$formFields = parent::getMethodDependendFormFields($order, $requestParams);
|
63 |
|
64 |
$gender = Mage::getSingleton('eav/config')
|
68 |
|
69 |
$formFields['CIVILITY'] = $gender == 'Male' ? 'M' : 'V';
|
70 |
$formFields['ECOM_CONSUMER_GENDER'] = $gender == 'Male' ? 'M' : 'V';
|
71 |
+
$formFields['OWNERADDRESS'] = $splittedBillingStreet['street_name'];
|
72 |
+
$formFields['ECOM_BILLTO_POSTAL_STREET_NUMBER'] = $splittedBillingStreet['street_number'];
|
73 |
$formFields['OWNERZIP'] = $billingAddress->getPostcode();
|
74 |
$formFields['OWNERTOWN'] = $billingAddress->getCity();
|
75 |
$formFields['OWNERCTY'] = $billingAddress->getCountry();
|
76 |
$formFields['OWNERTELNO'] = $billingAddress->getTelephone();
|
77 |
|
78 |
+
$shippingStreet = str_replace("\n", ' ', $shippingAddress->getStreet(-1));
|
79 |
+
|
80 |
+
$splittedShippingStreet = Mage::Helper('ops/address')->splitStreet($shippingStreet);
|
81 |
+
|
|
|
82 |
$formFields['ECOM_SHIPTO_POSTAL_NAME_PREFIX'] = $shippingAddress->getPrefix();
|
83 |
$formFields['ECOM_SHIPTO_POSTAL_NAME_FIRST'] = $shippingAddress->getFirstname();
|
84 |
$formFields['ECOM_SHIPTO_POSTAL_NAME_LAST'] = $shippingAddress->getLastname();
|
85 |
+
$formFields['ECOM_SHIPTO_POSTAL_STREET_LINE1'] = $splittedShippingStreet['street_name'];
|
86 |
+
$formFields['ECOM_SHIPTO_POSTAL_STREET_NUMBER'] = $splittedShippingStreet['street_number'];
|
87 |
$formFields['ECOM_SHIPTO_POSTAL_POSTALCODE'] = $shippingAddress->getPostcode();
|
88 |
$formFields['ECOM_SHIPTO_POSTAL_CITY'] = $shippingAddress->getCity();
|
89 |
$formFields['ECOM_SHIPTO_POSTAL_COUNTRYCODE'] = $shippingAddress->getCountry();
|
113 |
* get question for fields with disputable value
|
114 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
115 |
*
|
|
|
|
|
116 |
* @return string
|
117 |
*/
|
118 |
+
public function getQuestion()
|
119 |
{
|
120 |
return Mage::helper('ops')->__('Please make sure that your street and house number are correct.');
|
121 |
}
|
124 |
* get an array of fields with disputable value
|
125 |
* users are asked to correct the values before redirect to Ingenico ePayments
|
126 |
*
|
127 |
+
*
|
|
|
128 |
* @return array
|
129 |
*/
|
130 |
+
public function getQuestionedFormFields($order)
|
131 |
{
|
132 |
return array(
|
133 |
'OWNERADDRESS',
|
app/code/community/Netresearch/OPS/Model/Payment/PayPerMail.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* PayPerMail.php
|
5 |
+
*
|
6 |
+
* @author Sebastian Ertner sebastian.ertner@netresearch.de
|
7 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG
|
8 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
9 |
+
*/
|
10 |
+
class Netresearch_OPS_Model_Payment_PayPerMail extends Netresearch_OPS_Model_Payment_Abstract
|
11 |
+
{
|
12 |
+
|
13 |
+
const CODE = 'ops_payPerMail';
|
14 |
+
const INFO_KEY_TITLE = 'paypermail_title';
|
15 |
+
const INFO_KEY_PM = 'paypermail_pm';
|
16 |
+
const INFO_KEY_BRAND = 'paypermail_brand';
|
17 |
+
|
18 |
+
protected $_canUseCheckout = false;
|
19 |
+
protected $_canUseInternal = true;
|
20 |
+
|
21 |
+
|
22 |
+
/** info source path */
|
23 |
+
protected $_infoBlockType = 'ops/info_payPerMail';
|
24 |
+
|
25 |
+
protected $_formBlockType = 'ops/form_payPerMail';
|
26 |
+
|
27 |
+
/** payment code */
|
28 |
+
protected $_code = self::CODE;
|
29 |
+
|
30 |
+
|
31 |
+
public function getOpsCode($payment = null)
|
32 |
+
{
|
33 |
+
return $this->getInfoInstance()->getAdditionalInformation(self::INFO_KEY_PM);
|
34 |
+
}
|
35 |
+
|
36 |
+
public function getOpsBrand($payment = null)
|
37 |
+
{
|
38 |
+
return $this->getInfoInstance()->getAdditionalInformation(self::INFO_KEY_BRAND);
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
app/code/community/Netresearch/OPS/Model/Payment/Recurring/Cc.php
CHANGED
@@ -52,7 +52,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
52 |
*/
|
53 |
public function getSubscriptionManager()
|
54 |
{
|
55 |
-
if (
|
56 |
$this->subscriptionManager = Mage::getModel('ops/subscription_manager');
|
57 |
}
|
58 |
|
@@ -77,7 +77,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
77 |
*/
|
78 |
public function getParameterModel()
|
79 |
{
|
80 |
-
if (
|
81 |
$this->parameterModel = Mage::getModel('ops/payment_recurring_cc_parameterBag');
|
82 |
}
|
83 |
|
@@ -119,12 +119,12 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
119 |
* @param Mage_Payment_Model_Recurring_Profile $profile
|
120 |
* @param Mage_Payment_Model_Info $paymentInfo
|
121 |
*
|
122 |
-
* @return string[]
|
123 |
*/
|
124 |
protected function submitTrialSubscription(
|
125 |
Mage_Payment_Model_Recurring_Profile $profile,
|
126 |
Mage_Payment_Model_Info $paymentInfo
|
127 |
-
)
|
|
|
128 |
if ($profile->getTrialPeriodUnit()) {
|
129 |
$requestParams = $this->getParameterModel()->collectAllParametersForTrial($paymentInfo, $profile);
|
130 |
$this->getParameterModel()->unsetData();
|
@@ -149,7 +149,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
149 |
public function submitRecurringProfile(
|
150 |
Mage_Payment_Model_Recurring_Profile $profile,
|
151 |
Mage_Payment_Model_Info $paymentInfo
|
152 |
-
)
|
|
|
153 |
$this->performPreDirectLinkCallActions($profile->getQuote(), $paymentInfo);
|
154 |
|
155 |
$this->submitTrialSubscription($profile, $paymentInfo);
|
@@ -202,17 +203,21 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
202 |
switch ($profile->getNewState()) {
|
203 |
case Mage_Sales_Model_Recurring_Profile::STATE_ACTIVE:
|
204 |
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
205 |
-
$this->addAdminNotice(
|
|
|
206 |
);
|
207 |
} else {
|
208 |
Mage::throwException(
|
209 |
-
$this->getDataHelper()->__(
|
|
|
|
|
210 |
);
|
211 |
}
|
212 |
break;
|
213 |
case Mage_Sales_Model_Recurring_Profile::STATE_CANCELED:
|
214 |
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
215 |
-
$this->addAdminNotice(
|
|
|
216 |
);
|
217 |
} else {
|
218 |
$this->sendSuspendMail($profile);
|
@@ -220,7 +225,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
220 |
break;
|
221 |
case Mage_Sales_Model_Recurring_Profile::STATE_SUSPENDED:
|
222 |
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
223 |
-
$this->addAdminNotice(
|
|
|
224 |
);
|
225 |
} else {
|
226 |
$this->sendSuspendMail($profile);
|
@@ -270,7 +276,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
270 |
$profile->setOverrideState(true);
|
271 |
$session->addSuccess(
|
272 |
$this->getDataHelper()
|
273 |
-
->__(
|
|
|
274 |
)
|
275 |
);
|
276 |
} else {
|
@@ -336,7 +343,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
336 |
*/
|
337 |
protected function submitRegularSubscription(Mage_Payment_Model_Recurring_Profile $profile,
|
338 |
Mage_Payment_Model_Info $paymentInfo
|
339 |
-
)
|
|
|
340 |
$requestParams = $this->getParameterModel()->collectAllParameters($paymentInfo, $profile);
|
341 |
$this->getParameterModel()->unsetData();
|
342 |
$response = $this->getDirectLinkHelper()->performDirectLinkRequest(
|
@@ -355,7 +363,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc
|
|
355 |
protected function submitInitialFee(
|
356 |
Mage_Payment_Model_Recurring_Profile $profile,
|
357 |
Mage_Payment_Model_Info $paymentInfo
|
358 |
-
)
|
|
|
359 |
/** @var $profile Mage_Sales_Model_Recurring_Profile */
|
360 |
if ($profile->getInitAmount() > 0) {
|
361 |
$order = $this->getSubscriptionManager()->createInitialOrder($profile);
|
52 |
*/
|
53 |
public function getSubscriptionManager()
|
54 |
{
|
55 |
+
if (null === $this->subscriptionManager) {
|
56 |
$this->subscriptionManager = Mage::getModel('ops/subscription_manager');
|
57 |
}
|
58 |
|
77 |
*/
|
78 |
public function getParameterModel()
|
79 |
{
|
80 |
+
if (null === $this->parameterModel) {
|
81 |
$this->parameterModel = Mage::getModel('ops/payment_recurring_cc_parameterBag');
|
82 |
}
|
83 |
|
119 |
* @param Mage_Payment_Model_Recurring_Profile $profile
|
120 |
* @param Mage_Payment_Model_Info $paymentInfo
|
121 |
*
|
|
|
122 |
*/
|
123 |
protected function submitTrialSubscription(
|
124 |
Mage_Payment_Model_Recurring_Profile $profile,
|
125 |
Mage_Payment_Model_Info $paymentInfo
|
126 |
+
)
|
127 |
+
{
|
128 |
if ($profile->getTrialPeriodUnit()) {
|
129 |
$requestParams = $this->getParameterModel()->collectAllParametersForTrial($paymentInfo, $profile);
|
130 |
$this->getParameterModel()->unsetData();
|
149 |
public function submitRecurringProfile(
|
150 |
Mage_Payment_Model_Recurring_Profile $profile,
|
151 |
Mage_Payment_Model_Info $paymentInfo
|
152 |
+
)
|
153 |
+
{
|
154 |
$this->performPreDirectLinkCallActions($profile->getQuote(), $paymentInfo);
|
155 |
|
156 |
$this->submitTrialSubscription($profile, $paymentInfo);
|
203 |
switch ($profile->getNewState()) {
|
204 |
case Mage_Sales_Model_Recurring_Profile::STATE_ACTIVE:
|
205 |
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
206 |
+
$this->addAdminNotice(
|
207 |
+
'To actually activate the subscription an update in the Ingenico ePayments backend is needed.'
|
208 |
);
|
209 |
} else {
|
210 |
Mage::throwException(
|
211 |
+
$this->getDataHelper()->__(
|
212 |
+
'Automatic activation not possible. Please contact our support team.'
|
213 |
+
)
|
214 |
);
|
215 |
}
|
216 |
break;
|
217 |
case Mage_Sales_Model_Recurring_Profile::STATE_CANCELED:
|
218 |
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
219 |
+
$this->addAdminNotice(
|
220 |
+
'To actually cancel the subscription an update in the Ingenico ePayments backend is needed.'
|
221 |
);
|
222 |
} else {
|
223 |
$this->sendSuspendMail($profile);
|
225 |
break;
|
226 |
case Mage_Sales_Model_Recurring_Profile::STATE_SUSPENDED:
|
227 |
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
228 |
+
$this->addAdminNotice(
|
229 |
+
'To actually suspend the subscription an update in the Ingenico ePayments backend is needed.'
|
230 |
);
|
231 |
} else {
|
232 |
$this->sendSuspendMail($profile);
|
276 |
$profile->setOverrideState(true);
|
277 |
$session->addSuccess(
|
278 |
$this->getDataHelper()
|
279 |
+
->__(
|
280 |
+
'Your suspend request was successfully sent. A copy of the email will be sent to your address.'
|
281 |
)
|
282 |
);
|
283 |
} else {
|
343 |
*/
|
344 |
protected function submitRegularSubscription(Mage_Payment_Model_Recurring_Profile $profile,
|
345 |
Mage_Payment_Model_Info $paymentInfo
|
346 |
+
)
|
347 |
+
{
|
348 |
$requestParams = $this->getParameterModel()->collectAllParameters($paymentInfo, $profile);
|
349 |
$this->getParameterModel()->unsetData();
|
350 |
$response = $this->getDirectLinkHelper()->performDirectLinkRequest(
|
363 |
protected function submitInitialFee(
|
364 |
Mage_Payment_Model_Recurring_Profile $profile,
|
365 |
Mage_Payment_Model_Info $paymentInfo
|
366 |
+
)
|
367 |
+
{
|
368 |
/** @var $profile Mage_Sales_Model_Recurring_Profile */
|
369 |
if ($profile->getInitAmount() > 0) {
|
370 |
$order = $this->getSubscriptionManager()->createInitialOrder($profile);
|
app/code/community/Netresearch/OPS/Model/Payment/Recurring/Cc/ParameterBag.php
CHANGED
@@ -49,7 +49,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
49 |
*/
|
50 |
public function getSubscriptionHelper()
|
51 |
{
|
52 |
-
if (
|
53 |
$this->subscriptionHelper = Mage::helper('ops/subscription');
|
54 |
}
|
55 |
|
@@ -73,7 +73,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
73 |
*/
|
74 |
public function getDataHelper()
|
75 |
{
|
76 |
-
if (
|
77 |
$this->dataHelper = Mage::helper('ops');
|
78 |
}
|
79 |
|
@@ -97,7 +97,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
97 |
*/
|
98 |
public function getQuoteHelper()
|
99 |
{
|
100 |
-
if (
|
101 |
$this->quoteHelper = Mage::helper('ops/quote');
|
102 |
}
|
103 |
|
@@ -121,7 +121,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
121 |
*/
|
122 |
public function getConfig()
|
123 |
{
|
124 |
-
if (
|
125 |
$this->config = Mage::getModel('ops/config');
|
126 |
}
|
127 |
|
@@ -145,7 +145,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
145 |
*/
|
146 |
public function getRequestHelper()
|
147 |
{
|
148 |
-
if (
|
149 |
$this->requestHelper = Mage::helper('ops/payment_request');
|
150 |
}
|
151 |
|
@@ -223,7 +223,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
223 |
*
|
224 |
* @return Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag
|
225 |
*/
|
226 |
-
public function collectPaymentParameters(Mage_Payment_Model_Info $paymentInfo
|
227 |
{
|
228 |
$this->setData('CN', $paymentInfo->getAdditionalInformation('CC_CN'))
|
229 |
->setData('ALIAS', $paymentInfo->getAdditionalInformation('alias'))
|
@@ -286,7 +286,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
286 |
->setData('SUB_AMOUNT', $this->getDataHelper()->getAmount($subscriptionAmount))
|
287 |
// amount is always 0 for subscription transactions
|
288 |
->setData('AMOUNT', 0)
|
289 |
-
->setData(
|
|
|
290 |
$this->getSubscriptionHelper()->getBillingDayForPeriodUnit($periodUnit, $profile->getStoreId())
|
291 |
);
|
292 |
|
@@ -309,7 +310,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
309 |
*/
|
310 |
public function calculateEndDate(DateTime $startDate, $periodUnit, $frequency, $maxCycles)
|
311 |
{
|
312 |
-
if(!$this->isMappedUnit($periodUnit)){
|
313 |
$frequency = $this->adjustFrequencyToUnitSpecialCases($periodUnit, $frequency);
|
314 |
$periodUnit = $this->mapUnit($periodUnit);
|
315 |
}
|
@@ -337,12 +338,15 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
337 |
*
|
338 |
* @return bool
|
339 |
*/
|
340 |
-
protected function isMappedUnit($unit)
|
341 |
-
|
|
|
|
|
342 |
self::PERIOD_UNIT_DAY,
|
343 |
self::PERIOD_UNIT_WEEK,
|
344 |
self::PERIOD_UNIT_MONTH
|
345 |
-
|
|
|
346 |
}
|
347 |
|
348 |
/**
|
@@ -355,7 +359,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
355 |
*/
|
356 |
public function collectAllParameters(Mage_Payment_Model_Info $paymentInfo,
|
357 |
Mage_Payment_Model_Recurring_Profile $profile
|
358 |
-
)
|
|
|
359 |
$this->collectProfileParameters($profile)
|
360 |
->collectPaymentParameters($paymentInfo);
|
361 |
|
@@ -372,7 +377,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
372 |
*/
|
373 |
public function collectAllParametersForTrial(Mage_Payment_Model_Info $paymentInfo,
|
374 |
Mage_Payment_Model_Recurring_Profile $profile
|
375 |
-
)
|
|
|
376 |
$this->collectProfileParameters($profile, true)
|
377 |
->collectPaymentParameters($paymentInfo, true);
|
378 |
|
@@ -391,7 +397,8 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
391 |
public function collectAllParametersForInitialFee(Mage_Payment_Model_Info $paymentInfo,
|
392 |
Mage_Payment_Model_Recurring_Profile $profile,
|
393 |
Mage_Sales_Model_Order $order
|
394 |
-
)
|
|
|
395 |
/** @var $profile Mage_Sales_Model_Recurring_Profile */
|
396 |
$this->collectPaymentParameters($paymentInfo)->collectAddressParameters($profile);
|
397 |
|
@@ -419,7 +426,7 @@ class Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag extends Varien_Obj
|
|
419 |
* Determines base values for the subscription depending on the trial parameter
|
420 |
*
|
421 |
* @param Mage_Sales_Model_Recurring_Profile $profile
|
422 |
-
* @param
|
423 |
*
|
424 |
* @return string[] - containing the following:
|
425 |
* [0] => amount for the subscription,
|
49 |
*/
|
50 |
public function getSubscriptionHelper()
|
51 |
{
|
52 |
+
if (null === $this->subscriptionHelper) {
|
53 |
$this->subscriptionHelper = Mage::helper('ops/subscription');
|
54 |
}
|
55 |
|
73 |
*/
|
74 |
public function getDataHelper()
|
75 |
{
|
76 |
+
if (null === $this->dataHelper) {
|
77 |
$this->dataHelper = Mage::helper('ops');
|
78 |
}
|
79 |
|
97 |
*/
|
98 |
public function getQuoteHelper()
|
99 |
{
|
100 |
+
if (null === $this->quoteHelper) {
|
101 |
$this->quoteHelper = Mage::helper('ops/quote');
|
102 |
}
|
103 |
|
121 |
*/
|
122 |
public function getConfig()
|
123 |
{
|
124 |
+
if (null === $this->config) {
|
125 |
$this->config = Mage::getModel('ops/config');
|
126 |
}
|
127 |
|
145 |
*/
|
146 |
public function getRequestHelper()
|
147 |
{
|
148 |
+
if (null === $this->requestHelper) {
|
149 |
$this->requestHelper = Mage::helper('ops/payment_request');
|
150 |
}
|
151 |
|
223 |
*
|
224 |
* @return Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag
|
225 |
*/
|
226 |
+
public function collectPaymentParameters(Mage_Payment_Model_Info $paymentInfo)
|
227 |
{
|
228 |
$this->setData('CN', $paymentInfo->getAdditionalInformation('CC_CN'))
|
229 |
->setData('ALIAS', $paymentInfo->getAdditionalInformation('alias'))
|
286 |
->setData('SUB_AMOUNT', $this->getDataHelper()->getAmount($subscriptionAmount))
|
287 |
// amount is always 0 for subscription transactions
|
288 |
->setData('AMOUNT', 0)
|
289 |
+
->setData(
|
290 |
+
'SUB_PERIOD_MOMENT',
|
291 |
$this->getSubscriptionHelper()->getBillingDayForPeriodUnit($periodUnit, $profile->getStoreId())
|
292 |
);
|
293 |
|
310 |
*/
|
311 |
public function calculateEndDate(DateTime $startDate, $periodUnit, $frequency, $maxCycles)
|
312 |
{
|
313 |
+
if (!$this->isMappedUnit($periodUnit)) {
|
314 |
$frequency = $this->adjustFrequencyToUnitSpecialCases($periodUnit, $frequency);
|
315 |
$periodUnit = $this->mapUnit($periodUnit);
|
316 |
}
|
338 |
*
|
339 |
* @return bool
|
340 |
*/
|
341 |
+
protected function isMappedUnit($unit)
|
342 |
+
{
|
343 |
+
return in_array(
|
344 |
+
$unit, array(
|
345 |
self::PERIOD_UNIT_DAY,
|
346 |
self::PERIOD_UNIT_WEEK,
|
347 |
self::PERIOD_UNIT_MONTH
|
348 |
+
)
|
349 |
+
);
|
350 |
}
|
351 |
|
352 |
/**
|
359 |
*/
|
360 |
public function collectAllParameters(Mage_Payment_Model_Info $paymentInfo,
|
361 |
Mage_Payment_Model_Recurring_Profile $profile
|
362 |
+
)
|
363 |
+
{
|
364 |
$this->collectProfileParameters($profile)
|
365 |
->collectPaymentParameters($paymentInfo);
|
366 |
|
377 |
*/
|
378 |
public function collectAllParametersForTrial(Mage_Payment_Model_Info $paymentInfo,
|
379 |
Mage_Payment_Model_Recurring_Profile $profile
|
380 |
+
)
|
381 |
+
{
|
382 |
$this->collectProfileParameters($profile, true)
|
383 |
->collectPaymentParameters($paymentInfo, true);
|
384 |
|
397 |
public function collectAllParametersForInitialFee(Mage_Payment_Model_Info $paymentInfo,
|
398 |
Mage_Payment_Model_Recurring_Profile $profile,
|
399 |
Mage_Sales_Model_Order $order
|
400 |
+
)
|
401 |
+
{
|
402 |
/** @var $profile Mage_Sales_Model_Recurring_Profile */
|
403 |
$this->collectPaymentParameters($paymentInfo)->collectAddressParameters($profile);
|
404 |
|
426 |
* Determines base values for the subscription depending on the trial parameter
|
427 |
*
|
428 |
* @param Mage_Sales_Model_Recurring_Profile $profile
|
429 |
+
* @param $trial - if the values for the trial subscription should be used or not
|
430 |
*
|
431 |
* @return string[] - containing the following:
|
432 |
* [0] => amount for the subscription,
|
app/code/community/Netresearch/OPS/Model/Response/Handler.php
CHANGED
@@ -42,7 +42,8 @@ class Netresearch_OPS_Model_Response_Handler
|
|
42 |
*/
|
43 |
public function processResponse(
|
44 |
$responseArray, Netresearch_OPS_Model_Payment_Abstract $paymentMethod, $shouldRegisterFeedback = true
|
45 |
-
)
|
|
|
46 |
$responseArray = array_change_key_case($responseArray, CASE_LOWER);
|
47 |
$this->getTypeHandler($responseArray['status'])
|
48 |
->handleResponse($responseArray, $paymentMethod, $shouldRegisterFeedback);
|
42 |
*/
|
43 |
public function processResponse(
|
44 |
$responseArray, Netresearch_OPS_Model_Payment_Abstract $paymentMethod, $shouldRegisterFeedback = true
|
45 |
+
)
|
46 |
+
{
|
47 |
$responseArray = array_change_key_case($responseArray, CASE_LOWER);
|
48 |
$this->getTypeHandler($responseArray['status'])
|
49 |
->handleResponse($responseArray, $paymentMethod, $shouldRegisterFeedback);
|
app/code/community/Netresearch/OPS/Model/Response/Type/Abstract.php
CHANGED
@@ -66,6 +66,9 @@
|
|
66 |
* @method string getIpcty()
|
67 |
* @method bool hasAcceptance()
|
68 |
* @method bool hasBrand()
|
|
|
|
|
|
|
69 |
* @method bool getShouldRegisterFeedback() if feedback should get registered on payment object
|
70 |
* @method Netresearch_OPS_Model_Response_Type_Abstract setShouldRegisterFeedback($shouldRegisterFeedback)
|
71 |
*
|
@@ -79,7 +82,7 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
79 |
*/
|
80 |
public function getConfig()
|
81 |
{
|
82 |
-
if (
|
83 |
$this->setData('config', Mage::getModel('ops/config'));
|
84 |
}
|
85 |
|
@@ -92,8 +95,9 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
92 |
*
|
93 |
* @param array $responseArray
|
94 |
* @param Netresearch_OPS_Model_Payment_Abstract $paymentMethod
|
95 |
-
* @param bool $shouldRegisterFeedback
|
96 |
-
*
|
|
|
97 |
*
|
98 |
* @return Netresearch_OPS_Model_Response_TypeInterface
|
99 |
*/
|
@@ -105,7 +109,8 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
105 |
$this->setShouldRegisterFeedback($shouldRegisterFeedback);
|
106 |
|
107 |
if ($this->getStatus() == $this->getMethodInstance()->getInfoInstance()->getAdditionalInformation('status')
|
108 |
-
|
|
|
109 |
return $this;
|
110 |
}
|
111 |
|
@@ -113,6 +118,10 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
113 |
$this->_handleResponse();
|
114 |
$this->updateAdditionalInformation();
|
115 |
|
|
|
|
|
|
|
|
|
116 |
return $this;
|
117 |
}
|
118 |
|
@@ -130,8 +139,10 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
130 |
*/
|
131 |
protected function updateAdditionalInformation()
|
132 |
{
|
|
|
133 |
$this->updateDefaultInformation();
|
134 |
$this->setFraudDetectionParameters();
|
|
|
135 |
}
|
136 |
|
137 |
/**
|
@@ -144,6 +155,10 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
144 |
$payment->setAdditionalInformation('paymentId', $this->getPayid())
|
145 |
->setAdditionalInformation('status', $this->getStatus());
|
146 |
|
|
|
|
|
|
|
|
|
147 |
if ($this->hasAcceptance()) {
|
148 |
$payment->setAdditionalInformation('acceptence', $this->getAcceptance());
|
149 |
}
|
@@ -153,6 +168,18 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
153 |
}
|
154 |
}
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
/**
|
157 |
* Sets Transaction details (TransactionId etc.)
|
158 |
*/
|
@@ -161,9 +188,13 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
161 |
$payment = $this->getMethodInstance()->getInfoInstance();
|
162 |
|
163 |
$payment->setTransactionParentId($this->getPayid());
|
164 |
-
$transId = $this->getTransactionId();
|
165 |
|
166 |
-
|
|
|
|
|
|
|
|
|
|
|
167 |
$payment->setTransactionId($transId);
|
168 |
$payment->setIsTransactionClosed(false);
|
169 |
}
|
@@ -201,11 +232,9 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
201 |
* @param string $orderComment
|
202 |
* @param string $additionalInfo
|
203 |
*
|
204 |
-
* @return string
|
205 |
*/
|
206 |
protected function addOrderComment($orderComment, $additionalInfo = '')
|
207 |
{
|
208 |
-
|
209 |
$orderComment = $this->getOrderComment($orderComment, $additionalInfo);
|
210 |
$this->getMethodInstance()->getInfoInstance()->getOrder()->addStatusHistoryComment($orderComment);
|
211 |
}
|
@@ -261,8 +290,8 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
261 |
$orderComment = Mage::helper('ops')->__(
|
262 |
'Received Ingenico ePayments feedback status update with final status %s.',
|
263 |
$this->getStatus()
|
264 |
-
|
265 |
);
|
|
|
266 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
267 |
|
268 |
}
|
@@ -278,6 +307,7 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
278 |
'Received Ingenico ePayments feedback status update with intermediate status %s.',
|
279 |
$this->getStatus()
|
280 |
);
|
|
|
281 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
282 |
}
|
283 |
|
@@ -292,6 +322,7 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
292 |
'Received Ingenico ePayments feedback status update with refused status %s.',
|
293 |
$this->getStatus()
|
294 |
);
|
|
|
295 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
296 |
}
|
297 |
|
@@ -306,6 +337,7 @@ abstract class Netresearch_OPS_Model_Response_Type_Abstract extends Varien_Objec
|
|
306 |
'Received Ingenico ePayments feedback status update with suspected fraud status %s.',
|
307 |
$this->getStatus()
|
308 |
);
|
|
|
309 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
310 |
}
|
311 |
|
66 |
* @method string getIpcty()
|
67 |
* @method bool hasAcceptance()
|
68 |
* @method bool hasBrand()
|
69 |
+
* @method bool hasAlias()
|
70 |
+
* @method bool hasMobilemode()
|
71 |
+
* @method string getAlias()
|
72 |
* @method bool getShouldRegisterFeedback() if feedback should get registered on payment object
|
73 |
* @method Netresearch_OPS_Model_Response_Type_Abstract setShouldRegisterFeedback($shouldRegisterFeedback)
|
74 |
*
|
82 |
*/
|
83 |
public function getConfig()
|
84 |
{
|
85 |
+
if ($this->getData('config') === null) {
|
86 |
$this->setData('config', Mage::getModel('ops/config'));
|
87 |
}
|
88 |
|
95 |
*
|
96 |
* @param array $responseArray
|
97 |
* @param Netresearch_OPS_Model_Payment_Abstract $paymentMethod
|
98 |
+
* @param bool $shouldRegisterFeedback
|
99 |
+
* determines if the Mage_Sales_Model_Order_Payments register*Feedback
|
100 |
+
* functions get called, defaults to true
|
101 |
*
|
102 |
* @return Netresearch_OPS_Model_Response_TypeInterface
|
103 |
*/
|
109 |
$this->setShouldRegisterFeedback($shouldRegisterFeedback);
|
110 |
|
111 |
if ($this->getStatus() == $this->getMethodInstance()->getInfoInstance()->getAdditionalInformation('status')
|
112 |
+
&& $this->getTransactionId() == $paymentMethod->getInfoInstance()->getLastTransId()
|
113 |
+
) {
|
114 |
return $this;
|
115 |
}
|
116 |
|
118 |
$this->_handleResponse();
|
119 |
$this->updateAdditionalInformation();
|
120 |
|
121 |
+
if ($this->getShouldRegisterFeedback() && $this->hasAlias()) {
|
122 |
+
Mage::helper('ops/alias')->saveAlias($responseArray);
|
123 |
+
}
|
124 |
+
|
125 |
return $this;
|
126 |
}
|
127 |
|
139 |
*/
|
140 |
protected function updateAdditionalInformation()
|
141 |
{
|
142 |
+
$this->getMethodInstance()->getInfoInstance()->setLastTransId($this->getTransactionId());
|
143 |
$this->updateDefaultInformation();
|
144 |
$this->setFraudDetectionParameters();
|
145 |
+
$this->setDeviceInformationParameters();
|
146 |
}
|
147 |
|
148 |
/**
|
155 |
$payment->setAdditionalInformation('paymentId', $this->getPayid())
|
156 |
->setAdditionalInformation('status', $this->getStatus());
|
157 |
|
158 |
+
if ($this->hasAlias()) {
|
159 |
+
$payment->setAdditionalInformation('alias', $this->getAlias());
|
160 |
+
}
|
161 |
+
|
162 |
if ($this->hasAcceptance()) {
|
163 |
$payment->setAdditionalInformation('acceptence', $this->getAcceptance());
|
164 |
}
|
168 |
}
|
169 |
}
|
170 |
|
171 |
+
protected function setDeviceInformationParameters()
|
172 |
+
{
|
173 |
+
if (!$this->getMethodInstance() instanceof Netresearch_OPS_Model_Payment_Bancontact) {
|
174 |
+
return;
|
175 |
+
}
|
176 |
+
|
177 |
+
$payment = $this->getMethodInstance()->getInfoInstance();
|
178 |
+
if ($this->hasMobilemode()) {
|
179 |
+
$payment->setAdditionalInformation('MOBILEMODE', $this->getMobilemode());
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
/**
|
184 |
* Sets Transaction details (TransactionId etc.)
|
185 |
*/
|
188 |
$payment = $this->getMethodInstance()->getInfoInstance();
|
189 |
|
190 |
$payment->setTransactionParentId($this->getPayid());
|
|
|
191 |
|
192 |
+
if (!$this->hasPayidsub()) {
|
193 |
+
$transId = $payment->getLastTransId();
|
194 |
+
} else {
|
195 |
+
$transId = $this->getTransactionId();
|
196 |
+
}
|
197 |
+
|
198 |
$payment->setTransactionId($transId);
|
199 |
$payment->setIsTransactionClosed(false);
|
200 |
}
|
232 |
* @param string $orderComment
|
233 |
* @param string $additionalInfo
|
234 |
*
|
|
|
235 |
*/
|
236 |
protected function addOrderComment($orderComment, $additionalInfo = '')
|
237 |
{
|
|
|
238 |
$orderComment = $this->getOrderComment($orderComment, $additionalInfo);
|
239 |
$this->getMethodInstance()->getInfoInstance()->getOrder()->addStatusHistoryComment($orderComment);
|
240 |
}
|
290 |
$orderComment = Mage::helper('ops')->__(
|
291 |
'Received Ingenico ePayments feedback status update with final status %s.',
|
292 |
$this->getStatus()
|
|
|
293 |
);
|
294 |
+
|
295 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
296 |
|
297 |
}
|
307 |
'Received Ingenico ePayments feedback status update with intermediate status %s.',
|
308 |
$this->getStatus()
|
309 |
);
|
310 |
+
|
311 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
312 |
}
|
313 |
|
322 |
'Received Ingenico ePayments feedback status update with refused status %s.',
|
323 |
$this->getStatus()
|
324 |
);
|
325 |
+
|
326 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
327 |
}
|
328 |
|
337 |
'Received Ingenico ePayments feedback status update with suspected fraud status %s.',
|
338 |
$this->getStatus()
|
339 |
);
|
340 |
+
|
341 |
return $this->getOrderComment($orderComment, $additionalInfo);
|
342 |
}
|
343 |
|
app/code/community/Netresearch/OPS/Model/Response/Type/Authorize.php
CHANGED
@@ -37,10 +37,9 @@ class Netresearch_OPS_Model_Response_Type_Authorize extends Netresearch_OPS_Mode
|
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isAuthorize($this->getStatus())) {
|
40 |
-
|
41 |
}
|
42 |
|
43 |
-
|
44 |
/** @var Mage_Sales_Model_Order $order */
|
45 |
$order = $this->getMethodInstance()->getInfoInstance()->getOrder();
|
46 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
@@ -52,136 +51,201 @@ class Netresearch_OPS_Model_Response_Type_Authorize extends Netresearch_OPS_Mode
|
|
52 |
}
|
53 |
|
54 |
if (Netresearch_OPS_Model_Status::isFinal($this->getStatus())) {
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
) {
|
59 |
-
if (
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
)
|
64 |
-
);
|
65 |
-
} elseif ($payment->getAdditionalInformation('status')
|
66 |
-
== Netresearch_OPS_Model_Status::WAITING_FOR_IDENTIFICATION
|
67 |
-
&& $order->getState() === Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW
|
68 |
-
) {
|
69 |
-
try {
|
70 |
-
// if the payment was previously in payment review/has status 46 the identification obviously failed and the order gets canceled
|
71 |
-
$payment->setNotificationResult(true);
|
72 |
-
$payment->registerPaymentReviewAction(
|
73 |
-
Mage_Sales_Model_Order_Payment::REVIEW_ACTION_DENY, false
|
74 |
-
);
|
75 |
-
} catch (Mage_Core_Exception $e) {
|
76 |
-
/**
|
77 |
-
* in CE 1.7 Mage_Sales_Model_Order::registerCancellation will always fail with exception if the
|
78 |
-
* order is in payment_review state. we therefore cancel the order 'manually'.
|
79 |
-
*
|
80 |
-
* below code is c&p from Mage_Sales_Model_Order::registerCancellation:
|
81 |
-
*
|
82 |
-
* @see Mage_Sales_Model_Order::registerCancellation
|
83 |
-
*/
|
84 |
-
if ($e->getMessage() === Mage::helper('sales')->__('Order does not allow to be canceled.')) {
|
85 |
-
$cancelState = Mage_Sales_Model_Order::STATE_CANCELED;
|
86 |
-
foreach ($order->getAllItems() as $item) {
|
87 |
-
if ($cancelState != Mage_Sales_Model_Order::STATE_PROCESSING
|
88 |
-
&& $item->getQtyToRefund()
|
89 |
-
) {
|
90 |
-
if ($item->getQtyToShip() > $item->getQtyToCancel()) {
|
91 |
-
$cancelState = Mage_Sales_Model_Order::STATE_PROCESSING;
|
92 |
-
} else {
|
93 |
-
$cancelState = Mage_Sales_Model_Order::STATE_COMPLETE;
|
94 |
-
}
|
95 |
-
}
|
96 |
-
$item->cancel();
|
97 |
-
}
|
98 |
-
|
99 |
-
$order->setSubtotalCanceled($order->getSubtotal() - $order->getSubtotalInvoiced());
|
100 |
-
$order->setBaseSubtotalCanceled(
|
101 |
-
$order->getBaseSubtotal() - $order->getBaseSubtotalInvoiced()
|
102 |
-
);
|
103 |
-
|
104 |
-
$order->setTaxCanceled($order->getTaxAmount() - $order->getTaxInvoiced());
|
105 |
-
$order->setBaseTaxCanceled($order->getBaseTaxAmount() - $order->getBaseTaxInvoiced());
|
106 |
-
|
107 |
-
$order->setShippingCanceled($order->getShippingAmount() - $order->getShippingInvoiced());
|
108 |
-
$order->setBaseShippingCanceled(
|
109 |
-
$order->getBaseShippingAmount() - $order->getBaseShippingInvoiced()
|
110 |
-
);
|
111 |
-
|
112 |
-
$order->setDiscountCanceled(
|
113 |
-
abs($order->getDiscountAmount()) - $order->getDiscountInvoiced()
|
114 |
-
);
|
115 |
-
$order->setBaseDiscountCanceled(
|
116 |
-
abs($order->getBaseDiscountAmount()) - $order->getBaseDiscountInvoiced()
|
117 |
-
);
|
118 |
-
|
119 |
-
$order->setTotalCanceled($order->getGrandTotal() - $order->getTotalPaid());
|
120 |
-
$order->setBaseTotalCanceled($order->getBaseGrandTotal() - $order->getBaseTotalPaid());
|
121 |
-
|
122 |
-
$order->setState($cancelState, true, $this->getFinalStatusComment());
|
123 |
-
}
|
124 |
-
}
|
125 |
}
|
126 |
-
} elseif ($this->getStatus() == Netresearch_OPS_Model_Status::CANCELED_BY_CUSTOMER) {
|
127 |
-
$order->registerCancellation($this->getFinalStatusComment());
|
128 |
}
|
|
|
|
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
$targetState = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
135 |
-
if (Netresearch_OPS_Model_Status::canResendPaymentInfo($this->getStatus())
|
136 |
-
&& Mage::helper('ops/payment')->isInlinePayment($payment)
|
137 |
-
) {
|
138 |
-
$targetState = Mage_Sales_Model_Order::STATE_CANCELED;
|
139 |
-
$action = Mage_Sales_Model_Order_Payment::REVIEW_ACTION_DENY;
|
140 |
-
}
|
141 |
-
$payment->setNotificationResult(true);
|
142 |
-
$payment->registerPaymentReviewAction($action, false);
|
143 |
-
if ($order->getState() != $targetState) {
|
144 |
-
$order->setState($targetState, true, $this->getFinalStatusComment());
|
145 |
-
}
|
146 |
-
} elseif ($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT
|
147 |
-
|| $order->getState() === Mage_Sales_Model_Order::STATE_NEW
|
148 |
-
) {
|
149 |
-
$payment->registerAuthorizationNotification($this->getAmount());
|
150 |
-
$order->setState(
|
151 |
-
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $this->getFinalStatusComment()
|
152 |
-
);
|
153 |
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
$
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
$order->setState(
|
163 |
-
Mage_Sales_Model_Order::
|
164 |
-
Mage_Sales_Model_Order::STATUS_FRAUD,
|
165 |
-
$this->getFraudStatusComment(
|
166 |
-
Mage::helper('ops')->__('Please have a look in Ingenico ePayments backend for more information.')
|
167 |
-
)
|
168 |
);
|
169 |
-
|
170 |
-
$order->addStatusHistoryComment($this->getIntermediateStatusComment());
|
171 |
-
}
|
172 |
-
if ($this->getShouldRegisterFeedback()) {
|
173 |
-
$payment->registerAuthorizationNotification($this->getAmount());
|
174 |
}
|
|
|
|
|
175 |
}
|
|
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
if ($this->getShouldRegisterFeedback()) {
|
178 |
$payment->save();
|
179 |
$order->save();
|
180 |
|
181 |
// gateway payments do not send confirmation emails by default
|
182 |
-
if ($order->getState() != Mage_Sales_Model_Order::STATE_CANCELED){
|
183 |
Mage::helper('ops/data')->sendTransactionalEmail($order);
|
184 |
}
|
185 |
}
|
186 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
}
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isAuthorize($this->getStatus())) {
|
40 |
+
Mage::throwException(Mage::helper('ops')->__('%s is not a authorize status!', $this->getStatus()));
|
41 |
}
|
42 |
|
|
|
43 |
/** @var Mage_Sales_Model_Order $order */
|
44 |
$order = $this->getMethodInstance()->getInfoInstance()->getOrder();
|
45 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
51 |
}
|
52 |
|
53 |
if (Netresearch_OPS_Model_Status::isFinal($this->getStatus())) {
|
54 |
+
$this->processFinalStatus($order, $payment);
|
55 |
+
} else {
|
56 |
+
$this->processIntermediateState($payment, $order);
|
57 |
+
}
|
58 |
+
|
59 |
+
$this->persistSalesObject($payment, $order);
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* in CE 1.7 Mage_Sales_Model_Order::registerCancellation will always fail with exception if the
|
64 |
+
* order is in payment_review state. we therefore cancel the order 'manually'.
|
65 |
+
*
|
66 |
+
* below code is c&p from Mage_Sales_Model_Order::registerCancellation:
|
67 |
+
*
|
68 |
+
* @see Mage_Sales_Model_Order::registerCancellation
|
69 |
+
*
|
70 |
+
* @param Mage_Sales_Model_Order $order
|
71 |
+
*/
|
72 |
+
protected function registerCancellation($order)
|
73 |
+
{
|
74 |
+
$cancelState = Mage_Sales_Model_Order::STATE_CANCELED;
|
75 |
+
/** @var Mage_Sales_Model_Order_Item $item */
|
76 |
+
foreach ($order->getAllItems() as $item) {
|
77 |
+
if ($cancelState != Mage_Sales_Model_Order::STATE_PROCESSING
|
78 |
+
&& $item->getQtyToRefund()
|
79 |
) {
|
80 |
+
if ($item->getQtyToShip() > $item->getQtyToCancel()) {
|
81 |
+
$cancelState = Mage_Sales_Model_Order::STATE_PROCESSING;
|
82 |
+
} else {
|
83 |
+
$cancelState = Mage_Sales_Model_Order::STATE_COMPLETE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
|
|
|
|
85 |
}
|
86 |
+
$item->cancel();
|
87 |
+
}
|
88 |
|
89 |
+
$order->setSubtotalCanceled($order->getSubtotal() - $order->getSubtotalInvoiced());
|
90 |
+
$order->setBaseSubtotalCanceled(
|
91 |
+
$order->getBaseSubtotal() - $order->getBaseSubtotalInvoiced()
|
92 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
+
$order->setTaxCanceled($order->getTaxAmount() - $order->getTaxInvoiced());
|
95 |
+
$order->setBaseTaxCanceled($order->getBaseTaxAmount() - $order->getBaseTaxInvoiced());
|
96 |
+
|
97 |
+
$order->setShippingCanceled($order->getShippingAmount() - $order->getShippingInvoiced());
|
98 |
+
$order->setBaseShippingCanceled(
|
99 |
+
$order->getBaseShippingAmount() - $order->getBaseShippingInvoiced()
|
100 |
+
);
|
101 |
+
|
102 |
+
$order->setDiscountCanceled(
|
103 |
+
abs($order->getDiscountAmount()) - $order->getDiscountInvoiced()
|
104 |
+
);
|
105 |
+
$order->setBaseDiscountCanceled(
|
106 |
+
abs($order->getBaseDiscountAmount()) - $order->getBaseDiscountInvoiced()
|
107 |
+
);
|
108 |
+
|
109 |
+
$order->setTotalCanceled($order->getGrandTotal() - $order->getTotalPaid());
|
110 |
+
$order->setBaseTotalCanceled($order->getBaseGrandTotal() - $order->getBaseTotalPaid());
|
111 |
+
|
112 |
+
$order->setState($cancelState, true, $this->getFinalStatusComment());
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* process final state
|
117 |
+
*
|
118 |
+
* @param Mage_Sales_Model_Order $order
|
119 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
120 |
+
*/
|
121 |
+
protected function processFinalStatus($order, $payment)
|
122 |
+
{
|
123 |
+
// handle authorization declined
|
124 |
+
// thrown exception gets catched by core and order will not been created
|
125 |
+
if ($this->getStatus() == Netresearch_OPS_Model_Status::AUTHORISATION_DECLINED
|
126 |
+
) {
|
127 |
+
$this->processAuthorizationDeclined($order, $payment);
|
128 |
+
|
129 |
+
} elseif ($this->getStatus() == Netresearch_OPS_Model_Status::CANCELED_BY_CUSTOMER) {
|
130 |
+
$order->registerCancellation($this->getFinalStatusComment());
|
131 |
+
}
|
132 |
+
|
133 |
+
if ($this->getShouldRegisterFeedback()) {
|
134 |
+
if ($order->getState() === Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW) {
|
135 |
+
$this->processFinalStatusInPaymentReview($order, $payment);
|
136 |
+
} elseif ($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT
|
137 |
+
|| $order->getState() === Mage_Sales_Model_Order::STATE_NEW
|
138 |
+
) {
|
139 |
+
$payment->registerAuthorizationNotification($this->getAmount());
|
140 |
$order->setState(
|
141 |
+
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $this->getFinalStatusComment()
|
|
|
|
|
|
|
|
|
142 |
);
|
143 |
+
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
+
} else {
|
146 |
+
$this->addFinalStatusComment();
|
147 |
}
|
148 |
+
}
|
149 |
|
150 |
+
/**
|
151 |
+
* save payment and order object and send transaction email if order state is not canceled
|
152 |
+
*
|
153 |
+
*
|
154 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
155 |
+
* @param Mage_Sales_Model_Order $order
|
156 |
+
*/
|
157 |
+
protected function persistSalesObject($payment, $order)
|
158 |
+
{
|
159 |
if ($this->getShouldRegisterFeedback()) {
|
160 |
$payment->save();
|
161 |
$order->save();
|
162 |
|
163 |
// gateway payments do not send confirmation emails by default
|
164 |
+
if ($order->getState() != Mage_Sales_Model_Order::STATE_CANCELED) {
|
165 |
Mage::helper('ops/data')->sendTransactionalEmail($order);
|
166 |
}
|
167 |
}
|
168 |
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* process non final state
|
172 |
+
*
|
173 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
174 |
+
* @param Mage_Sales_Model_Order $order
|
175 |
+
*/
|
176 |
+
protected function processIntermediateState($payment, $order)
|
177 |
+
{
|
178 |
+
$payment->setIsTransactionPending(true);
|
179 |
+
if ($this->getStatus() == Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT) {
|
180 |
+
$payment->setIsFraudDetected(true);
|
181 |
+
$order->setState(
|
182 |
+
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW,
|
183 |
+
Mage_Sales_Model_Order::STATUS_FRAUD,
|
184 |
+
$this->getFraudStatusComment(
|
185 |
+
Mage::helper('ops')->__('Please have a look in Ingenico ePayments backend for more information.')
|
186 |
+
)
|
187 |
+
);
|
188 |
+
} else {
|
189 |
+
$order->addStatusHistoryComment($this->getIntermediateStatusComment());
|
190 |
+
}
|
191 |
+
if ($this->getShouldRegisterFeedback()) {
|
192 |
+
$payment->registerAuthorizationNotification($this->getAmount());
|
193 |
+
}
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* process authorization declined feedback
|
198 |
+
*
|
199 |
+
* @param Mage_Sales_Model_Order $order
|
200 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
201 |
+
*/
|
202 |
+
protected function processAuthorizationDeclined($order, $payment)
|
203 |
+
{
|
204 |
+
if (!$this->getShouldRegisterFeedback()) {
|
205 |
+
Mage::throwException(
|
206 |
+
Mage::helper('ops')->__(
|
207 |
+
'Payment failed because the authorization was declined! Please choose another payment method.'
|
208 |
+
)
|
209 |
+
);
|
210 |
+
} elseif ($order->getState() === Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW) {
|
211 |
+
|
212 |
+
try {
|
213 |
+
// if the payment was previously in payment review/has status 46
|
214 |
+
// the identification obviously failed and the order gets canceled
|
215 |
+
$payment->setNotificationResult(true);
|
216 |
+
$payment->registerPaymentReviewAction(
|
217 |
+
Mage_Sales_Model_Order_Payment::REVIEW_ACTION_DENY, false
|
218 |
+
);
|
219 |
+
} catch (Mage_Core_Exception $e) {
|
220 |
+
// perform manual cancellation if we are on CE1.7 and receive the error message
|
221 |
+
if ($e->getMessage() === Mage::helper('sales')->__('Order does not allow to be canceled.')) {
|
222 |
+
$this->registerCancellation($order);
|
223 |
+
}
|
224 |
+
}
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* If order is in payment_review and we receive a final status, the order needs to be moved to
|
230 |
+
* new the proper order state, e.g. canceled for failed payments or processing for successful ones
|
231 |
+
*
|
232 |
+
* @param Mage_Sales_Model_Order $order
|
233 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
234 |
+
*/
|
235 |
+
protected function processFinalStatusInPaymentReview($order, $payment)
|
236 |
+
{
|
237 |
+
$action = Mage_Sales_Model_Order_Payment::REVIEW_ACTION_ACCEPT;
|
238 |
+
$targetState = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
239 |
+
if (Netresearch_OPS_Model_Status::canResendPaymentInfo($this->getStatus())
|
240 |
+
&& Mage::helper('ops/payment')->isInlinePayment($payment)
|
241 |
+
) {
|
242 |
+
$targetState = Mage_Sales_Model_Order::STATE_CANCELED;
|
243 |
+
$action = Mage_Sales_Model_Order_Payment::REVIEW_ACTION_DENY;
|
244 |
+
}
|
245 |
+
$payment->setNotificationResult(true);
|
246 |
+
$payment->registerPaymentReviewAction($action, false);
|
247 |
+
if ($order->getState() != $targetState) {
|
248 |
+
$order->setState($targetState, true, $this->getFinalStatusComment());
|
249 |
+
}
|
250 |
+
}
|
251 |
}
|
app/code/community/Netresearch/OPS/Model/Response/Type/Capture.php
CHANGED
@@ -37,7 +37,7 @@ class Netresearch_OPS_Model_Response_Type_Capture extends Netresearch_OPS_Model_
|
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isCapture($this->getStatus())) {
|
40 |
-
|
41 |
}
|
42 |
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
@@ -58,60 +58,94 @@ class Netresearch_OPS_Model_Response_Type_Capture extends Netresearch_OPS_Model_
|
|
58 |
*/
|
59 |
|
60 |
if (Netresearch_OPS_Model_Status::isIntermediate($this->getStatus())) {
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
-
|
63 |
-
$
|
64 |
-
|
65 |
-
|
66 |
-
) {
|
67 |
-
// transaction was placed on PSP, initial feedback to shop or partial capture case
|
68 |
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
|
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
86 |
} else {
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
$payment->setNotificationResult(true);
|
91 |
-
$payment->setPreparedMessage($message);
|
92 |
-
if ($this->getShouldRegisterFeedback()) {
|
93 |
-
$payment->setNotificationResult(true);
|
94 |
-
$payment->registerPaymentReviewAction(Mage_Sales_Model_Order_Payment::REVIEW_ACTION_ACCEPT, false);
|
95 |
-
}
|
96 |
-
} else {
|
97 |
-
$payment->setPreparedMessage($message);
|
98 |
-
if ($this->getShouldRegisterFeedback()) {
|
99 |
-
$payment->registerCaptureNotification($this->getAmount());
|
100 |
-
}
|
101 |
}
|
102 |
}
|
|
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
}
|
116 |
}
|
117 |
-
}
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isCapture($this->getStatus())) {
|
40 |
+
Mage::throwException(Mage::helper('ops')->__('%s is not a capture status!', $this->getStatus()));
|
41 |
}
|
42 |
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
58 |
*/
|
59 |
|
60 |
if (Netresearch_OPS_Model_Status::isIntermediate($this->getStatus())) {
|
61 |
+
$this->processIntermediateState($payment, $order);
|
62 |
+
} else {
|
63 |
+
// final means state 9 or 95
|
64 |
+
$this->processFinalState($order, $payment);
|
65 |
+
}
|
66 |
|
67 |
+
if ($this->getShouldRegisterFeedback()) {
|
68 |
+
$this->registerFeedBack($payment, $order);
|
69 |
+
}
|
70 |
+
}
|
|
|
|
|
71 |
|
72 |
+
/**
|
73 |
+
* process intermediate state
|
74 |
+
*
|
75 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
76 |
+
* @param Mage_Sales_Model_Order $order
|
77 |
+
*/
|
78 |
+
protected function processIntermediateState($payment, $order)
|
79 |
+
{
|
80 |
+
$message = $this->getIntermediateStatusComment();
|
81 |
+
$payment->setIsTransactionPending(true);
|
82 |
+
if ($order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT
|
83 |
+
|| $order->getState() == Mage_Sales_Model_Order::STATE_PROCESSING
|
84 |
+
) {
|
85 |
+
// transaction was placed on PSP, initial feedback to shop or partial capture case
|
86 |
+
$payment->setPreparedMessage($message);
|
87 |
+
if ($this->getShouldRegisterFeedback()) {
|
88 |
+
$payment->registerCaptureNotification($this->getAmount());
|
89 |
+
}
|
90 |
|
91 |
+
} elseif ($order->getState() == Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW) {
|
92 |
+
// payment was pending and is still pending
|
93 |
+
$payment->setIsTransactionApproved(false);
|
94 |
+
$payment->setIsTransactionDenied(false);
|
95 |
+
$payment->setPreparedMessage($message);
|
96 |
|
97 |
+
if ($this->getShouldRegisterFeedback()) {
|
98 |
+
$payment->setNotificationResult(true);
|
99 |
+
$payment->registerPaymentReviewAction(Mage_Sales_Model_Order_Payment::REVIEW_ACTION_UPDATE, false);
|
100 |
+
}
|
101 |
+
}
|
102 |
+
}
|
103 |
|
104 |
+
/**
|
105 |
+
* process final state
|
106 |
+
*
|
107 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
108 |
+
* @param Mage_Sales_Model_Order $order
|
109 |
+
*/
|
110 |
+
protected function processFinalState($order, $payment)
|
111 |
+
{
|
112 |
+
$message = $this->getFinalStatusComment();
|
113 |
+
if ($order->getState() == Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW) {
|
114 |
+
$payment->setNotificationResult(true);
|
115 |
+
$payment->setPreparedMessage($message);
|
116 |
+
if ($this->getShouldRegisterFeedback()) {
|
117 |
+
$payment->registerPaymentReviewAction(Mage_Sales_Model_Order_Payment::REVIEW_ACTION_ACCEPT, false);
|
118 |
+
$transaction = $payment->getTransaction($payment->getLastTransId());
|
119 |
+
if ($transaction) {
|
120 |
+
$transaction->close(true);
|
121 |
+
}
|
122 |
}
|
123 |
} else {
|
124 |
+
$payment->setPreparedMessage($message);
|
125 |
+
if ($this->getShouldRegisterFeedback()) {
|
126 |
+
$payment->registerCaptureNotification($this->getAmount());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
}
|
128 |
}
|
129 |
+
}
|
130 |
|
131 |
+
/**
|
132 |
+
* save payment and order object and send transaction email
|
133 |
+
*
|
134 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
135 |
+
* @param Mage_Sales_Model_Order $order
|
136 |
+
*/
|
137 |
+
protected function registerFeedBack($payment, $order)
|
138 |
+
{
|
139 |
+
$payment->save();
|
140 |
+
$order->save();
|
141 |
|
142 |
+
// gateway payments do not send confirmation emails by default
|
143 |
+
Mage::helper('ops/data')->sendTransactionalEmail($order);
|
144 |
+
|
145 |
+
/** @var Mage_Sales_Model_Order_Invoice $invoice */
|
146 |
+
$invoice = Mage::getModel('sales/order_invoice')->load($this->getTransactionId(), 'transaction_id');
|
147 |
+
if ($invoice->getId()) {
|
148 |
+
Mage::helper('ops')->sendTransactionalEmail($invoice);
|
149 |
}
|
150 |
}
|
151 |
+
}
|
app/code/community/Netresearch/OPS/Model/Response/Type/Refund.php
CHANGED
@@ -40,7 +40,6 @@ class Netresearch_OPS_Model_Response_Type_Refund extends Netresearch_OPS_Model_R
|
|
40 |
Mage::throwException(Mage::helper('ops')->__('%s is not a refund status!', $this->getStatus()));
|
41 |
}
|
42 |
|
43 |
-
|
44 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
45 |
$payment = $this->getMethodInstance()->getInfoInstance();
|
46 |
|
@@ -65,37 +64,7 @@ class Netresearch_OPS_Model_Response_Type_Refund extends Netresearch_OPS_Model_R
|
|
65 |
$this->closeRefundTransaction($creditMemo);
|
66 |
$this->addFinalStatusComment();
|
67 |
} elseif ($this->getStatus() == Netresearch_OPS_Model_Status::REFUND_REFUSED) {
|
68 |
-
$order = $
|
69 |
-
$creditMemo->cancel()->save();
|
70 |
-
$this->closeRefundTransaction($creditMemo);
|
71 |
-
$invoice = Mage::getModel('sales/order_invoice')->load($creditMemo->getInvoiceId());
|
72 |
-
$invoice->setIsUsedForRefund(0)
|
73 |
-
->setBaseTotalRefunded(
|
74 |
-
$invoice->getBaseTotalRefunded() - $creditMemo->getBaseGrandTotal()
|
75 |
-
);
|
76 |
-
$creditMemo->setInvoice($invoice);
|
77 |
-
/** @var Mage_Sales_Model_Order_Creditmemo_Item $item */
|
78 |
-
foreach ($creditMemo->getAllItems() as $item) {
|
79 |
-
$item->getOrderItem()->setAmountRefunded(
|
80 |
-
$item->getOrderItem()->getAmountRefunded() - $item->getRowTotal()
|
81 |
-
);
|
82 |
-
$item->getOrderItem()->setBaseAmountRefunded(
|
83 |
-
$item->getOrderItem()->getBaseAmountRefunded() - $item->getBaseRowTotal()
|
84 |
-
);
|
85 |
-
}
|
86 |
-
$order->setTotalRefunded($order->getTotalRefunded() - $creditMemo->getBaseGrandTotal());
|
87 |
-
$order->setBaseTotalRefunded($order->getBaseTotalRefunded() - $creditMemo->getBaseGrandTotal());
|
88 |
-
|
89 |
-
$this->addRefusedStatusComment();
|
90 |
-
$state = Mage_Sales_Model_Order::STATE_COMPLETE;
|
91 |
-
if ($order->canShip() || $order->canInvoice()) {
|
92 |
-
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
|
93 |
-
}
|
94 |
-
$order->setState(
|
95 |
-
$state,
|
96 |
-
true,
|
97 |
-
$this->getRefusedStatusComment(Mage::helper('ops')->__('Refund refused by Ingenico ePayments.'))
|
98 |
-
);
|
99 |
} else {
|
100 |
$this->addIntermediateStatusComment();
|
101 |
}
|
@@ -117,19 +86,11 @@ class Netresearch_OPS_Model_Response_Type_Refund extends Netresearch_OPS_Model_R
|
|
117 |
}
|
118 |
}
|
119 |
}
|
120 |
-
if ($this->getShouldRegisterFeedback()) {
|
121 |
-
$transactionSave = Mage::getModel('core/resource_transaction')
|
122 |
-
->addObject($order)
|
123 |
-
->addObject($payment)
|
124 |
-
->addObject($creditMemo);
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
}
|
129 |
-
$transactionSave->save();
|
130 |
}
|
131 |
|
132 |
-
return;
|
133 |
}
|
134 |
|
135 |
/**
|
@@ -166,4 +127,67 @@ class Netresearch_OPS_Model_Response_Type_Refund extends Netresearch_OPS_Model_R
|
|
166 |
}
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
}
|
40 |
Mage::throwException(Mage::helper('ops')->__('%s is not a refund status!', $this->getStatus()));
|
41 |
}
|
42 |
|
|
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
44 |
$payment = $this->getMethodInstance()->getInfoInstance();
|
45 |
|
64 |
$this->closeRefundTransaction($creditMemo);
|
65 |
$this->addFinalStatusComment();
|
66 |
} elseif ($this->getStatus() == Netresearch_OPS_Model_Status::REFUND_REFUSED) {
|
67 |
+
$order = $this->processRefundRefused($creditMemo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
} else {
|
69 |
$this->addIntermediateStatusComment();
|
70 |
}
|
86 |
}
|
87 |
}
|
88 |
}
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
if ($this->getShouldRegisterFeedback()) {
|
91 |
+
$this->registerFeedBack($order, $payment, $creditMemo);
|
|
|
|
|
92 |
}
|
93 |
|
|
|
94 |
}
|
95 |
|
96 |
/**
|
127 |
}
|
128 |
}
|
129 |
|
130 |
+
/**
|
131 |
+
* process refund refused response
|
132 |
+
*
|
133 |
+
* @param $creditMemo
|
134 |
+
* @return mixed
|
135 |
+
*/
|
136 |
+
protected function processRefundRefused($creditMemo)
|
137 |
+
{
|
138 |
+
$order = $creditMemo->getOrder();
|
139 |
+
$creditMemo->cancel()->save();
|
140 |
+
$this->closeRefundTransaction($creditMemo);
|
141 |
+
$invoice = Mage::getModel('sales/order_invoice')->load($creditMemo->getInvoiceId());
|
142 |
+
$invoice->setIsUsedForRefund(0)
|
143 |
+
->setBaseTotalRefunded(
|
144 |
+
$invoice->getBaseTotalRefunded() - $creditMemo->getBaseGrandTotal()
|
145 |
+
);
|
146 |
+
$creditMemo->setInvoice($invoice);
|
147 |
+
/** @var Mage_Sales_Model_Order_Creditmemo_Item $item */
|
148 |
+
foreach ($creditMemo->getAllItems() as $item) {
|
149 |
+
$item->getOrderItem()->setAmountRefunded(
|
150 |
+
$item->getOrderItem()->getAmountRefunded() - $item->getRowTotal()
|
151 |
+
);
|
152 |
+
$item->getOrderItem()->setBaseAmountRefunded(
|
153 |
+
$item->getOrderItem()->getBaseAmountRefunded() - $item->getBaseRowTotal()
|
154 |
+
);
|
155 |
+
}
|
156 |
+
$order->setTotalRefunded($order->getTotalRefunded() - $creditMemo->getBaseGrandTotal());
|
157 |
+
$order->setBaseTotalRefunded($order->getBaseTotalRefunded() - $creditMemo->getBaseGrandTotal());
|
158 |
+
|
159 |
+
$this->addRefusedStatusComment();
|
160 |
+
$state = Mage_Sales_Model_Order::STATE_COMPLETE;
|
161 |
+
if ($order->canShip() || $order->canInvoice()) {
|
162 |
+
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
|
163 |
+
}
|
164 |
+
$order->setState(
|
165 |
+
$state,
|
166 |
+
true,
|
167 |
+
$this->getRefusedStatusComment(Mage::helper('ops')->__('Refund refused by Ingenico ePayments.'))
|
168 |
+
);
|
169 |
+
|
170 |
+
return $order;
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* register feedback
|
175 |
+
*
|
176 |
+
* @param $order
|
177 |
+
* @param $payment
|
178 |
+
* @param $creditMemo
|
179 |
+
*/
|
180 |
+
protected function registerFeedBack($order, $payment, $creditMemo)
|
181 |
+
{
|
182 |
+
$transactionSave = Mage::getModel('core/resource_transaction')
|
183 |
+
->addObject($order)
|
184 |
+
->addObject($payment)
|
185 |
+
->addObject($creditMemo);
|
186 |
+
|
187 |
+
if ($creditMemo->getInvoice()) {
|
188 |
+
$transactionSave->addObject($creditMemo->getInvoice());
|
189 |
+
}
|
190 |
+
$transactionSave->save();
|
191 |
+
}
|
192 |
+
|
193 |
}
|
app/code/community/Netresearch/OPS/Model/Response/Type/Special.php
CHANGED
@@ -37,7 +37,7 @@ class Netresearch_OPS_Model_Response_Type_Special extends Netresearch_OPS_Model_
|
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isSpecialStatus($this->getStatus())) {
|
40 |
-
|
41 |
}
|
42 |
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
@@ -60,21 +60,19 @@ class Netresearch_OPS_Model_Response_Type_Special extends Netresearch_OPS_Model_
|
|
60 |
'Customer received your payment instructions, waiting for actual payment.'
|
61 |
)
|
62 |
)
|
63 |
-
|
64 |
);
|
65 |
|
66 |
// gateway payments do not send confirmation emails by default
|
67 |
Mage::helper('ops/data')->sendTransactionalEmail($order);
|
68 |
}
|
69 |
|
70 |
-
if ($this->getStatus() == Netresearch_OPS_Model_Status::STORED_WAITING_EXTERNAL_RESULT) {
|
71 |
-
//TODO handle status 40
|
72 |
-
}
|
73 |
-
|
74 |
if ($this->getStatus() == Netresearch_OPS_Model_Status::INVALID_INCOMPLETE) {
|
75 |
//save status information to order before exception
|
76 |
-
$this->
|
77 |
-
|
|
|
|
|
|
|
78 |
|
79 |
$message = Mage::helper('ops')->__('Ingenico ePayments status 0, the action failed.');
|
80 |
if ($helper->isAdminSession()) {
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isSpecialStatus($this->getStatus())) {
|
40 |
+
Mage::throwException(Mage::helper('ops')->__('%s is not a special status!', $this->getStatus()));
|
41 |
}
|
42 |
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
60 |
'Customer received your payment instructions, waiting for actual payment.'
|
61 |
)
|
62 |
)
|
|
|
63 |
);
|
64 |
|
65 |
// gateway payments do not send confirmation emails by default
|
66 |
Mage::helper('ops/data')->sendTransactionalEmail($order);
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
69 |
if ($this->getStatus() == Netresearch_OPS_Model_Status::INVALID_INCOMPLETE) {
|
70 |
//save status information to order before exception
|
71 |
+
if($this->getShouldRegisterFeedback()){
|
72 |
+
$this->updateAdditionalInformation();
|
73 |
+
$payment->save();
|
74 |
+
}
|
75 |
+
|
76 |
|
77 |
$message = Mage::helper('ops')->__('Ingenico ePayments status 0, the action failed.');
|
78 |
if ($helper->isAdminSession()) {
|
app/code/community/Netresearch/OPS/Model/Response/Type/Void.php
CHANGED
@@ -37,7 +37,7 @@ class Netresearch_OPS_Model_Response_Type_Void extends Netresearch_OPS_Model_Res
|
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isVoid($this->getStatus())) {
|
40 |
-
|
41 |
}
|
42 |
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
@@ -52,7 +52,8 @@ class Netresearch_OPS_Model_Response_Type_Void extends Netresearch_OPS_Model_Res
|
|
52 |
);
|
53 |
$payment->registerVoidNotification($this->getAmount());
|
54 |
|
55 |
-
// payment void does not cancel the order, but sets it to processing.
|
|
|
56 |
$order->registerCancellation($this->getFinalStatusComment(), true);
|
57 |
} else {
|
58 |
$this->addFinalStatusComment();
|
@@ -63,6 +64,4 @@ class Netresearch_OPS_Model_Response_Type_Void extends Netresearch_OPS_Model_Res
|
|
63 |
|
64 |
$order->save();
|
65 |
}
|
66 |
-
|
67 |
-
|
68 |
}
|
37 |
protected function _handleResponse()
|
38 |
{
|
39 |
if (!Netresearch_OPS_Model_Status::isVoid($this->getStatus())) {
|
40 |
+
Mage::throwException(Mage::helper('ops')->__('%s is not a void status!', $this->getStatus()));
|
41 |
}
|
42 |
|
43 |
/** @var Mage_Sales_Model_Order_Payment $payment */
|
52 |
);
|
53 |
$payment->registerVoidNotification($this->getAmount());
|
54 |
|
55 |
+
// payment void does not cancel the order, but sets it to processing.
|
56 |
+
// We therefore need to cancel the order ourselves.
|
57 |
$order->registerCancellation($this->getFinalStatusComment(), true);
|
58 |
} else {
|
59 |
$this->addFinalStatusComment();
|
64 |
|
65 |
$order->save();
|
66 |
}
|
|
|
|
|
67 |
}
|
app/code/community/Netresearch/OPS/Model/Source/BankTransfer/Countries.php
CHANGED
@@ -46,14 +46,23 @@ class Netresearch_OPS_Model_Source_BankTransfer_Countries
|
|
46 |
if (!$this->options) {
|
47 |
$this->options = Mage::getResourceModel('directory/country_collection')->loadData()->toOptionArray(false);
|
48 |
if (!$isMultiselect) {
|
49 |
-
array_unshift(
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
foreach ($this->options as $offset=>$option) {
|
52 |
if (!in_array($option['value'], $this->countries)) {
|
53 |
unset($this->options[$offset]);
|
54 |
}
|
55 |
}
|
56 |
-
$this->options['*'] = array(
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
return $this->options;
|
46 |
if (!$this->options) {
|
47 |
$this->options = Mage::getResourceModel('directory/country_collection')->loadData()->toOptionArray(false);
|
48 |
if (!$isMultiselect) {
|
49 |
+
array_unshift(
|
50 |
+
$this->options,
|
51 |
+
array(
|
52 |
+
'value'=>'',
|
53 |
+
'label'=> Mage::helper('adminhtml')->__('--Please Select--')
|
54 |
+
)
|
55 |
+
);
|
56 |
}
|
57 |
foreach ($this->options as $offset=>$option) {
|
58 |
if (!in_array($option['value'], $this->countries)) {
|
59 |
unset($this->options[$offset]);
|
60 |
}
|
61 |
}
|
62 |
+
$this->options['*'] = array(
|
63 |
+
'value'=>'*',
|
64 |
+
'label'=> Mage::helper('adminhtml')->__(Mage::helper('ops')->__('Miscellaneous Countries'))
|
65 |
+
);
|
66 |
}
|
67 |
|
68 |
return $this->options;
|
app/code/community/Netresearch/OPS/Model/Source/DirectDebit/Countries.php
CHANGED
@@ -45,7 +45,13 @@ class Netresearch_OPS_Model_Source_DirectDebit_Countries
|
|
45 |
if (!$this->options) {
|
46 |
$this->options = Mage::getResourceModel('directory/country_collection')->loadData()->toOptionArray(false);
|
47 |
if (!$isMultiselect) {
|
48 |
-
array_unshift(
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
foreach ($this->options as $offset=>$option) {
|
51 |
if (!in_array($option['value'], $this->countries)) {
|
45 |
if (!$this->options) {
|
46 |
$this->options = Mage::getResourceModel('directory/country_collection')->loadData()->toOptionArray(false);
|
47 |
if (!$isMultiselect) {
|
48 |
+
array_unshift(
|
49 |
+
$this->options,
|
50 |
+
array(
|
51 |
+
'value'=>'',
|
52 |
+
'label'=> Mage::helper('adminhtml')->__('--Please Select--')
|
53 |
+
)
|
54 |
+
);
|
55 |
}
|
56 |
foreach ($this->options as $offset=>$option) {
|
57 |
if (!in_array($option['value'], $this->countries)) {
|
app/code/community/Netresearch/OPS/Model/Source/DirectEbanking/Brands.php
CHANGED
@@ -56,7 +56,7 @@ protected $options = array(
|
|
56 |
/**
|
57 |
* @return array
|
58 |
*/
|
59 |
-
public function toOptionArray(
|
60 |
{
|
61 |
foreach ($this->options as $key => $value) {
|
62 |
$this->options[$key]['label'] = Mage::helper('ops')->__($value['value']);
|
56 |
/**
|
57 |
* @return array
|
58 |
*/
|
59 |
+
public function toOptionArray()
|
60 |
{
|
61 |
foreach ($this->options as $key => $value) {
|
62 |
$this->options[$key]['label'] = Mage::helper('ops')->__($value['value']);
|
app/code/community/Netresearch/OPS/Model/Source/Kwixo/ShipMethodType.php
CHANGED
@@ -59,20 +59,20 @@ class Netresearch_OPS_Model_Source_Kwixo_ShipMethodType
|
|
59 |
array(
|
60 |
'value' => self::COLLECTION_POINT,
|
61 |
'label' => Mage::helper('ops/data')->__(
|
62 |
-
|
63 |
-
|
64 |
),
|
65 |
array(
|
66 |
'value' => self::COLLECT_AT_AIRPORT,
|
67 |
'label' => Mage::helper('ops/data')->__(
|
68 |
-
|
69 |
-
|
70 |
),
|
71 |
array(
|
72 |
'value' => self::TRANSPORTER,
|
73 |
'label' => Mage::helper('ops/data')->__(
|
74 |
-
|
75 |
-
|
76 |
),
|
77 |
array(
|
78 |
'value' => self::DOWNLOAD,
|
59 |
array(
|
60 |
'value' => self::COLLECTION_POINT,
|
61 |
'label' => Mage::helper('ops/data')->__(
|
62 |
+
'Collection point (Kiala...)'
|
63 |
+
)
|
64 |
),
|
65 |
array(
|
66 |
'value' => self::COLLECT_AT_AIRPORT,
|
67 |
'label' => Mage::helper('ops/data')->__(
|
68 |
+
'Collect at airport, train station or travel agency'
|
69 |
+
)
|
70 |
),
|
71 |
array(
|
72 |
'value' => self::TRANSPORTER,
|
73 |
'label' => Mage::helper('ops/data')->__(
|
74 |
+
'Transporter (La Poste, UPS...)'
|
75 |
+
)
|
76 |
),
|
77 |
array(
|
78 |
'value' => self::DOWNLOAD,
|
app/code/community/Netresearch/OPS/Model/Source/Mode.php
CHANGED
@@ -1,29 +1,31 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Mode.php
|
4 |
-
* @author paul.siedler@netresearch.de
|
5 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
-
*/
|
8 |
-
|
9 |
-
|
10 |
-
class Netresearch_OPS_Model_Source_Mode
|
11 |
-
|
12 |
-
|
13 |
-
const
|
14 |
-
const
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
*
|
19 |
-
*
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
array('value' => self::
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
}
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Mode.php
|
4 |
+
* @author paul.siedler@netresearch.de
|
5 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
+
*/
|
8 |
+
|
9 |
+
|
10 |
+
class Netresearch_OPS_Model_Source_Mode
|
11 |
+
{
|
12 |
+
|
13 |
+
const PROD = 'prod';
|
14 |
+
const TEST = 'test';
|
15 |
+
const CUSTOM = 'custom';
|
16 |
+
|
17 |
+
/**
|
18 |
+
*
|
19 |
+
*
|
20 |
+
* @return array
|
21 |
+
*/
|
22 |
+
public function toOptionArray()
|
23 |
+
{
|
24 |
+
return array(
|
25 |
+
array('value' => self::TEST, 'label' => Mage::helper('ops')->__(self::TEST)),
|
26 |
+
array('value' => self::PROD, 'label' => Mage::helper('ops')->__(self::PROD)),
|
27 |
+
array('value' => self::CUSTOM, 'label' => Mage::helper('ops')->__(self::CUSTOM)),
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
}
|
app/code/community/Netresearch/OPS/Model/Source/OrderReference.php
CHANGED
@@ -37,8 +37,14 @@ class Netresearch_OPS_Model_Source_OrderReference
|
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
-
array(
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
);
|
43 |
}
|
44 |
}
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
+
array(
|
41 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::REFERENCE_QUOTE_ID,
|
42 |
+
'label' => Mage::helper('ops')->__('quote id')
|
43 |
+
),
|
44 |
+
array(
|
45 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::REFERENCE_ORDER_ID,
|
46 |
+
'label' => Mage::helper('ops')->__('order id')
|
47 |
+
),
|
48 |
);
|
49 |
}
|
50 |
}
|
app/code/community/Netresearch/OPS/Model/Source/PaymentAction.php
CHANGED
@@ -37,8 +37,14 @@ class Netresearch_OPS_Model_Source_PaymentAction
|
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
-
array(
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
);
|
43 |
}
|
44 |
}
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
+
array(
|
41 |
+
'value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE,
|
42 |
+
'label' => Mage::helper('ops')->__('Authorization')
|
43 |
+
),
|
44 |
+
array(
|
45 |
+
'value' => Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE_CAPTURE,
|
46 |
+
'label' => Mage::helper('ops')->__('Direct Sale')
|
47 |
+
),
|
48 |
);
|
49 |
}
|
50 |
}
|
app/code/community/Netresearch/OPS/Model/Source/Pmlist.php
CHANGED
@@ -37,9 +37,18 @@ class Netresearch_OPS_Model_Source_Pmlist
|
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
-
array(
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
);
|
44 |
}
|
45 |
}
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
+
array(
|
41 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::PMLIST_HORIZONTAL_LEFT,
|
42 |
+
'label' => Mage::helper('ops')->__('Horizontally grouped logo with group name on left')
|
43 |
+
),
|
44 |
+
array(
|
45 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::PMLIST_HORIZONTAL,
|
46 |
+
'label' => Mage::helper('ops')->__('Horizontally grouped logo with no group name')
|
47 |
+
),
|
48 |
+
array(
|
49 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::PMLIST_VERTICAL,
|
50 |
+
'label' => Mage::helper('ops')->__('Verical list')
|
51 |
+
),
|
52 |
);
|
53 |
}
|
54 |
}
|
app/code/community/Netresearch/OPS/Model/Source/Template.php
CHANGED
@@ -37,10 +37,22 @@ class Netresearch_OPS_Model_Source_Template
|
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
-
array(
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
);
|
45 |
}
|
46 |
}
|
37 |
public function toOptionArray()
|
38 |
{
|
39 |
return array(
|
40 |
+
array(
|
41 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_REDIRECT,
|
42 |
+
'label' => Mage::helper('ops')->__('Ingenico ePayments - Redirect mode')
|
43 |
+
),
|
44 |
+
array(
|
45 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_MAGENTO_INTERNAL,
|
46 |
+
'label' => Mage::helper('ops')->__('Magento - internal shop template')
|
47 |
+
),
|
48 |
+
array(
|
49 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_IFRAME,
|
50 |
+
'label' => Mage::helper('ops')->__('Ingenico ePayments - iFrame mode')
|
51 |
+
),
|
52 |
+
array(
|
53 |
+
'value' => Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_TEMPLATE,
|
54 |
+
'label' => Mage::helper('ops')->__('Ingenico ePayments - Dynamic template')
|
55 |
+
)
|
56 |
);
|
57 |
}
|
58 |
}
|
app/code/community/Netresearch/OPS/Model/Source/TemplateType.php
CHANGED
@@ -1,21 +1,23 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* TemplateType.php
|
4 |
-
* @author paul.siedler@netresearch.de
|
5 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
-
*/
|
8 |
-
|
9 |
-
class Netresearch_OPS_Model_Source_TemplateType
|
10 |
-
|
11 |
-
|
12 |
-
const
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
}
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* TemplateType.php
|
4 |
+
* @author paul.siedler@netresearch.de
|
5 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
+
*/
|
8 |
+
|
9 |
+
class Netresearch_OPS_Model_Source_TemplateType
|
10 |
+
{
|
11 |
+
|
12 |
+
const URL = 'url';
|
13 |
+
const ID = 'id';
|
14 |
+
|
15 |
+
public function toOptionArray()
|
16 |
+
{
|
17 |
+
return array(
|
18 |
+
array('value' => self::URL, 'label' => Mage::helper('ops')->__(self::URL)),
|
19 |
+
array('value' => self::ID, 'label' => Mage::helper('ops')->__(self::ID))
|
20 |
+
);
|
21 |
+
}
|
22 |
+
|
23 |
+
}
|
app/code/community/Netresearch/OPS/Model/Status.php
CHANGED
@@ -35,7 +35,8 @@
|
|
35 |
* Statuses in 1 digit are 'normal' statuses:
|
36 |
*
|
37 |
* 0 or 1 means the payment entry was not completed either because it is still underway or because interrupted or because
|
38 |
-
* a validation error prevented from confirming. If the cause is a validation error,
|
|
|
39 |
*
|
40 |
* 2 means the acquirer did not authorise the payment.
|
41 |
*
|
@@ -70,7 +71,7 @@ class Netresearch_OPS_Model_Status
|
|
70 |
const AUTHORIZED_WAITING_EXTERNAL_RESULT = 50;
|
71 |
const AUTHORIZATION_WAITING = 51;
|
72 |
const AUTHORIZED_UNKNOWN = 52;
|
73 |
-
const
|
74 |
const OK_WITH_SHEDULED_PAYMENTS = 56;
|
75 |
const NOT_OK_WITH_SHEDULED_PAYMENTS = 57;
|
76 |
const AUTHORISATION_TO_BE_REQUESTED_MANUALLY = 59;
|
@@ -228,7 +229,7 @@ class Netresearch_OPS_Model_Status
|
|
228 |
self::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
229 |
self::AUTHORIZATION_WAITING,
|
230 |
self::AUTHORIZED_UNKNOWN,
|
231 |
-
self::
|
232 |
self::OK_WITH_SHEDULED_PAYMENTS,
|
233 |
self::NOT_OK_WITH_SHEDULED_PAYMENTS,
|
234 |
self::AUTHORISATION_TO_BE_REQUESTED_MANUALLY,
|
35 |
* Statuses in 1 digit are 'normal' statuses:
|
36 |
*
|
37 |
* 0 or 1 means the payment entry was not completed either because it is still underway or because interrupted or because
|
38 |
+
* a validation error prevented from confirming. If the cause is a validation error,
|
39 |
+
* an additional error code (*) (NCERROR) identifies the error.
|
40 |
*
|
41 |
* 2 means the acquirer did not authorise the payment.
|
42 |
*
|
71 |
const AUTHORIZED_WAITING_EXTERNAL_RESULT = 50;
|
72 |
const AUTHORIZATION_WAITING = 51;
|
73 |
const AUTHORIZED_UNKNOWN = 52;
|
74 |
+
const STAND_BY = 55;
|
75 |
const OK_WITH_SHEDULED_PAYMENTS = 56;
|
76 |
const NOT_OK_WITH_SHEDULED_PAYMENTS = 57;
|
77 |
const AUTHORISATION_TO_BE_REQUESTED_MANUALLY = 59;
|
229 |
self::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
230 |
self::AUTHORIZATION_WAITING,
|
231 |
self::AUTHORIZED_UNKNOWN,
|
232 |
+
self::STAND_BY,
|
233 |
self::OK_WITH_SHEDULED_PAYMENTS,
|
234 |
self::NOT_OK_WITH_SHEDULED_PAYMENTS,
|
235 |
self::AUTHORISATION_TO_BE_REQUESTED_MANUALLY,
|
app/code/community/Netresearch/OPS/Model/Status/Update.php
CHANGED
@@ -244,7 +244,8 @@ class Netresearch_OPS_Model_Status_Update
|
|
244 |
}
|
245 |
|
246 |
if (false != strlen(trim($this->getOrder()->getPayment()->getAdditionalInformation('paymentId')))) {
|
247 |
-
Mage::getModel('ops/response_handler')->processResponse(
|
|
|
248 |
$this->getOrder()->getPayment()->getMethodInstance()
|
249 |
);
|
250 |
} else {
|
@@ -288,12 +289,13 @@ class Netresearch_OPS_Model_Status_Update
|
|
288 |
|
289 |
/**
|
290 |
* @param Mage_Sales_Model_Order_Payment $payment
|
|
|
291 |
*/
|
292 |
protected function addPayIdSub(Mage_Sales_Model_Order_Payment $payment)
|
293 |
{
|
294 |
$lastTransaction = $payment->getLastTransId();
|
295 |
$lastTransactionParts = explode('/', $lastTransaction);
|
296 |
-
if($lastTransaction && count($lastTransactionParts)>1){
|
297 |
$this->requestParams['PAYIDSUB'] = $lastTransactionParts[1];
|
298 |
}
|
299 |
return $this;
|
244 |
}
|
245 |
|
246 |
if (false != strlen(trim($this->getOrder()->getPayment()->getAdditionalInformation('paymentId')))) {
|
247 |
+
Mage::getModel('ops/response_handler')->processResponse(
|
248 |
+
$this->getOpsResponse(),
|
249 |
$this->getOrder()->getPayment()->getMethodInstance()
|
250 |
);
|
251 |
} else {
|
289 |
|
290 |
/**
|
291 |
* @param Mage_Sales_Model_Order_Payment $payment
|
292 |
+
* @return $this
|
293 |
*/
|
294 |
protected function addPayIdSub(Mage_Sales_Model_Order_Payment $payment)
|
295 |
{
|
296 |
$lastTransaction = $payment->getLastTransId();
|
297 |
$lastTransactionParts = explode('/', $lastTransaction);
|
298 |
+
if ($lastTransaction && count($lastTransactionParts)>1) {
|
299 |
$this->requestParams['PAYIDSUB'] = $lastTransactionParts[1];
|
300 |
}
|
301 |
return $this;
|
app/code/community/Netresearch/OPS/Model/Subscription/Manager.php
CHANGED
@@ -44,7 +44,7 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
44 |
*/
|
45 |
public function getDataHelper()
|
46 |
{
|
47 |
-
if (
|
48 |
$this->dataHelper = Mage::helper('ops');
|
49 |
}
|
50 |
|
@@ -68,7 +68,7 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
68 |
*/
|
69 |
public function getPaymentHelper()
|
70 |
{
|
71 |
-
if (
|
72 |
$this->paymentHelper = Mage::helper('ops/payment');
|
73 |
}
|
74 |
|
@@ -93,7 +93,7 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
93 |
*/
|
94 |
public function getSubscriptionHelper()
|
95 |
{
|
96 |
-
if (
|
97 |
$this->subscriptionHelper = Mage::helper('ops/subscription');
|
98 |
}
|
99 |
|
@@ -134,7 +134,7 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
134 |
Mage::throwException($this->getDataHelper()->__('No response array provided'));
|
135 |
}
|
136 |
|
137 |
-
if (
|
138 |
$profile = $this->getSubscriptionHelper()->getProfileForSubscription($orderId);
|
139 |
}
|
140 |
|
@@ -163,9 +163,9 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
163 |
}
|
164 |
}
|
165 |
|
166 |
-
if ($createOrder &&
|
167 |
return $this->createOrderFromFeedback($profile, $feedbackType, $responseParams);
|
168 |
-
} elseif (
|
169 |
return $this->processPaymentFeedback($responseParams, $profile, $order);
|
170 |
}
|
171 |
|
@@ -191,7 +191,8 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
191 |
if ($feedbackType == Mage_Sales_Model_Recurring_Profile::PAYMENT_TYPE_TRIAL) {
|
192 |
$orderItemInfo = new Varien_Object($profile->getOrderItemInfo());
|
193 |
$calculator = Mage::getModel('tax/calculation');
|
194 |
-
$tax = $calculator->calcTaxAmount(
|
|
|
195 |
$orderItemInfo->getTaxPercent(), true, true
|
196 |
);
|
197 |
$price = $profile->getTrialBillingAmount() - $tax;
|
@@ -222,7 +223,8 @@ class Netresearch_OPS_Model_Subscription_Manager
|
|
222 |
$item = new Varien_Object();
|
223 |
$orderItemInfo = new Varien_Object($profile->getOrderItemInfo());
|
224 |
$calculator = Mage::getModel('tax/calculation');
|
225 |
-
$taxAmount = $calculator->calcTaxAmount(
|
|
|
226 |
true
|
227 |
);
|
228 |
$amountWithoutTax = $profile->getInitAmount() - $taxAmount;
|
44 |
*/
|
45 |
public function getDataHelper()
|
46 |
{
|
47 |
+
if (null === $this->dataHelper) {
|
48 |
$this->dataHelper = Mage::helper('ops');
|
49 |
}
|
50 |
|
68 |
*/
|
69 |
public function getPaymentHelper()
|
70 |
{
|
71 |
+
if (null === $this->paymentHelper) {
|
72 |
$this->paymentHelper = Mage::helper('ops/payment');
|
73 |
}
|
74 |
|
93 |
*/
|
94 |
public function getSubscriptionHelper()
|
95 |
{
|
96 |
+
if (null === $this->subscriptionHelper) {
|
97 |
$this->subscriptionHelper = Mage::helper('ops/subscription');
|
98 |
}
|
99 |
|
134 |
Mage::throwException($this->getDataHelper()->__('No response array provided'));
|
135 |
}
|
136 |
|
137 |
+
if (null === $profile) {
|
138 |
$profile = $this->getSubscriptionHelper()->getProfileForSubscription($orderId);
|
139 |
}
|
140 |
|
163 |
}
|
164 |
}
|
165 |
|
166 |
+
if ($createOrder && null === $order) {
|
167 |
return $this->createOrderFromFeedback($profile, $feedbackType, $responseParams);
|
168 |
+
} elseif (null != $order) {
|
169 |
return $this->processPaymentFeedback($responseParams, $profile, $order);
|
170 |
}
|
171 |
|
191 |
if ($feedbackType == Mage_Sales_Model_Recurring_Profile::PAYMENT_TYPE_TRIAL) {
|
192 |
$orderItemInfo = new Varien_Object($profile->getOrderItemInfo());
|
193 |
$calculator = Mage::getModel('tax/calculation');
|
194 |
+
$tax = $calculator->calcTaxAmount(
|
195 |
+
$profile->getTrialBillingAmount(),
|
196 |
$orderItemInfo->getTaxPercent(), true, true
|
197 |
);
|
198 |
$price = $profile->getTrialBillingAmount() - $tax;
|
223 |
$item = new Varien_Object();
|
224 |
$orderItemInfo = new Varien_Object($profile->getOrderItemInfo());
|
225 |
$calculator = Mage::getModel('tax/calculation');
|
226 |
+
$taxAmount = $calculator->calcTaxAmount(
|
227 |
+
$profile->getInitAmount(), $orderItemInfo->getTaxPercent(), true,
|
228 |
true
|
229 |
);
|
230 |
$amountWithoutTax = $profile->getInitAmount() - $taxAmount;
|
app/code/community/Netresearch/OPS/Model/System/Config/Backend/Encoding.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Netresearch OPS
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* @category Netresearch
|
19 |
+
* @package Netresearch_OPS
|
20 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
21 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
22 |
+
*/
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Netresearch
|
26 |
+
*
|
27 |
+
* @category Netresearch
|
28 |
+
* @package Netresearch_OPS
|
29 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
30 |
+
*/
|
31 |
+
class Netresearch_OPS_Model_System_Config_Backend_Encoding
|
32 |
+
{
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Options getter
|
36 |
+
*
|
37 |
+
* @return array
|
38 |
+
*/
|
39 |
+
public function toOptionArray()
|
40 |
+
{
|
41 |
+
return array(
|
42 |
+
array('value' => 'utf-8', 'label' => Mage::helper('ops')->__('UTF-8')),
|
43 |
+
array('value' => 'other', 'label' => Mage::helper('ops')->__('Other')),
|
44 |
+
);
|
45 |
+
}
|
46 |
+
}
|
app/code/community/Netresearch/OPS/Model/System/Config/Backend/Flex/Methods.php
CHANGED
@@ -42,7 +42,7 @@ class Netresearch_OPS_Model_System_Config_Backend_Flex_Methods
|
|
42 |
public function save()
|
43 |
{
|
44 |
$methods = $this->getValue();
|
45 |
-
if (is_array($methods) &&
|
46 |
$alreadyProcessedMethods = array();
|
47 |
foreach ($methods as $method) {
|
48 |
|
@@ -50,7 +50,7 @@ class Netresearch_OPS_Model_System_Config_Backend_Flex_Methods
|
|
50 |
&& array_key_exists('pm', $method)
|
51 |
&& array_key_exists('brand', $method)
|
52 |
) {
|
53 |
-
if(empty($method['title'])||empty($method['pm'])){
|
54 |
Mage::throwException("Can not save empty title or PM fields");
|
55 |
}
|
56 |
|
42 |
public function save()
|
43 |
{
|
44 |
$methods = $this->getValue();
|
45 |
+
if (is_array($methods) && count($methods) > 1) {
|
46 |
$alreadyProcessedMethods = array();
|
47 |
foreach ($methods as $method) {
|
48 |
|
50 |
&& array_key_exists('pm', $method)
|
51 |
&& array_key_exists('brand', $method)
|
52 |
) {
|
53 |
+
if (empty($method['title'])||empty($method['pm'])) {
|
54 |
Mage::throwException("Can not save empty title or PM fields");
|
55 |
}
|
56 |
|
app/code/community/Netresearch/OPS/Model/System/Config/Backend/Intersolve/Brands.php
CHANGED
@@ -44,7 +44,7 @@ class Netresearch_Ops_Model_System_Config_Backend_Intersolve_Brands
|
|
44 |
public function save()
|
45 |
{
|
46 |
$brands = $this->getValue();
|
47 |
-
if (is_array($brands) &&
|
48 |
$alreadyProcessedBrands = array();
|
49 |
foreach ($brands as $brand) {
|
50 |
if (is_array($brand) && array_key_exists('brand', $brand)) {
|
44 |
public function save()
|
45 |
{
|
46 |
$brands = $this->getValue();
|
47 |
+
if (is_array($brands) && count($brands) > 1) {
|
48 |
$alreadyProcessedBrands = array();
|
49 |
foreach ($brands as $brand) {
|
50 |
if (is_array($brand) && array_key_exists('brand', $brand)) {
|
app/code/community/Netresearch/OPS/Model/System/Config/Backend/PaymentLogo.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Netresearch OPS
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* @category Netresearch
|
19 |
+
* @package Netresearch_OPS
|
20 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
21 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
22 |
+
*/
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Netresearch
|
26 |
+
*
|
27 |
+
* @category Netresearch
|
28 |
+
* @package Netresearch_OPS
|
29 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
30 |
+
*/
|
31 |
+
class Netresearch_Ops_Model_System_Config_Backend_PaymentLogo
|
32 |
+
{
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Options getter
|
36 |
+
*
|
37 |
+
* @return array
|
38 |
+
*/
|
39 |
+
public function toOptionArray()
|
40 |
+
{
|
41 |
+
return array(
|
42 |
+
array('value' => 'left', 'label' => Mage::helper('ops')->__('Left')),
|
43 |
+
array('value' => 'right', 'label' => Mage::helper('ops')->__('Right')),
|
44 |
+
array('value' => 'hidden', 'label' => Mage::helper('ops')->__('Non Visible')),
|
45 |
+
);
|
46 |
+
}
|
47 |
+
}
|
app/code/community/Netresearch/OPS/Model/System/Config/Mode.php
CHANGED
@@ -1,39 +1,40 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Mode.php
|
4 |
-
* @author paul.siedler@netresearch.de
|
5 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
-
*/
|
8 |
-
|
9 |
-
class Netresearch_OPS_Model_System_Config_Mode extends Mage_Core_Model_Config_Data
|
10 |
-
{
|
11 |
-
|
12 |
-
public function _afterSave()
|
13 |
-
{
|
14 |
-
|
15 |
-
if($this->getValue() != Netresearch_OPS_Model_Source_Mode::CUSTOM && $this->isValueChanged()){
|
16 |
-
$xmlConfig = Mage::getConfig()->loadModulesConfiguration('config.xml');
|
17 |
-
foreach($this->getUrlPaths() as $path){
|
18 |
-
$default = $xmlConfig->getNode('default/'.$path);
|
19 |
-
$newValue = preg_replace('/\/ncol\/\w+/', '/ncol/'.$this->getValue(), $default);
|
20 |
-
Mage::getConfig()->saveConfig($path, $newValue, $this->getScope(), $this->getScopeId());
|
21 |
-
|
22 |
-
}
|
23 |
-
}
|
24 |
-
|
25 |
-
return parent::_afterSave();
|
26 |
-
}
|
27 |
-
|
28 |
-
protected function getUrlPaths()
|
29 |
-
|
30 |
-
|
31 |
-
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'
|
32 |
-
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'
|
33 |
-
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'
|
34 |
-
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'
|
35 |
-
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Mode.php
|
4 |
+
* @author paul.siedler@netresearch.de
|
5 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
+
*/
|
8 |
+
|
9 |
+
class Netresearch_OPS_Model_System_Config_Mode extends Mage_Core_Model_Config_Data
|
10 |
+
{
|
11 |
+
|
12 |
+
public function _afterSave()
|
13 |
+
{
|
14 |
+
|
15 |
+
if ($this->getValue() != Netresearch_OPS_Model_Source_Mode::CUSTOM && $this->isValueChanged()) {
|
16 |
+
$xmlConfig = Mage::getConfig()->loadModulesConfiguration('config.xml');
|
17 |
+
foreach ($this->getUrlPaths() as $path) {
|
18 |
+
$default = $xmlConfig->getNode('default/'.$path);
|
19 |
+
$newValue = preg_replace('/\/ncol\/\w+/', '/ncol/'.$this->getValue(), $default);
|
20 |
+
Mage::getConfig()->saveConfig($path, $newValue, $this->getScope(), $this->getScopeId());
|
21 |
+
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
return parent::_afterSave();
|
26 |
+
}
|
27 |
+
|
28 |
+
protected function getUrlPaths()
|
29 |
+
{
|
30 |
+
return array(
|
31 |
+
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'ops_gateway',
|
32 |
+
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'ops_alias_gateway',
|
33 |
+
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'frontend_gateway',
|
34 |
+
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'directlink_gateway',
|
35 |
+
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'directlink_gateway_order',
|
36 |
+
Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH.'directlink_maintenance_api'
|
37 |
+
);
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
app/code/community/Netresearch/OPS/Model/System/Config/Template.php
CHANGED
@@ -1,63 +1,63 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Template.php
|
5 |
-
* @author paul.siedler@netresearch.de
|
6 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
7 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
8 |
-
*/
|
9 |
-
class Netresearch_OPS_Model_System_Config_Template extends Mage_Core_Model_Config_Data
|
10 |
-
{
|
11 |
-
protected function getConfig()
|
12 |
-
{
|
13 |
-
return Mage::getModel('ops/config');
|
14 |
-
|
15 |
-
}
|
16 |
-
|
17 |
-
public function getCommentText(Mage_Core_Model_Config_Element $element, $currentValue)
|
18 |
-
{
|
19 |
-
$paypageUrl = $this->getConfig()->getPayPageTemplate();
|
20 |
-
$paypageInfo = Mage::helper('ops')->__(
|
21 |
-
'With this setting the customer will be redirected to the Ingenico ePayments paypage with the look and feel of your shop. ' .
|
22 |
-
'</br> The template used can be seen here: </br>'
|
23 |
-
);
|
24 |
-
$paypageInfo .= "<a href=\"" . $paypageUrl . "\">" . $paypageUrl . "</a>";
|
25 |
-
|
26 |
-
$result = "<p class=\"note\"><span id=\"ops_template_comment\"></span></p>";
|
27 |
-
$result .= "
|
28 |
-
<script type=\"text/javascript\">
|
29 |
-
Translator.add(
|
30 |
-
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_MAGENTO_INTERNAL . "',
|
31 |
-
'" . $paypageInfo . "'
|
32 |
-
);
|
33 |
-
Translator.add(
|
34 |
-
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_TEMPLATE . "',
|
35 |
-
'" . Mage::helper('ops')->__('With this setting the customer will be redirected to the Ingenico ePayments paypage. The look and feel of that page will be defined by a dynamically loaded template file whose origin you can define below.') . "'
|
36 |
-
);
|
37 |
-
Translator.add(
|
38 |
-
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_IFRAME . "',
|
39 |
-
'" . Mage::helper('ops')->__('With this setting the customer will enter the payment details on a page in your shop that hosts the Ingenico ePayments paypage in an iFrame. You can style the paypage through the parameters below.') . "'
|
40 |
-
);
|
41 |
-
Translator.add(
|
42 |
-
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_REDIRECT . "',
|
43 |
-
'" . Mage::helper('ops')->__('With this setting the customer will get redirected to Ingenico ePayments to enter his payment details. You can style the page through the parameters below.') . "'
|
44 |
-
);
|
45 |
-
selectElement = $('payment_services_ops_template');
|
46 |
-
|
47 |
-
function updateComment(value){
|
48 |
-
var comment = $('ops_template_comment');
|
49 |
-
comment.innerHTML = Translator.translate(value);
|
50 |
-
}
|
51 |
-
|
52 |
-
Event.observe(window, 'load', function(){
|
53 |
-
updateComment('" . $currentValue . "');
|
54 |
-
Event.observe(selectElement, 'change', function(){
|
55 |
-
updateComment(selectElement.value);
|
56 |
-
});
|
57 |
-
});
|
58 |
-
</script>";
|
59 |
-
|
60 |
-
return $result;
|
61 |
-
}
|
62 |
-
|
63 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Template.php
|
5 |
+
* @author paul.siedler@netresearch.de
|
6 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
7 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
8 |
+
*/
|
9 |
+
class Netresearch_OPS_Model_System_Config_Template extends Mage_Core_Model_Config_Data
|
10 |
+
{
|
11 |
+
protected function getConfig()
|
12 |
+
{
|
13 |
+
return Mage::getModel('ops/config');
|
14 |
+
|
15 |
+
}
|
16 |
+
|
17 |
+
public function getCommentText(Mage_Core_Model_Config_Element $element, $currentValue)
|
18 |
+
{
|
19 |
+
$paypageUrl = $this->getConfig()->getPayPageTemplate();
|
20 |
+
$paypageInfo = Mage::helper('ops')->__(
|
21 |
+
'With this setting the customer will be redirected to the Ingenico ePayments paypage with the look and feel of your shop. ' .
|
22 |
+
'</br> The template used can be seen here: </br>'
|
23 |
+
);
|
24 |
+
$paypageInfo .= "<a href=\"" . $paypageUrl . "\">" . $paypageUrl . "</a>";
|
25 |
+
|
26 |
+
$result = "<p class=\"note\"><span id=\"ops_template_comment\"></span></p>";
|
27 |
+
$result .= "
|
28 |
+
<script type=\"text/javascript\">
|
29 |
+
Translator.add(
|
30 |
+
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_MAGENTO_INTERNAL . "',
|
31 |
+
'" . $paypageInfo . "'
|
32 |
+
);
|
33 |
+
Translator.add(
|
34 |
+
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_TEMPLATE . "',
|
35 |
+
'" . Mage::helper('ops')->__('With this setting the customer will be redirected to the Ingenico ePayments paypage. The look and feel of that page will be defined by a dynamically loaded template file whose origin you can define below.') . "'
|
36 |
+
);
|
37 |
+
Translator.add(
|
38 |
+
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_IFRAME . "',
|
39 |
+
'" . Mage::helper('ops')->__('With this setting the customer will enter the payment details on a page in your shop that hosts the Ingenico ePayments paypage in an iFrame. You can style the paypage through the parameters below.') . "'
|
40 |
+
);
|
41 |
+
Translator.add(
|
42 |
+
'" . Netresearch_OPS_Model_Payment_Abstract::TEMPLATE_OPS_REDIRECT . "',
|
43 |
+
'" . Mage::helper('ops')->__('With this setting the customer will get redirected to Ingenico ePayments to enter his payment details. You can style the page through the parameters below.') . "'
|
44 |
+
);
|
45 |
+
selectElement = $('payment_services_ops_template');
|
46 |
+
|
47 |
+
function updateComment(value){
|
48 |
+
var comment = $('ops_template_comment');
|
49 |
+
comment.innerHTML = Translator.translate(value);
|
50 |
+
}
|
51 |
+
|
52 |
+
Event.observe(window, 'load', function(){
|
53 |
+
updateComment('" . $currentValue . "');
|
54 |
+
Event.observe(selectElement, 'change', function(){
|
55 |
+
updateComment(selectElement.value);
|
56 |
+
});
|
57 |
+
});
|
58 |
+
</script>";
|
59 |
+
|
60 |
+
return $result;
|
61 |
+
}
|
62 |
+
|
63 |
+
}
|
app/code/community/Netresearch/OPS/Model/Validator/CompositeInterface.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
*/
|
8 |
interface Netresearch_OPS_Model_Validator_CompositeInterface
|
9 |
-
|
10 |
public function addValidator(Zend_Validate_Interface $validator);
|
11 |
|
12 |
}
|
6 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
*/
|
8 |
interface Netresearch_OPS_Model_Validator_CompositeInterface
|
9 |
+
{
|
10 |
public function addValidator(Zend_Validate_Interface $validator);
|
11 |
|
12 |
}
|
app/code/community/Netresearch/OPS/Model/Validator/Kwixo/Shipping/Setting.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
class Netresearch_OPS_Model_Validator_Kwixo_Shipping_Setting
|
12 |
{
|
13 |
|
14 |
-
|
15 |
|
16 |
public function isValid(array $data)
|
17 |
{
|
@@ -32,7 +32,7 @@ class Netresearch_OPS_Model_Validator_Kwixo_Shipping_Setting
|
|
32 |
return $this->messages;
|
33 |
}
|
34 |
|
35 |
-
|
36 |
{
|
37 |
$shippingTypeResult = $this->validateShippingType($code, $row);
|
38 |
$shippingSpeedResult = $this->validateShippingSpeed($code, $row);
|
@@ -61,7 +61,7 @@ class Netresearch_OPS_Model_Validator_Kwixo_Shipping_Setting
|
|
61 |
return false;
|
62 |
}
|
63 |
|
64 |
-
|
65 |
{
|
66 |
if (array_key_exists('kwixo_shipping_speed', $row)
|
67 |
&& Zend_Validate::is(
|
@@ -77,7 +77,7 @@ class Netresearch_OPS_Model_Validator_Kwixo_Shipping_Setting
|
|
77 |
return false;
|
78 |
}
|
79 |
|
80 |
-
|
81 |
{
|
82 |
if (array_key_exists('kwixo_shipping_details', $row)
|
83 |
&& Zend_Validate::is(
|
11 |
class Netresearch_OPS_Model_Validator_Kwixo_Shipping_Setting
|
12 |
{
|
13 |
|
14 |
+
protected $messages = array();
|
15 |
|
16 |
public function isValid(array $data)
|
17 |
{
|
32 |
return $this->messages;
|
33 |
}
|
34 |
|
35 |
+
protected function validateRow($code, $row)
|
36 |
{
|
37 |
$shippingTypeResult = $this->validateShippingType($code, $row);
|
38 |
$shippingSpeedResult = $this->validateShippingSpeed($code, $row);
|
61 |
return false;
|
62 |
}
|
63 |
|
64 |
+
protected function validateShippingSpeed($code, $row)
|
65 |
{
|
66 |
if (array_key_exists('kwixo_shipping_speed', $row)
|
67 |
&& Zend_Validate::is(
|
77 |
return false;
|
78 |
}
|
79 |
|
80 |
+
protected function validateShippingDetails($code, $row)
|
81 |
{
|
82 |
if (array_key_exists('kwixo_shipping_details', $row)
|
83 |
&& Zend_Validate::is(
|
app/code/community/Netresearch/OPS/Model/Validator/Parameter/Factory.php
CHANGED
@@ -1,19 +1,24 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
-
* @author Michael Lühr <michael.luehr@netresearch.de>
|
4 |
* @category Netresearch
|
5 |
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
6 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
*/
|
8 |
-
|
9 |
-
|
10 |
class Netresearch_OPS_Model_Validator_Parameter_Factory extends Mage_Core_Model_Abstract
|
11 |
{
|
12 |
|
13 |
const TYPE_REQUEST_PARAMS_VALIDATION = 'request_validation';
|
14 |
|
|
|
|
|
|
|
15 |
protected $validator = null;
|
16 |
|
|
|
|
|
|
|
17 |
protected $config = null;
|
18 |
|
19 |
/**
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
+
* @author Michael Lühr <michael.luehr@netresearch.de>
|
5 |
* @category Netresearch
|
6 |
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
7 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
*/
|
|
|
|
|
9 |
class Netresearch_OPS_Model_Validator_Parameter_Factory extends Mage_Core_Model_Abstract
|
10 |
{
|
11 |
|
12 |
const TYPE_REQUEST_PARAMS_VALIDATION = 'request_validation';
|
13 |
|
14 |
+
/**
|
15 |
+
* @var Netresearch_OPS_Model_Validator_Parameter_Validator
|
16 |
+
*/
|
17 |
protected $validator = null;
|
18 |
|
19 |
+
/**
|
20 |
+
* @var Netresearch_OPS_Model_Config
|
21 |
+
*/
|
22 |
protected $config = null;
|
23 |
|
24 |
/**
|
app/code/community/Netresearch/OPS/Model/Validator/Parameter/Length.php
CHANGED
@@ -45,12 +45,18 @@ class Netresearch_OPS_Model_Validator_Parameter_Length implements Zend_Validate_
|
|
45 |
if (is_array($dataToValidate) && 0 < count($dataToValidate)) {
|
46 |
foreach ($dataToValidate as $key => $value) {
|
47 |
$maxLength = $this->getFieldLengthFor($key);
|
48 |
-
if(
|
49 |
$value = '';
|
50 |
}
|
51 |
if (0 < $maxLength) {
|
52 |
-
if (
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
$validationResult = false;
|
55 |
}
|
56 |
}
|
45 |
if (is_array($dataToValidate) && 0 < count($dataToValidate)) {
|
46 |
foreach ($dataToValidate as $key => $value) {
|
47 |
$maxLength = $this->getFieldLengthFor($key);
|
48 |
+
if ($value === null) {
|
49 |
$value = '';
|
50 |
}
|
51 |
if (0 < $maxLength) {
|
52 |
+
if (
|
53 |
+
false == Zend_Validate::is(
|
54 |
+
utf8_encode($value),
|
55 |
+
'StringLength',
|
56 |
+
array('max' => $maxLength, 'encoding' => 'utf-8')
|
57 |
+
)
|
58 |
+
) {
|
59 |
+
$this->messages[$key] = Mage::helper('ops/data')->__('Value exceeds %d characters', $maxLength);
|
60 |
$validationResult = false;
|
61 |
}
|
62 |
}
|
app/code/community/Netresearch/OPS/Model/Validator/Payment/DirectDebit.php
DELETED
@@ -1,250 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @author Michael Lühr <michael.luehr@netresearch.de>
|
4 |
-
* @category Netresearch
|
5 |
-
* @package Netresearch_OPS
|
6 |
-
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
7 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
-
*/
|
9 |
-
|
10 |
-
|
11 |
-
class Netresearch_OPS_Model_Validator_Payment_DirectDebit
|
12 |
-
{
|
13 |
-
|
14 |
-
protected $messages = array();
|
15 |
-
|
16 |
-
protected $dataHelper = null;
|
17 |
-
|
18 |
-
protected $directDebitHelper = null;
|
19 |
-
|
20 |
-
/**
|
21 |
-
* sets the data helper
|
22 |
-
*
|
23 |
-
* @param Mage_Core_Helper_Abstract $dataHelper
|
24 |
-
*/
|
25 |
-
public function setDataHelper(Mage_Core_Helper_Abstract $dataHelper)
|
26 |
-
{
|
27 |
-
$this->dataHelper = $dataHelper;
|
28 |
-
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
* gwets the data helper
|
32 |
-
*
|
33 |
-
* @return Mage_Core_Helper_Abstract|null
|
34 |
-
*/
|
35 |
-
public function getDataHelper()
|
36 |
-
{
|
37 |
-
if (null == $this->dataHelper) {
|
38 |
-
$this->dataHelper = Mage::helper('ops/data');
|
39 |
-
}
|
40 |
-
|
41 |
-
return $this->dataHelper;
|
42 |
-
}
|
43 |
-
|
44 |
-
/**
|
45 |
-
* sets the direct debit helper
|
46 |
-
*
|
47 |
-
* @param Netresearch_OPS_Helper_DirectDebit $directDebitHelper
|
48 |
-
*/
|
49 |
-
public function setDirectDebitHelper(Netresearch_OPS_Helper_DirectDebit $directDebitHelper)
|
50 |
-
{
|
51 |
-
$this->directDebitHelper = $directDebitHelper;
|
52 |
-
}
|
53 |
-
|
54 |
-
/**
|
55 |
-
* gets the direct debit helper
|
56 |
-
*
|
57 |
-
* @return Netresearch_OPS_Helper_DirectDebit
|
58 |
-
*/
|
59 |
-
public function getDirectDebitHelper()
|
60 |
-
{
|
61 |
-
if (null === $this->directDebitHelper) {
|
62 |
-
$this->directDebitHelper = Mage::helper('ops/directDebit');
|
63 |
-
}
|
64 |
-
return $this->directDebitHelper;
|
65 |
-
}
|
66 |
-
|
67 |
-
/**
|
68 |
-
* validates the direct debit payment data
|
69 |
-
*
|
70 |
-
* @param array $directDebitData
|
71 |
-
*
|
72 |
-
* @return bool - true if the direct data are valid, false otherwise
|
73 |
-
*/
|
74 |
-
public function isValid(array $directDebitData)
|
75 |
-
{
|
76 |
-
if (false === $this->checkPreconditions($directDebitData)) {
|
77 |
-
return false;
|
78 |
-
}
|
79 |
-
|
80 |
-
return $this->validateAccountData($directDebitData);
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* gets the validation messages
|
85 |
-
*
|
86 |
-
* @return array
|
87 |
-
*/
|
88 |
-
public function getMessages()
|
89 |
-
{
|
90 |
-
return $this->messages;
|
91 |
-
}
|
92 |
-
|
93 |
-
/**
|
94 |
-
* checks if the neccesaary data are present
|
95 |
-
*
|
96 |
-
* @param array $accountData
|
97 |
-
*
|
98 |
-
* @return bool - true if the neccessary data are present, false otherwise
|
99 |
-
*/
|
100 |
-
protected function checkPreconditions(array $accountData)
|
101 |
-
{
|
102 |
-
if (0 == count($accountData)
|
103 |
-
|| !array_key_exists(
|
104 |
-
'CN', $accountData
|
105 |
-
)
|
106 |
-
|| !array_key_exists('country', $accountData)
|
107 |
-
|| !array_key_exists('account', $accountData)
|
108 |
-
|| !array_key_exists('iban', $accountData)
|
109 |
-
) {
|
110 |
-
$this->messages[] = $this->getDataHelper()->__(
|
111 |
-
'invalid data provided'
|
112 |
-
);
|
113 |
-
|
114 |
-
return false;
|
115 |
-
}
|
116 |
-
|
117 |
-
return true;
|
118 |
-
}
|
119 |
-
|
120 |
-
/**
|
121 |
-
* checks if the account data are valid
|
122 |
-
*
|
123 |
-
* @param array $accountData
|
124 |
-
*
|
125 |
-
* @return bool - true if the data are valid, false otherise
|
126 |
-
*/
|
127 |
-
protected function validateAccountData(array $accountData)
|
128 |
-
{
|
129 |
-
$result = true;
|
130 |
-
if ($this->hasAccountHolder($accountData)) {
|
131 |
-
$this->messages[] = $this->getDataHelper()->__(
|
132 |
-
'Account holder must be provided'
|
133 |
-
);
|
134 |
-
$result = false;
|
135 |
-
}
|
136 |
-
|
137 |
-
// check iban data
|
138 |
-
if ($this->hasIban($accountData)) {
|
139 |
-
$result = $this->validateIban(
|
140 |
-
$accountData['country'], $accountData['iban'],
|
141 |
-
(array_key_exists('bic', $accountData))? $accountData['bic'] : ''
|
142 |
-
);
|
143 |
-
}
|
144 |
-
// check bank account data
|
145 |
-
else {
|
146 |
-
$result = $this->validateBankAccount(
|
147 |
-
$accountData['country'], $accountData['account'],
|
148 |
-
(array_key_exists('bankcode', $accountData))
|
149 |
-
? $accountData['bankcode'] : ''
|
150 |
-
);
|
151 |
-
}
|
152 |
-
|
153 |
-
return $result;
|
154 |
-
}
|
155 |
-
|
156 |
-
|
157 |
-
/**
|
158 |
-
* validates iban and (optional) bic data
|
159 |
-
*
|
160 |
-
* @param $country - the country for the iban
|
161 |
-
* @param $iban - the iban to validate
|
162 |
-
* @param $bic - the bic if given
|
163 |
-
*
|
164 |
-
* @return bool - true if the iban data are valid, false otherwise
|
165 |
-
*/
|
166 |
-
protected function validateIban($country, $iban, $bic)
|
167 |
-
{
|
168 |
-
$country = strtoupper(trim($country));
|
169 |
-
$result = true;
|
170 |
-
if ('DE' != $country && 'NL' != $country) {
|
171 |
-
$result = false;
|
172 |
-
$this->messages[] = $this->getDataHelper()->__(
|
173 |
-
'Country not supported for IBAN'
|
174 |
-
);
|
175 |
-
}
|
176 |
-
$validator = new Zend_Validate_Iban();
|
177 |
-
|
178 |
-
if (!$validator->isValid($iban)) {
|
179 |
-
$result = false;
|
180 |
-
|
181 |
-
$this->messages[] = $this->getDataHelper()->__('Invalid IBAN provided');
|
182 |
-
}
|
183 |
-
if ('NL' == $country
|
184 |
-
&& (11 < strlen(trim($bic)))
|
185 |
-
) {
|
186 |
-
$result = false;
|
187 |
-
$this->messages[] = $this->getDataHelper()->__(
|
188 |
-
'invalid BIC provided'
|
189 |
-
);
|
190 |
-
|
191 |
-
}
|
192 |
-
|
193 |
-
return $result;
|
194 |
-
}
|
195 |
-
|
196 |
-
/**
|
197 |
-
* validates bank account data
|
198 |
-
*
|
199 |
-
* @param $country - the country for the bank account data
|
200 |
-
* @param $accountNo - the account number
|
201 |
-
* @param $bankCode - the bank code
|
202 |
-
*
|
203 |
-
* @return bool - true if the data are valid, false otherwise
|
204 |
-
*/
|
205 |
-
protected function validateBankAccount($country, $accountNo, $bankCode)
|
206 |
-
{
|
207 |
-
$result = true;
|
208 |
-
if (!is_numeric($accountNo)) {
|
209 |
-
$this->messages[] = $this->getDataHelper()->__(
|
210 |
-
'Account number must contain numbers only.'
|
211 |
-
);
|
212 |
-
$result = false;
|
213 |
-
}
|
214 |
-
$country = strtolower($country);
|
215 |
-
if (('de' == $country || 'at' == $country) && !is_numeric($bankCode)) {
|
216 |
-
$this->messages[] = $this->getDataHelper()->__(
|
217 |
-
'Bank code must contain numbers only.'
|
218 |
-
);
|
219 |
-
$result = false;
|
220 |
-
}
|
221 |
-
|
222 |
-
return $result;
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* checks if account holder is provided in the given account data
|
227 |
-
*
|
228 |
-
* @param array $accountData
|
229 |
-
*
|
230 |
-
* @return bool - true if account holder is present, false otherwise
|
231 |
-
*/
|
232 |
-
protected function hasAccountHolder(array $accountData)
|
233 |
-
{
|
234 |
-
return array_key_exists('CN', $accountData)
|
235 |
-
&& 0 === strlen(trim($accountData['CN']));
|
236 |
-
}
|
237 |
-
|
238 |
-
/**
|
239 |
-
* checks if the account data has the ibna field
|
240 |
-
*
|
241 |
-
* @param array $accountData
|
242 |
-
*
|
243 |
-
* @return bool - true if the account data contain the iban
|
244 |
-
*/
|
245 |
-
protected function hasIban(array $accountData)
|
246 |
-
{
|
247 |
-
return $this->getDirectDebitHelper()->hasIban($accountData);
|
248 |
-
}
|
249 |
-
|
250 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Netresearch/OPS/Test/Block/Adminhtml/Customer/Renderer/StateTest.php
CHANGED
@@ -17,7 +17,7 @@ class Netresearch_OPS_Test_Block_Adminhtml_Customer_Renderer_StateTest
|
|
17 |
$this->assertEquals(
|
18 |
Mage::helper('ops/data')->__(
|
19 |
Netresearch_OPS_Model_Alias_State::ACTIVE
|
20 |
-
)
|
21 |
);
|
22 |
}
|
23 |
}
|
17 |
$this->assertEquals(
|
18 |
Mage::helper('ops/data')->__(
|
19 |
Netresearch_OPS_Model_Alias_State::ACTIVE
|
20 |
+
), $block->render($row)
|
21 |
);
|
22 |
}
|
23 |
}
|
app/code/community/Netresearch/OPS/Test/Block/Alias/ListTest.php
CHANGED
@@ -29,7 +29,7 @@ class Netresearch_OPS_Test_Block_Alias_ListTest
|
|
29 |
|
30 |
public function testGetMethodName()
|
31 |
{
|
32 |
-
$this->
|
33 |
|
34 |
Mage::app()->getStore()->setConfig('payment/ops_cc/title', 'OPS Credit Card');
|
35 |
$this->assertEquals(
|
29 |
|
30 |
public function testGetMethodName()
|
31 |
{
|
32 |
+
$this->assertEquals('', $this->block->getMethodName('something_stupid'));
|
33 |
|
34 |
Mage::app()->getStore()->setConfig('payment/ops_cc/title', 'OPS Credit Card');
|
35 |
$this->assertEquals(
|
app/code/community/Netresearch/OPS/Test/Block/Checkout/DeviceFingerprintingTest.php
CHANGED
@@ -55,7 +55,7 @@ class Netresearch_OPS_Test_Block_Checkout_DeviceFingerprintingTest
|
|
55 |
$this->assertNotEmpty($html);
|
56 |
|
57 |
$url = $block->getConsentUrl();
|
58 |
-
$this->
|
59 |
}
|
60 |
|
61 |
/**
|
@@ -70,6 +70,6 @@ class Netresearch_OPS_Test_Block_Checkout_DeviceFingerprintingTest
|
|
70 |
$this->assertEmpty($html);
|
71 |
|
72 |
$url = $block->getConsentUrl();
|
73 |
-
$this->
|
74 |
}
|
75 |
}
|
55 |
$this->assertNotEmpty($html);
|
56 |
|
57 |
$url = $block->getConsentUrl();
|
58 |
+
$this->assertContains('ops/device/', $url);
|
59 |
}
|
60 |
|
61 |
/**
|
70 |
$this->assertEmpty($html);
|
71 |
|
72 |
$url = $block->getConsentUrl();
|
73 |
+
$this->assertContains('ops/device/', $url);
|
74 |
}
|
75 |
}
|
app/code/community/Netresearch/OPS/Test/Block/Form/CcTest.php
CHANGED
@@ -356,7 +356,7 @@ class Netresearch_OPS_Test_Block_Form_CcTest extends EcomDev_PHPUnit_Test_Case
|
|
356 |
}
|
357 |
|
358 |
|
359 |
-
public function
|
360 |
{
|
361 |
/** @var Netresearch_OPS_Block_Form_Cc $blockMock */
|
362 |
|
@@ -368,11 +368,11 @@ class Netresearch_OPS_Test_Block_Form_CcTest extends EcomDev_PHPUnit_Test_Case
|
|
368 |
->will(
|
369 |
$this->returnValue(
|
370 |
array(new Varien_Object(
|
371 |
-
|
372 |
'pseudo_account_or_cc_no' => 'xxxxxxxxxxxx1111',
|
373 |
'brand' => 'VISA'
|
374 |
)
|
375 |
-
|
376 |
)
|
377 |
);
|
378 |
$blockMock->expects($this->any())
|
@@ -394,7 +394,7 @@ class Netresearch_OPS_Test_Block_Form_CcTest extends EcomDev_PHPUnit_Test_Case
|
|
394 |
|
395 |
$this->replaceByMock('model', 'ops/config', $modelMock);
|
396 |
|
397 |
-
$this->assertEquals('', $blockMock->getStoredAliasBrand(0));
|
398 |
}
|
399 |
|
400 |
public function testIsAliasInfoBlockEnabled()
|
356 |
}
|
357 |
|
358 |
|
359 |
+
public function testGetStoredAliasBrand()
|
360 |
{
|
361 |
/** @var Netresearch_OPS_Block_Form_Cc $blockMock */
|
362 |
|
368 |
->will(
|
369 |
$this->returnValue(
|
370 |
array(new Varien_Object(
|
371 |
+
array(
|
372 |
'pseudo_account_or_cc_no' => 'xxxxxxxxxxxx1111',
|
373 |
'brand' => 'VISA'
|
374 |
)
|
375 |
+
))
|
376 |
)
|
377 |
);
|
378 |
$blockMock->expects($this->any())
|
394 |
|
395 |
$this->replaceByMock('model', 'ops/config', $modelMock);
|
396 |
|
397 |
+
$this->assertEquals('VISA', $blockMock->getStoredAliasBrand(0));
|
398 |
}
|
399 |
|
400 |
public function testIsAliasInfoBlockEnabled()
|
app/code/community/Netresearch/OPS/Test/Block/Form/DirectDebitTest.php
CHANGED
@@ -48,285 +48,4 @@ class Netresearch_OPS_Test_Block_Form_DirectDebitTest
|
|
48 |
explode(',', 'AT, DE, NL'), $blockMock->getDirectDebitCountryIds()
|
49 |
);
|
50 |
}
|
51 |
-
|
52 |
-
public function testGetParams()
|
53 |
-
{
|
54 |
-
$sessionMock = $this->getModelMock(
|
55 |
-
'adminhtml/session', array('init', 'save')
|
56 |
-
);
|
57 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
58 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
59 |
-
$expectedResult = array(
|
60 |
-
'country' => '',
|
61 |
-
'CN' => '',
|
62 |
-
'iban' => '',
|
63 |
-
'bic' => '',
|
64 |
-
'account' => '',
|
65 |
-
'bankcode' => ''
|
66 |
-
);
|
67 |
-
$this->assertEquals($expectedResult, $block->getParams());
|
68 |
-
$newParams = array('bla' => 'foo');
|
69 |
-
$sessionMock->setData(
|
70 |
-
'ops_direct_debit_params', $newParams
|
71 |
-
);
|
72 |
-
$result = $block->getParams();
|
73 |
-
$this->assertFalse($sessionMock->hasData('ops_direct_debit_params'));
|
74 |
-
$this->assertEquals($newParams, $result);
|
75 |
-
|
76 |
-
}
|
77 |
-
|
78 |
-
public function testIsIbanFieldRequired()
|
79 |
-
{
|
80 |
-
$sessionMock = $this->getModelMock(
|
81 |
-
'adminhtml/session', array('init', 'save')
|
82 |
-
);
|
83 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
84 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
85 |
-
$this->assertTrue($block->isIbanFieldRequired());
|
86 |
-
$newParams = array('iban' => 'foo');
|
87 |
-
$sessionMock->setData(
|
88 |
-
'ops_direct_debit_params', $newParams
|
89 |
-
);
|
90 |
-
$block->getParams();
|
91 |
-
$this->assertTrue($block->isIbanFieldRequired());
|
92 |
-
$newParams = array('account' => '');
|
93 |
-
$sessionMock->setData(
|
94 |
-
'ops_direct_debit_params', $newParams
|
95 |
-
);
|
96 |
-
$block->getParams();
|
97 |
-
$this->assertTrue($block->isIbanFieldRequired());
|
98 |
-
|
99 |
-
$newParams = array('account' => '123456');
|
100 |
-
$sessionMock->setData(
|
101 |
-
'ops_direct_debit_params', $newParams
|
102 |
-
);
|
103 |
-
$block->getParams();
|
104 |
-
$this->assertFalse($block->isIbanFieldRequired());
|
105 |
-
}
|
106 |
-
|
107 |
-
public function testIsAccountFieldRequired()
|
108 |
-
{
|
109 |
-
$sessionMock = $this->getModelMock(
|
110 |
-
'adminhtml/session', array('init', 'save')
|
111 |
-
);
|
112 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
113 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
114 |
-
$this->assertTrue($block->isAccountFieldRequired());
|
115 |
-
$newParams = array('account' => 'foo');
|
116 |
-
$sessionMock->setData(
|
117 |
-
'ops_direct_debit_params', $newParams
|
118 |
-
);
|
119 |
-
$block->getParams();
|
120 |
-
$this->assertTrue($block->isAccountFieldRequired());
|
121 |
-
$newParams = array('account' => '');
|
122 |
-
$sessionMock->setData(
|
123 |
-
'ops_direct_debit_params', $newParams
|
124 |
-
);
|
125 |
-
$block->getParams();
|
126 |
-
$this->assertTrue($block->isAccountFieldRequired());
|
127 |
-
|
128 |
-
$newParams = array('account' => '123456', 'iban' => '');
|
129 |
-
$sessionMock->setData(
|
130 |
-
'ops_direct_debit_params', $newParams
|
131 |
-
);
|
132 |
-
$block->getParams();
|
133 |
-
$this->assertTrue($block->isAccountFieldRequired());
|
134 |
-
|
135 |
-
$newParams = array('account' => '123456', 'iban' => '123456');
|
136 |
-
$sessionMock->setData(
|
137 |
-
'ops_direct_debit_params', $newParams
|
138 |
-
);
|
139 |
-
$block->getParams();
|
140 |
-
$this->assertFalse($block->isAccountFieldRequired());
|
141 |
-
}
|
142 |
-
|
143 |
-
|
144 |
-
public function testIsBankCodeFieldRequired()
|
145 |
-
{
|
146 |
-
$sessionMock = $this->getModelMock(
|
147 |
-
'adminhtml/session', array('init', 'save')
|
148 |
-
);
|
149 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
150 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
151 |
-
$this->assertFalse($block->isBankCodeFieldRequired());
|
152 |
-
|
153 |
-
$newParams = array('account' => '12345');
|
154 |
-
$sessionMock->setData(
|
155 |
-
'ops_direct_debit_params', $newParams
|
156 |
-
);
|
157 |
-
$block->getParams();
|
158 |
-
$this->assertFalse($block->isBankCodeFieldRequired());
|
159 |
-
|
160 |
-
$newParams = array('account' => '123456', 'country' => 'de');
|
161 |
-
$sessionMock->setData(
|
162 |
-
'ops_direct_debit_params', $newParams
|
163 |
-
);
|
164 |
-
$block->getParams();
|
165 |
-
$this->assertTrue($block->isBankCodeFieldRequired());
|
166 |
-
}
|
167 |
-
|
168 |
-
public function testIsBankCodeFieldVisible()
|
169 |
-
{
|
170 |
-
$sessionMock = $this->getModelMock(
|
171 |
-
'adminhtml/session', array('init', 'save')
|
172 |
-
);
|
173 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
174 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
175 |
-
$this->assertFalse($block->isBankCodeFieldVisible());
|
176 |
-
$newParams = array('country' => 'at');
|
177 |
-
$sessionMock->setData(
|
178 |
-
'ops_direct_debit_params', $newParams
|
179 |
-
);
|
180 |
-
$block->getParams();
|
181 |
-
$this->assertTrue($block->isBankCodeFieldVisible());
|
182 |
-
|
183 |
-
$newParams = array('country' => 'de');
|
184 |
-
$sessionMock->setData(
|
185 |
-
'ops_direct_debit_params', $newParams
|
186 |
-
);
|
187 |
-
$block->getParams();
|
188 |
-
$this->assertTrue($block->isBankCodeFieldVisible());
|
189 |
-
|
190 |
-
$newParams = array('country' => 'nl');
|
191 |
-
$sessionMock->setData(
|
192 |
-
'ops_direct_debit_params', $newParams
|
193 |
-
);
|
194 |
-
$block->getParams();
|
195 |
-
$this->assertFalse($block->isBankCodeFieldVisible());
|
196 |
-
}
|
197 |
-
|
198 |
-
public function testIsBicFieldVisible()
|
199 |
-
{
|
200 |
-
$sessionMock = $this->getModelMock(
|
201 |
-
'adminhtml/session', array('init', 'save')
|
202 |
-
);
|
203 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
204 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
205 |
-
$this->assertFalse($block->isBicFieldVisible());
|
206 |
-
|
207 |
-
$newParams = array('country' => 'de');
|
208 |
-
$sessionMock->setData(
|
209 |
-
'ops_direct_debit_params', $newParams
|
210 |
-
);
|
211 |
-
$block->getParams();
|
212 |
-
$this->assertFalse($block->isBicFieldVisible());
|
213 |
-
|
214 |
-
$newParams = array('country' => 'at');
|
215 |
-
$sessionMock->setData(
|
216 |
-
'ops_direct_debit_params', $newParams
|
217 |
-
);
|
218 |
-
$block->getParams();
|
219 |
-
$this->assertFalse($block->isBicFieldVisible());
|
220 |
-
|
221 |
-
$newParams = array('country' => 'nl');
|
222 |
-
$sessionMock->setData(
|
223 |
-
'ops_direct_debit_params', $newParams
|
224 |
-
);
|
225 |
-
$block->getParams();
|
226 |
-
$this->assertTrue($block->isBicFieldVisible());
|
227 |
-
}
|
228 |
-
|
229 |
-
public function testGetCountry()
|
230 |
-
{
|
231 |
-
$sessionMock = $this->getModelMock(
|
232 |
-
'adminhtml/session', array('init', 'save')
|
233 |
-
);
|
234 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
235 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
236 |
-
$this->assertEquals('', $block->getCountry());
|
237 |
-
$newParams = array('country' => 'de');
|
238 |
-
$sessionMock->setData(
|
239 |
-
'ops_direct_debit_params', $newParams
|
240 |
-
);
|
241 |
-
$block->getParams();
|
242 |
-
$this->assertEquals('de', $block->getCountry());
|
243 |
-
|
244 |
-
}
|
245 |
-
|
246 |
-
public function testGetIban()
|
247 |
-
{
|
248 |
-
$sessionMock = $this->getModelMock(
|
249 |
-
'adminhtml/session', array('init', 'save')
|
250 |
-
);
|
251 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
252 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
253 |
-
$this->assertEquals('', $block->getIban());
|
254 |
-
$newParams = array('iban' => '1234567');
|
255 |
-
$sessionMock->setData(
|
256 |
-
'ops_direct_debit_params', $newParams
|
257 |
-
);
|
258 |
-
$block->getParams();
|
259 |
-
$this->assertEquals('1234567', $block->getIban());
|
260 |
-
|
261 |
-
}
|
262 |
-
|
263 |
-
public function testGetBic()
|
264 |
-
{
|
265 |
-
$sessionMock = $this->getModelMock(
|
266 |
-
'adminhtml/session', array('init', 'save')
|
267 |
-
);
|
268 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
269 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
270 |
-
$this->assertEquals('', $block->getBic());
|
271 |
-
$newParams = array('bic' => '1234567');
|
272 |
-
$sessionMock->setData(
|
273 |
-
'ops_direct_debit_params', $newParams
|
274 |
-
);
|
275 |
-
$block->getParams();
|
276 |
-
$this->assertEquals('1234567', $block->getBic());
|
277 |
-
|
278 |
-
}
|
279 |
-
|
280 |
-
public function testGetAccount()
|
281 |
-
{
|
282 |
-
$sessionMock = $this->getModelMock(
|
283 |
-
'adminhtml/session', array('init', 'save')
|
284 |
-
);
|
285 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
286 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
287 |
-
$this->assertEquals('', $block->getAccount());
|
288 |
-
$newParams = array('account' => '1234567');
|
289 |
-
$sessionMock->setData(
|
290 |
-
'ops_direct_debit_params', $newParams
|
291 |
-
);
|
292 |
-
$block->getParams();
|
293 |
-
$this->assertEquals('1234567', $block->getAccount());
|
294 |
-
|
295 |
-
}
|
296 |
-
|
297 |
-
public function testGetBankcode()
|
298 |
-
{
|
299 |
-
$sessionMock = $this->getModelMock(
|
300 |
-
'adminhtml/session', array('init', 'save')
|
301 |
-
);
|
302 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
303 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
304 |
-
$this->assertEquals('', $block->getBankcode());
|
305 |
-
$newParams = array('bankcode' => '1234567');
|
306 |
-
$sessionMock->setData(
|
307 |
-
'ops_direct_debit_params', $newParams
|
308 |
-
);
|
309 |
-
$block->getParams();
|
310 |
-
$this->assertEquals('1234567', $block->getBankcode());
|
311 |
-
|
312 |
-
}
|
313 |
-
|
314 |
-
public function testGetCardholderName()
|
315 |
-
{
|
316 |
-
$sessionMock = $this->getModelMock(
|
317 |
-
'adminhtml/session', array('init', 'save')
|
318 |
-
);
|
319 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
320 |
-
$block = new Netresearch_OPS_Block_Form_DirectDebit();
|
321 |
-
$this->assertEquals('', $block->getCardholderName());
|
322 |
-
$newParams = array('CN' => 'Hans wurst');
|
323 |
-
$sessionMock->setData(
|
324 |
-
'ops_direct_debit_params', $newParams
|
325 |
-
);
|
326 |
-
$block->getParams();
|
327 |
-
$this->assertEquals('Hans wurst', $block->getCardholderName());
|
328 |
-
|
329 |
-
}
|
330 |
-
|
331 |
-
|
332 |
}
|
48 |
explode(',', 'AT, DE, NL'), $blockMock->getDirectDebitCountryIds()
|
49 |
);
|
50 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
}
|
app/code/community/Netresearch/OPS/Test/Block/Form/Ideal.php
CHANGED
@@ -6,7 +6,7 @@ class Netresearch_OPS_Test_Block_Form_Ideal extends EcomDev_PHPUnit_Test_Case
|
|
6 |
{
|
7 |
$issuers = Mage::getModel('ops/payment_iDeal')->getIDealIssuers();
|
8 |
$block = Mage::app()->getLayout()->createBlock('ops/form_Ideal');
|
9 |
-
$this->assertEquals($issuers
|
10 |
|
11 |
}
|
12 |
}
|
6 |
{
|
7 |
$issuers = Mage::getModel('ops/payment_iDeal')->getIDealIssuers();
|
8 |
$block = Mage::app()->getLayout()->createBlock('ops/form_Ideal');
|
9 |
+
$this->assertEquals($issuers, $block->getIssuers());
|
10 |
|
11 |
}
|
12 |
}
|
app/code/community/Netresearch/OPS/Test/Block/FormTest.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
class Netresearch_OPS_Test_Block_FormTest
|
4 |
-
extends
|
5 |
{
|
6 |
private $_block;
|
7 |
|
@@ -35,99 +35,72 @@ class Netresearch_OPS_Test_Block_FormTest
|
|
35 |
$this->assertFalse($block->isUserNotRegistering());
|
36 |
}
|
37 |
|
38 |
-
|
39 |
public function testGetPmLogo()
|
40 |
{
|
41 |
$this->assertEquals(null, $this->_block->getPmLogo());
|
42 |
}
|
43 |
|
44 |
-
public function
|
45 |
{
|
46 |
-
$
|
47 |
-
$
|
48 |
-
|
49 |
-
|
50 |
-
->setMethods(array('getQuote'))
|
51 |
-
->getMock();
|
52 |
-
$sessionMock->expects($this->any())
|
53 |
-
->method('getQuote')
|
54 |
-
->will($this->returnValue($quoteMock));
|
55 |
-
$this->replaceByMock('singleton', 'checkout/session', $sessionMock);
|
56 |
-
|
57 |
-
$configMock = $this->getModelMock('ops/config', array('canSubmitExtraParameter'));
|
58 |
-
$configMock->expects($this->once())
|
59 |
-
->method('canSubmitExtraParameter')
|
60 |
-
->will($this->returnValue(false));
|
61 |
-
$this->_block->setConfig($configMock);
|
62 |
-
$this->_block->setQuote($quoteMock);
|
63 |
-
$this->assertEquals(Mage::helper('core/data')->jsonEncode(array()), $this->_block->getFrontendValidators());
|
64 |
-
}
|
65 |
|
66 |
-
public function testGetFrontendValidatorsAreEmptyDueToEmptyValidators()
|
67 |
-
{
|
68 |
-
$configMock = $this->getModelMock('ops/config', array('canSubmitExtraParameter', 'getParameterLengths'));
|
69 |
-
$configMock->expects($this->once())
|
70 |
-
->method('canSubmitExtraParameter')
|
71 |
-
->will($this->returnValue(true));
|
72 |
-
$configMock->expects($this->once())
|
73 |
-
->method('getParameterLengths')
|
74 |
-
->will($this->returnValue(array()));
|
75 |
-
|
76 |
-
$quote = Mage::getModel('sales/quote');
|
77 |
-
$blockMock = $this->getBlockMock('ops/form', array('getQuote'));
|
78 |
$blockMock->expects($this->any())
|
79 |
-
|
80 |
-
|
81 |
-
$
|
82 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
84 |
|
85 |
-
public function
|
86 |
{
|
87 |
-
$
|
88 |
-
$
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
->method('getParameterLengths')
|
93 |
-
->will($this->returnValue(array('Foo' => 50)));
|
94 |
-
|
95 |
-
$quote = Mage::getModel('sales/quote');
|
96 |
-
$blockMock = $this->getBlockMock('ops/form', array('getQuote'));
|
97 |
$blockMock->expects($this->any())
|
98 |
-
|
99 |
-
|
100 |
-
$
|
101 |
-
$this->assertEquals(Mage::helper('core/data')->jsonEncode(array()), $blockMock->getFrontendValidators());
|
102 |
-
}
|
103 |
|
|
|
104 |
|
105 |
-
|
106 |
-
|
|
|
|
|
107 |
|
108 |
-
|
|
|
|
|
|
|
109 |
|
110 |
-
$
|
111 |
-
$configMock->expects($this->once())
|
112 |
-
->method('canSubmitExtraParameter')
|
113 |
-
->will($this->returnValue(true));
|
114 |
-
$configMock->expects($this->once())
|
115 |
-
->method('getParameterLengths')
|
116 |
-
->will($this->returnValue($configValues));
|
117 |
|
118 |
-
$quote = Mage::getModel('sales/quote');
|
119 |
-
$blockMock = $this->getBlockMock('ops/form', array('getQuote'));
|
120 |
$blockMock->expects($this->any())
|
121 |
-
|
122 |
-
|
123 |
-
$
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
);
|
132 |
}
|
|
|
133 |
}
|
1 |
<?php
|
2 |
|
3 |
class Netresearch_OPS_Test_Block_FormTest
|
4 |
+
extends EcomDev_PHPUnit_Test_Case
|
5 |
{
|
6 |
private $_block;
|
7 |
|
35 |
$this->assertFalse($block->isUserNotRegistering());
|
36 |
}
|
37 |
|
|
|
38 |
public function testGetPmLogo()
|
39 |
{
|
40 |
$this->assertEquals(null, $this->_block->getPmLogo());
|
41 |
}
|
42 |
|
43 |
+
public function getMethodLabelAfterHtmlSuccess()
|
44 |
{
|
45 |
+
$method = new Varien_Object();
|
46 |
+
$method->setData('code', 'ops_cc');
|
47 |
+
|
48 |
+
$blockMock = $this->getBlockMock('ops/form', array('getMethod'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
$blockMock->expects($this->any())
|
51 |
+
->method('getMethod')
|
52 |
+
->will($this->returnValue($method));
|
53 |
+
$this->replaceByMock('block', 'ops/form', $blockMock);
|
54 |
+
|
55 |
+
$formBlock = Mage::app()->getLayout()->createBlock('ops/form');
|
56 |
+
|
57 |
+
$result = $formBlock->getMethodLabelAfterHtml();
|
58 |
+
|
59 |
+
$this->assertContains('cc.jpg', $result);
|
60 |
+
$this->assertContains(' left', $result);
|
61 |
+
|
62 |
+
$result = $formBlock->getMethodLabelAfterHtml();
|
63 |
+
|
64 |
+
$this->assertContains('store_one', $result);
|
65 |
}
|
66 |
|
67 |
+
public function getMethodLabelAfterHtmlHidden()
|
68 |
{
|
69 |
+
$method = new Varien_Object();
|
70 |
+
$method->setData('code', 'ops_dc');
|
71 |
+
|
72 |
+
$blockMock = $this->getBlockMock('ops/form', array('getMethod'));
|
73 |
+
|
|
|
|
|
|
|
|
|
|
|
74 |
$blockMock->expects($this->any())
|
75 |
+
->method('getMethod')
|
76 |
+
->will($this->returnValue($method));
|
77 |
+
$this->replaceByMock('block', 'ops/form', $blockMock);
|
|
|
|
|
78 |
|
79 |
+
$formBlock = Mage::app()->getLayout()->createBlock('ops/form');
|
80 |
|
81 |
+
$result = $formBlock->getMethodLabelAfterHtml();
|
82 |
+
|
83 |
+
$this->assertEmpty($result);
|
84 |
+
}
|
85 |
|
86 |
+
public function getMethodLabelAfterHtmlFail()
|
87 |
+
{
|
88 |
+
$method = new Varien_Object();
|
89 |
+
$method->setData('code', 'ops_iDEAL');
|
90 |
|
91 |
+
$blockMock = $this->getBlockMock('ops/form', array('getMethod'));
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
|
|
|
|
93 |
$blockMock->expects($this->any())
|
94 |
+
->method('getMethod')
|
95 |
+
->will($this->returnValue($method));
|
96 |
+
$this->replaceByMock('block', 'ops/form', $blockMock);
|
97 |
+
|
98 |
+
$formBlock = Mage::app()->getLayout()->createBlock('ops/form');
|
99 |
+
|
100 |
+
$result = $formBlock->getMethodLabelAfterHtml();
|
101 |
+
|
102 |
+
$this->assertContains('ops_iDEAL.jpg', $result);
|
103 |
+
$this->assertContains('skin/frontend', $result);
|
|
|
104 |
}
|
105 |
+
|
106 |
}
|
app/code/community/Netresearch/OPS/Test/Block/FormTest/fixtures/FormTest.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
scope:
|
2 |
+
store: # Initializes store views
|
3 |
+
# Store 1
|
4 |
+
- store_id: 1
|
5 |
+
website_id: 1
|
6 |
+
group_id: 1
|
7 |
+
code: store_one
|
8 |
+
name: Store One
|
9 |
+
is_active: 1
|
10 |
+
# Store 2
|
11 |
+
- store_id: 2
|
12 |
+
website_id: 1
|
13 |
+
group_id: 1
|
14 |
+
code: store_two
|
15 |
+
name: Store Two
|
16 |
+
is_active: 1
|
17 |
+
|
18 |
+
config:
|
19 |
+
default/payment/ops_dc/position: hidden
|
20 |
+
default/payment/ops_cc/position: left
|
21 |
+
default/payment/ops_cc/image: default/cc.jpg
|
22 |
+
stores/store_one/payment/ops_cc/image: store_one/cc.jpg
|
app/code/community/Netresearch/OPS/Test/Block/FrauddetectionTest.php
CHANGED
@@ -1,9 +1,19 @@
|
|
1 |
<?php
|
2 |
|
3 |
class Netresearch_OPS_Test_Block_FrauddetectionTest
|
4 |
-
extends
|
5 |
{
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
public function testToHtml()
|
8 |
{
|
9 |
$block = Mage::app()->getLayout()->getBlockSingleton('ops/frauddetection');
|
@@ -15,7 +25,10 @@ class Netresearch_OPS_Test_Block_FrauddetectionTest
|
|
15 |
->will($this->returnValue(true));
|
16 |
$this->replaceByMock('model', 'ops/config', $configMock);
|
17 |
|
18 |
-
$sessionMock = $this->
|
|
|
|
|
|
|
19 |
$sessionMock->expects($this->once())
|
20 |
->method('getData')
|
21 |
->with(Netresearch_OPS_Model_Payment_Abstract::FINGERPRINT_CONSENT_SESSION_KEY)
|
@@ -49,4 +62,4 @@ class Netresearch_OPS_Test_Block_FrauddetectionTest
|
|
49 |
$this->assertEquals(md5(Mage::getModel('ops/config')->getPSPID() . '#123456'), $block->getTrackingSid());
|
50 |
}
|
51 |
|
52 |
-
}
|
1 |
<?php
|
2 |
|
3 |
class Netresearch_OPS_Test_Block_FrauddetectionTest
|
4 |
+
extends EcomDev_PHPUnit_Test_Case
|
5 |
{
|
6 |
|
7 |
+
private $store;
|
8 |
+
|
9 |
+
public function setUp()
|
10 |
+
{
|
11 |
+
@session_start();
|
12 |
+
parent::setUp();
|
13 |
+
$this->store = Mage::app()->getStore(0)->load(0);
|
14 |
+
$this->store->resetConfig();
|
15 |
+
}
|
16 |
+
|
17 |
public function testToHtml()
|
18 |
{
|
19 |
$block = Mage::app()->getLayout()->getBlockSingleton('ops/frauddetection');
|
25 |
->will($this->returnValue(true));
|
26 |
$this->replaceByMock('model', 'ops/config', $configMock);
|
27 |
|
28 |
+
$sessionMock = $this->getModelMockBuilder('customer/session')
|
29 |
+
->disableOriginalConstructor()
|
30 |
+
->setMethods(array('getData'))
|
31 |
+
->getMock();
|
32 |
$sessionMock->expects($this->once())
|
33 |
->method('getData')
|
34 |
->with(Netresearch_OPS_Model_Payment_Abstract::FINGERPRINT_CONSENT_SESSION_KEY)
|
62 |
$this->assertEquals(md5(Mage::getModel('ops/config')->getPSPID() . '#123456'), $block->getTrackingSid());
|
63 |
}
|
64 |
|
65 |
+
}
|
app/code/community/Netresearch/OPS/Test/Block/PlaceformTest.php
CHANGED
@@ -4,12 +4,24 @@ class Netresearch_OPS_Test_Block_PlaceformTest extends EcomDev_PHPUnit_Test_Case
|
|
4 |
public function testGetFormAction()
|
5 |
{
|
6 |
$this->mockSessions();
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
//$block = Mage::app()->getLayout()->getBlockSingleton('ops/placeform');
|
8 |
-
$blockMock = $this->getBlockMock('ops/placeform', array('getQuestion'));
|
9 |
$blockMock->expects($this->any())
|
10 |
->method('getQuestion')
|
11 |
->will($this->returnValue('How much is the fish?'));
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
$action = $blockMock->getFormAction();
|
14 |
$this->assertEquals(Mage::getUrl('*/*/*', array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())), $action);
|
15 |
|
@@ -18,11 +30,17 @@ class Netresearch_OPS_Test_Block_PlaceformTest extends EcomDev_PHPUnit_Test_Case
|
|
18 |
$action = $blockMock->getFormAction();
|
19 |
$this->assertEquals(Mage::getUrl('*/*/*', array('_secure' =>true)), $action);
|
20 |
|
21 |
-
$blockMock = $this->getBlockMock('ops/placeform', array('getQuestion'));
|
22 |
$blockMock->expects($this->any())
|
23 |
->method('getQuestion')
|
24 |
->will($this->returnValue(null));
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
$action = $blockMock->getFormAction();
|
27 |
$this->assertEquals($blockMock->getConfig()->getFrontendGatewayPath(), $action);
|
28 |
}
|
4 |
public function testGetFormAction()
|
5 |
{
|
6 |
$this->mockSessions();
|
7 |
+
|
8 |
+
$order = Mage::getModel('sales/order');
|
9 |
+
$payment = Mage::getModel('sales/order_payment');
|
10 |
+
$payment->setMethod('ops_openInvoiceDe');
|
11 |
+
$order->setPayment($payment);
|
12 |
+
|
13 |
//$block = Mage::app()->getLayout()->getBlockSingleton('ops/placeform');
|
14 |
+
$blockMock = $this->getBlockMock('ops/placeform', array('getQuestion', '_getOrder'));
|
15 |
$blockMock->expects($this->any())
|
16 |
->method('getQuestion')
|
17 |
->will($this->returnValue('How much is the fish?'));
|
18 |
|
19 |
+
|
20 |
+
$blockMock->expects($this->any())
|
21 |
+
->method('_getOrder')
|
22 |
+
->will($this->returnValue($order));
|
23 |
+
|
24 |
+
|
25 |
$action = $blockMock->getFormAction();
|
26 |
$this->assertEquals(Mage::getUrl('*/*/*', array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())), $action);
|
27 |
|
30 |
$action = $blockMock->getFormAction();
|
31 |
$this->assertEquals(Mage::getUrl('*/*/*', array('_secure' =>true)), $action);
|
32 |
|
33 |
+
$blockMock = $this->getBlockMock('ops/placeform', array('getQuestion', '_getOrder'));
|
34 |
$blockMock->expects($this->any())
|
35 |
->method('getQuestion')
|
36 |
->will($this->returnValue(null));
|
37 |
|
38 |
+
$blockMock->expects($this->any())
|
39 |
+
->method('_getOrder')
|
40 |
+
->will($this->returnValue($order));
|
41 |
+
|
42 |
+
|
43 |
+
|
44 |
$action = $blockMock->getFormAction();
|
45 |
$this->assertEquals($blockMock->getConfig()->getFrontendGatewayPath(), $action);
|
46 |
}
|
app/code/community/Netresearch/OPS/Test/Block/RetryPayment/MethodsTest.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Methods.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
28 |
+
*/
|
29 |
+
class Netresearch_OPS_Test_Block_RetryPayment_MethodsTest extends EcomDev_PHPUnit_Test_Case
|
30 |
+
{
|
31 |
+
/**
|
32 |
+
* @test
|
33 |
+
*/
|
34 |
+
public function getMethods()
|
35 |
+
{
|
36 |
+
$this->mockSessions();
|
37 |
+
|
38 |
+
/** @var Netresearch_OPS_Block_RetryPayment_Methods $retryBlockMock */
|
39 |
+
$retryBlockMock = $this->getBlockMock('ops/retryPayment_methods', array('_canUseMethod'));
|
40 |
+
$retryBlockMock->expects($this->any())
|
41 |
+
->method('_canUseMethod')
|
42 |
+
->will($this->returnValue(true));
|
43 |
+
|
44 |
+
$method = Mage::getModel('ops/payment_ops_cc');
|
45 |
+
$retryBlockMock->setMethods(array($method));
|
46 |
+
|
47 |
+
$paymentMethodMock = $this->getModelMock('ops/payment_abstract', array('isApplicableToQuote'));
|
48 |
+
$paymentMethodMock->expects($this->any())
|
49 |
+
->method('isApplicableToQuote')
|
50 |
+
->will($this->returnValue(true));
|
51 |
+
|
52 |
+
$paymentHelperMock = $this->getHelperMock('payment', array('getStoreMethods'));
|
53 |
+
$paymentHelperMock->expects($this->any())
|
54 |
+
->method('getStoreMethods')
|
55 |
+
->will($this->returnValue(array($paymentMethodMock)));
|
56 |
+
$this->replaceByMock('helper', 'payment', $paymentHelperMock);
|
57 |
+
|
58 |
+
$result = $retryBlockMock->getMethods();
|
59 |
+
|
60 |
+
$this->assertInternalType('array', $result);
|
61 |
+
$this->assertEquals(1, count($result));
|
62 |
+
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Helper Function to remove Session Errors
|
67 |
+
*/
|
68 |
+
protected function mockSessions()
|
69 |
+
{
|
70 |
+
$sessionMock = $this->getModelMockBuilder('admin/session')
|
71 |
+
->disableOriginalConstructor()// This one removes session_start and other methods usage
|
72 |
+
->getMock();
|
73 |
+
$this->replaceByMock('singleton', 'admin/session', $sessionMock);
|
74 |
+
|
75 |
+
$sessionMock = $this->getModelMockBuilder('checkout/session')
|
76 |
+
->disableOriginalConstructor()// This one removes session_start and other methods usage
|
77 |
+
->getMock();
|
78 |
+
$this->replaceByMock('singleton', 'core/session', $sessionMock);
|
79 |
+
|
80 |
+
$sessionMock = $this->getModelMockBuilder('customer/session')
|
81 |
+
->disableOriginalConstructor()// This one removes session_start and other methods usage
|
82 |
+
->getMock();
|
83 |
+
$this->replaceByMock('singleton', 'customer/session', $sessionMock);
|
84 |
+
}
|
85 |
+
|
86 |
+
}
|
app/code/community/Netresearch/OPS/Test/Block/RetryPaymentTest.php
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* RetryPaymentTest.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
28 |
+
*/
|
29 |
+
class Netresearch_OPS_Test_Block_RetryPaymentTest extends EcomDev_PHPUnit_Test_Case
|
30 |
+
{
|
31 |
+
/**
|
32 |
+
* @test
|
33 |
+
*/
|
34 |
+
public function getFormAction()
|
35 |
+
{
|
36 |
+
$this->mockSessions();
|
37 |
+
$retryBlock = new Netresearch_OPS_Block_RetryPayment();
|
38 |
+
|
39 |
+
$result = $retryBlock->getFormAction();
|
40 |
+
|
41 |
+
$this->assertInternalType('string', $result);
|
42 |
+
$this->assertContains('http', $result);
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @test
|
48 |
+
*/
|
49 |
+
public function getCancelUrl()
|
50 |
+
{
|
51 |
+
$this->mockSessions();
|
52 |
+
$retryBlock = new Netresearch_OPS_Block_RetryPayment();
|
53 |
+
|
54 |
+
$result = $retryBlock->getCancelUrl();
|
55 |
+
|
56 |
+
$this->assertInternalType('string', $result);
|
57 |
+
$this->assertContains('http', $result);
|
58 |
+
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @test
|
63 |
+
*/
|
64 |
+
public function getOrderId()
|
65 |
+
{
|
66 |
+
$this->mockSessions();
|
67 |
+
$retryBlock = new Netresearch_OPS_Block_RetryPayment();
|
68 |
+
$orderId = '100000023';
|
69 |
+
|
70 |
+
Mage::app()->getRequest()->setParam('orderID', $orderId);
|
71 |
+
|
72 |
+
$result = $retryBlock->getOrderId();
|
73 |
+
|
74 |
+
$this->assertContains($orderId, $result);
|
75 |
+
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Helper Function to remove Session Errors
|
80 |
+
*/
|
81 |
+
protected function mockSessions()
|
82 |
+
{
|
83 |
+
$sessionMock = $this->getModelMockBuilder('checkout/session')
|
84 |
+
->disableOriginalConstructor()// This one removes session_start and other methods usage
|
85 |
+
->getMock();
|
86 |
+
$this->replaceByMock('singleton', 'core/session', $sessionMock);
|
87 |
+
|
88 |
+
$sessionMock = $this->getModelMockBuilder('customer/session')
|
89 |
+
->disableOriginalConstructor()// This one removes session_start and other methods usage
|
90 |
+
->getMock();
|
91 |
+
$this->replaceByMock('singleton', 'customer/session', $sessionMock);
|
92 |
+
}
|
93 |
+
|
94 |
+
}
|
app/code/community/Netresearch/OPS/Test/Block/System/Config/Form/Field/ImageTest.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category OPS
|
20 |
+
* @package Netresearch_OPS
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Netresearch_OPS_Test_Block_System_Config_ImageTest
|
29 |
+
*
|
30 |
+
* @category OPS
|
31 |
+
* @package Netresearch_OPS
|
32 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Netresearch_OPS_Test_Block_System_Config_Form_Field_ImageTest
|
37 |
+
extends EcomDev_PHPUnit_Test_Case
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @test
|
41 |
+
*/
|
42 |
+
public function getElementHtml()
|
43 |
+
{
|
44 |
+
$blockMock =
|
45 |
+
$this->getBlockMock('ops/system_config_form_field_image', array('getHtmlId', '_getDeleteCheckbox'), false,
|
46 |
+
array(), '', false
|
47 |
+
);
|
48 |
+
|
49 |
+
$blockMock->expects($this->any())
|
50 |
+
->method('getHtmlId')
|
51 |
+
->will($this->returnValue('112'));
|
52 |
+
$blockMock->expects($this->any())
|
53 |
+
->method('_getDeleteCheckbox')
|
54 |
+
->will($this->returnValue(''));
|
55 |
+
|
56 |
+
/** @var Netresearch_OPS_Block_System_Config_Form_Field_Image $imageBlock */
|
57 |
+
$blockMock->setData('name', 'groups[ops_cc][fields][image][value]');
|
58 |
+
|
59 |
+
$result = $blockMock->getElementHtml();
|
60 |
+
|
61 |
+
$this->assertInternalType('string', $result);
|
62 |
+
$this->assertContains('ops/logos/ops_cc.png', $result);
|
63 |
+
|
64 |
+
/* Fill the Block with an Url */
|
65 |
+
$simpleXmlElement = new Varien_Simplexml_Element('<xml><base_url>ingenico/test</base_url></xml>');
|
66 |
+
$blockMock->setData('value', 'default/img.png');
|
67 |
+
$blockMock->setData('field_config', $simpleXmlElement);
|
68 |
+
$result = $blockMock->getElementHtml();
|
69 |
+
$this->assertInternalType('string', $result);
|
70 |
+
$this->assertContains('ingenico/test', $result);
|
71 |
+
}
|
72 |
+
|
73 |
+
}
|
app/code/community/Netresearch/OPS/Test/Block/System/Config/ModeTest.php
CHANGED
@@ -1,20 +1,21 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* ModeTest.php
|
4 |
-
* @author paul.siedler@netresearch.de
|
5 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
-
*/
|
8 |
-
|
9 |
-
class Netresearch_OPS_Test_Block_System_Config_ModeTest extends EcomDev_PHPUnit_Test_Case
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
$element
|
15 |
-
$
|
16 |
-
$
|
17 |
-
$
|
18 |
-
|
19 |
-
|
20 |
-
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* ModeTest.php
|
4 |
+
* @author paul.siedler@netresearch.de
|
5 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
+
*/
|
8 |
+
|
9 |
+
class Netresearch_OPS_Test_Block_System_Config_ModeTest extends EcomDev_PHPUnit_Test_Case
|
10 |
+
{
|
11 |
+
|
12 |
+
public function testGetElementHtmlContainsScriptTag()
|
13 |
+
{
|
14 |
+
$element = new Varien_Data_Form_Element_Select();
|
15 |
+
$element->setForm(new Varien_Object());
|
16 |
+
$block = new Netresearch_OPS_Block_System_Config_Mode();
|
17 |
+
$html = $block->render($element);
|
18 |
+
$this->assertTrue(preg_match('/<script/', $html) > 0);
|
19 |
+
}
|
20 |
+
|
21 |
+
}
|
app/code/community/Netresearch/OPS/Test/Controller/Adminhtml/AdminControllerTest.php
CHANGED
@@ -1,80 +1,82 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* AdminControllerTest.php
|
5 |
-
* @author paul.siedler@netresearch.de
|
6 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
7 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
8 |
-
*/
|
9 |
-
|
10 |
-
class Netresearch_OPS_Test_Controller_Adminhtml_AdminControllerTest extends EcomDev_PHPUnit_Test_Case_Controller
|
11 |
-
{
|
12 |
-
|
13 |
-
public function setUp()
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
$mailFeatureMock
|
28 |
-
|
29 |
-
->
|
30 |
-
|
31 |
-
|
32 |
-
->
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
$orderMock
|
37 |
-
|
38 |
-
->
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
$mailFeatureMock
|
48 |
-
|
49 |
-
->
|
50 |
-
|
51 |
-
|
52 |
-
->
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
$orderMock
|
57 |
-
|
58 |
-
->
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
->
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
}
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AdminControllerTest.php
|
5 |
+
* @author paul.siedler@netresearch.de
|
6 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
7 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
8 |
+
*/
|
9 |
+
|
10 |
+
class Netresearch_OPS_Test_Controller_Adminhtml_AdminControllerTest extends EcomDev_PHPUnit_Test_Case_Controller
|
11 |
+
{
|
12 |
+
|
13 |
+
public function setUp()
|
14 |
+
{
|
15 |
+
parent::setUp();
|
16 |
+
|
17 |
+
$nodePath = "modules/Enterprise_AdminGws/active";
|
18 |
+
if (Mage::helper('core/data')->isModuleEnabled('Enterprise_AdminGws')) {
|
19 |
+
Mage::getConfig()->setNode($nodePath, 'false', true);
|
20 |
+
}
|
21 |
+
|
22 |
+
$this->fakeAdminUser();
|
23 |
+
}
|
24 |
+
|
25 |
+
public function testResendInfoActionWillSucceed()
|
26 |
+
{
|
27 |
+
$mailFeatureMock = $this->getModelMock('ops/payment_features_paymentEmail', array('resendPaymentInfo', 'isAvailableForOrder'));
|
28 |
+
$mailFeatureMock->expects($this->any())
|
29 |
+
->method('isAvailableForOrder')
|
30 |
+
->will($this->returnValue(true));
|
31 |
+
$mailFeatureMock->expects($this->once())
|
32 |
+
->method('resendPaymentInfo')
|
33 |
+
->will($this->returnValue(true));
|
34 |
+
$this->replaceByMock('model', 'ops/payment_features_paymentEmail', $mailFeatureMock);
|
35 |
+
|
36 |
+
$orderMock = $this->getModelMock('sales/order', array('load'));
|
37 |
+
$orderMock->expects($this->once())
|
38 |
+
->method('load')
|
39 |
+
->will($this->returnValue($orderMock));
|
40 |
+
$this->replaceByMock('model', 'sales/order', $orderMock);
|
41 |
+
|
42 |
+
$this->dispatch('adminhtml/admin/resendInfo', array('order_id' => 1));
|
43 |
+
}
|
44 |
+
|
45 |
+
public function testResendInfoActionWillFail()
|
46 |
+
{
|
47 |
+
$mailFeatureMock = $this->getModelMock('ops/payment_features_paymentEmail', array('resendPaymentInfo', 'isAvailableForOrder'));
|
48 |
+
$mailFeatureMock->expects($this->any())
|
49 |
+
->method('isAvailableForOrder')
|
50 |
+
->will($this->returnValue(true));
|
51 |
+
$mailFeatureMock->expects($this->once())
|
52 |
+
->method('resendPaymentInfo')
|
53 |
+
->will($this->returnValue(false));
|
54 |
+
$this->replaceByMock('model', 'ops/payment_features_paymentEmail', $mailFeatureMock);
|
55 |
+
|
56 |
+
$orderMock = $this->getModelMock('sales/order', array('load'));
|
57 |
+
$orderMock->expects($this->once())
|
58 |
+
->method('load')
|
59 |
+
->will($this->returnValue($orderMock));
|
60 |
+
$this->replaceByMock('model', 'sales/order', $orderMock);
|
61 |
+
|
62 |
+
$this->dispatch('adminhtml/admin/resendInfo', array('order_id' => 1));
|
63 |
+
}
|
64 |
+
|
65 |
+
protected function fakeAdminUser()
|
66 |
+
{
|
67 |
+
$fakeUser = $this->getModelMock('admin/user', array('getId', 'getRole'));
|
68 |
+
$fakeUser->expects($this->any())
|
69 |
+
->method('getId')
|
70 |
+
->will($this->returnValue(1));
|
71 |
+
|
72 |
+
$adminSessionMock = $this->getModelMock('admin/session', array('isAllowed', 'init', 'save', 'getUser'));
|
73 |
+
$adminSessionMock->expects($this->any())
|
74 |
+
->method('isAllowed')
|
75 |
+
->will($this->returnValue(true));
|
76 |
+
$adminSessionMock->expects($this->any())
|
77 |
+
->method('getUser')
|
78 |
+
->will($this->returnValue($fakeUser));
|
79 |
+
$this->replaceByMock('model', 'admin/session', $adminSessionMock);
|
80 |
+
}
|
81 |
+
|
82 |
+
}
|
app/code/community/Netresearch/OPS/Test/Controller/Adminhtml/KwixoshippingControllerTest.php
CHANGED
@@ -79,10 +79,11 @@ class Netresearch_OPS_Test_Controller_Adminhtml_KwixoshippingControllerTest
|
|
79 |
$postData = array(
|
80 |
'form_key' => '1234',
|
81 |
'flatrate' => array(
|
82 |
-
'kwixo_shipping_type' =>
|
83 |
-
'kwixo_shipping_speed' =>
|
84 |
'kwixo_shipping_details' => 'foo'
|
85 |
-
)
|
|
|
86 |
);
|
87 |
$this->getRequest()->setPost($postData);
|
88 |
$this->getRequest()->setMethod('POST');
|
@@ -94,8 +95,8 @@ class Netresearch_OPS_Test_Controller_Adminhtml_KwixoshippingControllerTest
|
|
94 |
// assure that saving the data worked properly
|
95 |
|
96 |
$this->assertEquals('flatrate', $kwixoModel->getShippingCode());
|
97 |
-
$this->assertEquals(
|
98 |
-
$this->assertEquals(
|
99 |
$this->assertEquals('foo', $kwixoModel->getKwixoShippingDetails());
|
100 |
}
|
101 |
|
@@ -111,7 +112,8 @@ class Netresearch_OPS_Test_Controller_Adminhtml_KwixoshippingControllerTest
|
|
111 |
'kwixo_shipping_type' => -1,
|
112 |
'kwixo_shipping_speed' => 'abc',
|
113 |
'kwixo_shipping_details' => 'foo'
|
114 |
-
)
|
|
|
115 |
);
|
116 |
$this->getRequest()->setPost($postData);
|
117 |
$this->getRequest()->setMethod('POST');
|
@@ -128,21 +130,4 @@ class Netresearch_OPS_Test_Controller_Adminhtml_KwixoshippingControllerTest
|
|
128 |
$this->assertNotEquals('foo', $kwixoModel->getKwixoShippingDetails());
|
129 |
}
|
130 |
|
131 |
-
public function testDeleteNotFoundAction()
|
132 |
-
{
|
133 |
-
$this->dispatch('adminhtml/kwixoshipping/delete', array());
|
134 |
-
$headers = $this->getResponse()->getHeaders();
|
135 |
-
$notFound = false;
|
136 |
-
foreach ($headers as $header) {
|
137 |
-
if ($header['name'] == 'Status'
|
138 |
-
&& $header['value'] == '404 File not found'
|
139 |
-
) {
|
140 |
-
$notFound = true;
|
141 |
-
break;
|
142 |
-
}
|
143 |
-
}
|
144 |
-
$this->assertTrue($notFound);
|
145 |
-
|
146 |
-
}
|
147 |
-
|
148 |
}
|
79 |
$postData = array(
|
80 |
'form_key' => '1234',
|
81 |
'flatrate' => array(
|
82 |
+
'kwixo_shipping_type' => 2,
|
83 |
+
'kwixo_shipping_speed' => 2,
|
84 |
'kwixo_shipping_details' => 'foo'
|
85 |
+
),
|
86 |
+
'foobar' => 'barfoo'
|
87 |
);
|
88 |
$this->getRequest()->setPost($postData);
|
89 |
$this->getRequest()->setMethod('POST');
|
95 |
// assure that saving the data worked properly
|
96 |
|
97 |
$this->assertEquals('flatrate', $kwixoModel->getShippingCode());
|
98 |
+
$this->assertEquals(2, $kwixoModel->getKwixoShippingType());
|
99 |
+
$this->assertEquals(2, $kwixoModel->getKwixoShippingSpeed());
|
100 |
$this->assertEquals('foo', $kwixoModel->getKwixoShippingDetails());
|
101 |
}
|
102 |
|
112 |
'kwixo_shipping_type' => -1,
|
113 |
'kwixo_shipping_speed' => 'abc',
|
114 |
'kwixo_shipping_details' => 'foo'
|
115 |
+
),
|
116 |
+
'foobar' => 'barfoo'
|
117 |
);
|
118 |
$this->getRequest()->setPost($postData);
|
119 |
$this->getRequest()->setMethod('POST');
|
130 |
$this->assertNotEquals('foo', $kwixoModel->getKwixoShippingDetails());
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
app/code/community/Netresearch/OPS/Test/Controller/AliasControllerTest.php
CHANGED
@@ -1,106 +1,125 @@
|
|
1 |
-
<?php
|
2 |
-
class Netresearch_OPS_Test_Controller_AliasControllerTest
|
3 |
-
extends EcomDev_PHPUnit_Test_Case_Controller
|
4 |
-
{
|
5 |
-
|
6 |
-
|
7 |
-
{
|
8 |
-
$quote = Mage::getModel('sales/quote');
|
9 |
-
$payment = Mage::getModel('sales/quote_payment');
|
10 |
-
$quote->setPayment($payment);
|
11 |
-
$sessionMock = $this->getModelMock('checkout/session', array('getQuote'));
|
12 |
-
$sessionMock->expects($this->any())
|
13 |
-
->method('getQuote')
|
14 |
-
->will($this->returnValue($quote));
|
15 |
-
$this->replaceByMock('singleton', 'checkout/session', $sessionMock);
|
16 |
-
$aliasHelperMock = $this->getHelperMock('ops/alias', array('saveAlias', 'setAliasToPayment'));
|
17 |
-
$this->replaceByMock('helper', 'ops/alias', $aliasHelperMock);
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
$this->
|
26 |
-
$
|
27 |
-
$this->
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
$this->
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
);
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
$this->
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
$this->
|
62 |
-
|
63 |
-
|
64 |
-
'
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
$configHelperMock
|
69 |
-
|
70 |
-
->
|
71 |
-
->
|
72 |
-
|
73 |
-
|
74 |
-
->
|
75 |
-
->
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
$
|
80 |
-
$
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
'
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
)
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
->
|
94 |
-
->
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
$
|
100 |
-
|
101 |
-
|
102 |
-
$
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Netresearch_OPS_Test_Controller_AliasControllerTest
|
3 |
+
extends EcomDev_PHPUnit_Test_Case_Controller
|
4 |
+
{
|
5 |
+
|
6 |
+
protected function prepareAliasControllerTest()
|
7 |
+
{
|
8 |
+
$quote = Mage::getModel('sales/quote');
|
9 |
+
$payment = Mage::getModel('sales/quote_payment');
|
10 |
+
$quote->setPayment($payment);
|
11 |
+
$sessionMock = $this->getModelMock('checkout/session', array('getQuote'));
|
12 |
+
$sessionMock->expects($this->any())
|
13 |
+
->method('getQuote')
|
14 |
+
->will($this->returnValue($quote));
|
15 |
+
$this->replaceByMock('singleton', 'checkout/session', $sessionMock);
|
16 |
+
$aliasHelperMock = $this->getHelperMock('ops/alias', array('saveAlias', 'setAliasToPayment'));
|
17 |
+
$this->replaceByMock('helper', 'ops/alias', $aliasHelperMock);
|
18 |
+
return 'ops/alias/accept';
|
19 |
+
}
|
20 |
+
|
21 |
+
|
22 |
+
public function testAcceptAliasActionSuccess()
|
23 |
+
{
|
24 |
+
|
25 |
+
$routeToDispatch = $this->prepareAliasControllerTest();
|
26 |
+
$params = array('Alias_AliasId' => '4711', 'Alias_OrderId' => '0');
|
27 |
+
$this->dispatch($routeToDispatch, $params);
|
28 |
+
$result = $this->getResponse()->getOutputBody();
|
29 |
+
$this->assertEquals($result, "<script type='application/javascript'>window.onload = function() { top.document.fire('alias:success', '4711'); };</script>");
|
30 |
+
|
31 |
+
$params = array('Alias_AliasId' => '4711', 'Card_CVC' => '123', 'Alias_OrderId' => '0');
|
32 |
+
$this->dispatch($routeToDispatch, $params);
|
33 |
+
$result = $this->getResponse()->getOutputBody();
|
34 |
+
$this->assertEquals($result, "<script type='application/javascript'>window.onload = function() { top.document.fire('alias:success', '4711'); };</script>");
|
35 |
+
|
36 |
+
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
public function testAcceptAliasActionException()
|
41 |
+
{
|
42 |
+
$routeToDispatch = $this->prepareAliasControllerTest();
|
43 |
+
|
44 |
+
$this->dispatch($routeToDispatch, array('Alias_OrderId' => '0'));
|
45 |
+
$result = $this->getResponse()->getOutputBody();
|
46 |
+
$this->assertEquals($result, "<script type='application/javascript'>window.onload = function() { top.document.fire('alias:failure'); };</script>");
|
47 |
+
}
|
48 |
+
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @loadFixture orders.yaml
|
52 |
+
*/
|
53 |
+
public function testGenerateHashAction()
|
54 |
+
{
|
55 |
+
|
56 |
+
$fakeQuote = Mage::getModel('sales/order')->load(11);
|
57 |
+
$quoteMock = $this->getModelMock('sales/quote', array('load', 'save'));
|
58 |
+
$quoteMock->expects($this->any())
|
59 |
+
->method('load')
|
60 |
+
->will($this->returnValue($fakeQuote));
|
61 |
+
$this->replaceByMock('model', 'sales/quote', $quoteMock);
|
62 |
+
$params = array(
|
63 |
+
'alias' => 4711,
|
64 |
+
'storeId' => 1
|
65 |
+
);
|
66 |
+
|
67 |
+
$configHelperMock = $this->getModelMock('ops/config', array('getAliasAcceptUrl', 'getAliasExceptionUrl'));
|
68 |
+
$configHelperMock->expects($this->any())
|
69 |
+
->method('getAliasAcceptUrl')
|
70 |
+
->with(1)
|
71 |
+
->will($this->returnValue(1));
|
72 |
+
$configHelperMock->expects($this->any())
|
73 |
+
->method('getAliasExceptionUrl')
|
74 |
+
->with(1)
|
75 |
+
->will($this->returnValue(1));
|
76 |
+
$this->replaceByMock('model', 'ops/config', $configHelperMock);
|
77 |
+
|
78 |
+
$this->dispatch('ops/alias/generateHash', $params);
|
79 |
+
$result = Mage::helper('core')->jsonDecode($this->getResponse()->getOutputBody());
|
80 |
+
$this->assertArrayHasKey('hash', $result);
|
81 |
+
|
82 |
+
$params = array(
|
83 |
+
'alias' => 4712,
|
84 |
+
'storeId' => 0
|
85 |
+
);
|
86 |
+
|
87 |
+
$configHelperMock = $this->getModelMock('ops/config', array('getAliasAcceptUrl', 'getAliasExceptionUrl'));
|
88 |
+
$configHelperMock->expects($this->any())
|
89 |
+
->method('getAliasAcceptUrl')
|
90 |
+
->with(0)
|
91 |
+
->will($this->returnValue(1));
|
92 |
+
$configHelperMock->expects($this->any())
|
93 |
+
->method('getAliasExceptionUrl')
|
94 |
+
->with(0)
|
95 |
+
->will($this->returnValue(1));
|
96 |
+
$this->replaceByMock('model', 'ops/config', $configHelperMock);
|
97 |
+
|
98 |
+
$this->dispatch('ops/alias/generateHash', $params);
|
99 |
+
$result = Mage::helper('core')->jsonDecode($this->getResponse()->getOutputBody());
|
100 |
+
$this->assertArrayHasKey('hash', $result);
|
101 |
+
|
102 |
+
$params = array(
|
103 |
+
'alias' => 4713,
|
104 |
+
'storeId' => 1,
|
105 |
+
'isAdmin' => 1,
|
106 |
+
'brand' => 'visa'
|
107 |
+
);
|
108 |
+
|
109 |
+
$configHelperMock = $this->getModelMock('ops/config', array('getAliasAcceptUrl', 'getAliasExecptionUrl'));
|
110 |
+
$configHelperMock->expects($this->any())
|
111 |
+
->method('getAliasAcceptUrl')
|
112 |
+
->with(0)
|
113 |
+
->will($this->returnValue(1));
|
114 |
+
$configHelperMock->expects($this->any())
|
115 |
+
->method('getAliasExceptionUrl')
|
116 |
+
->with(0)
|
117 |
+
->will($this->returnValue(1));
|
118 |
+
$this->replaceByMock('model', 'ops/config', $configHelperMock);
|
119 |
+
|
120 |
+
$this->dispatch('ops/alias/generateHash', $params);
|
121 |
+
$result = Mage::helper('core')->jsonDecode($this->getResponse()->getOutputBody());
|
122 |
+
$this->assertArrayHasKey('hash', $result);
|
123 |
+
|
124 |
+
}
|
125 |
+
}
|
app/code/community/Netresearch/OPS/Test/Controller/PaymentControllerTest.php
CHANGED
@@ -1,9 +1,36 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
4 |
extends EcomDev_PHPUnit_Test_Case_Controller
|
5 |
{
|
6 |
-
|
7 |
public function setUp()
|
8 |
{
|
9 |
parent::setUp();
|
@@ -15,7 +42,7 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
15 |
'handleException',
|
16 |
'getSHAInSet',
|
17 |
'refillCart'
|
18 |
-
|
19 |
);
|
20 |
$helperMock->expects($this->any())
|
21 |
->method('shaCryptValidation')
|
@@ -29,23 +56,17 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
29 |
*/
|
30 |
public function testAcceptAction()
|
31 |
{
|
32 |
-
$params = array();
|
33 |
-
$this->dispatch('ops/payment/accept', $params);
|
34 |
-
$this->assertRedirect('checkout/cart');
|
35 |
-
|
36 |
-
|
37 |
$params = array(
|
38 |
'orderID' => '#100000011'
|
39 |
);
|
40 |
$this->dispatch('ops/payment/accept', $params);
|
41 |
-
$this->
|
42 |
|
43 |
$params = array(
|
44 |
'orderID' => '23'
|
45 |
);
|
46 |
$this->dispatch('ops/payment/accept', $params);
|
47 |
-
$this->
|
48 |
-
|
49 |
}
|
50 |
|
51 |
/**
|
@@ -53,22 +74,36 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
53 |
*/
|
54 |
public function testExceptionAction()
|
55 |
{
|
56 |
-
$
|
57 |
-
$
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
-
$params = array(
|
61 |
-
'orderID' => '#100000011'
|
62 |
-
);
|
63 |
$this->dispatch('ops/payment/exception', $params);
|
64 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
$params = array(
|
67 |
-
'orderID' => '23'
|
68 |
-
);
|
69 |
$this->dispatch('ops/payment/exception', $params);
|
70 |
-
$this->
|
|
|
71 |
|
|
|
|
|
|
|
72 |
}
|
73 |
|
74 |
/**
|
@@ -79,21 +114,20 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
79 |
$routeToDispatch = 'ops/payment/decline';
|
80 |
$params = array();
|
81 |
$this->dispatch($routeToDispatch, $params);
|
82 |
-
$this->
|
83 |
|
84 |
|
85 |
$params = array(
|
86 |
'orderID' => '#100000011'
|
87 |
);
|
88 |
$this->dispatch($routeToDispatch, $params);
|
89 |
-
$this->
|
90 |
|
91 |
$params = array(
|
92 |
'orderID' => '23'
|
93 |
);
|
94 |
$this->dispatch($routeToDispatch, $params);
|
95 |
-
$this->
|
96 |
-
|
97 |
}
|
98 |
|
99 |
/**
|
@@ -102,22 +136,18 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
102 |
public function testCancelAction()
|
103 |
{
|
104 |
$routeToDispatch = 'ops/payment/cancel';
|
105 |
-
$params = array();
|
106 |
-
$this->dispatch($routeToDispatch, $params);
|
107 |
-
$this->assertRedirect('checkout/onepage');
|
108 |
|
109 |
$params = array(
|
110 |
'orderID' => '#100000011'
|
111 |
);
|
112 |
$this->dispatch($routeToDispatch, $params);
|
113 |
-
$this->
|
114 |
|
115 |
$params = array(
|
116 |
'orderID' => '23'
|
117 |
);
|
118 |
$this->dispatch($routeToDispatch, $params);
|
119 |
-
$this->
|
120 |
-
|
121 |
}
|
122 |
|
123 |
/**
|
@@ -128,36 +158,34 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
128 |
$routeToDispatch = 'ops/payment/continue';
|
129 |
$params = array();
|
130 |
$this->dispatch($routeToDispatch, $params);
|
131 |
-
$this->
|
132 |
|
133 |
|
134 |
$params = array(
|
135 |
'orderID' => '#100000011'
|
136 |
);
|
137 |
$this->dispatch($routeToDispatch, $params);
|
138 |
-
$this->
|
139 |
|
140 |
$params = array(
|
141 |
'orderID' => '23'
|
142 |
);
|
143 |
$this->dispatch($routeToDispatch, $params);
|
144 |
-
$this->
|
145 |
|
146 |
$params = array(
|
147 |
'orderID' => '#100000011',
|
148 |
'redirect' => 'catalog'
|
149 |
);
|
150 |
$this->dispatch($routeToDispatch, $params);
|
151 |
-
$this->
|
152 |
|
153 |
$params = array(
|
154 |
'orderID' => '23',
|
155 |
'redirect' => 'catalog'
|
156 |
);
|
157 |
$this->dispatch($routeToDispatch, $params);
|
158 |
-
$this->
|
159 |
-
|
160 |
-
|
161 |
}
|
162 |
|
163 |
/**
|
@@ -182,7 +210,6 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
182 |
$message = Mage::getSingleton('core/session')->getMessages()->getLastAddedMessage();
|
183 |
$this->assertNotNull($message);
|
184 |
$this->assertEquals($message->getText(), 'Hash not valid');
|
185 |
-
|
186 |
}
|
187 |
|
188 |
/**
|
@@ -192,8 +219,8 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
192 |
{
|
193 |
|
194 |
// test 1: hash valid, order can not be retried
|
195 |
-
// orderID
|
196 |
-
$order = Mage::getModel('sales/order')->load(
|
197 |
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
198 |
|
199 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('shaCryptValidation'));
|
@@ -202,18 +229,22 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
202 |
->will($this->returnValue(true));
|
203 |
$this->replaceByMock('helper', 'ops/payment', $paymentHelperMock);
|
204 |
|
205 |
-
$
|
206 |
-
|
207 |
-
'
|
208 |
-
|
|
|
|
|
|
|
209 |
$this->dispatch('ops/payment/retry', $params);
|
|
|
210 |
$this->assertRedirectTo('/');
|
|
|
211 |
$message = Mage::getSingleton('core/session')->getMessages()->getLastAddedMessage();
|
212 |
$this->assertNotNull($message);
|
213 |
$this->assertEquals(
|
214 |
$message->getText(), 'Not possible to reenter the payment details for order ' . $order->getIncrementId()
|
215 |
);
|
216 |
-
|
217 |
}
|
218 |
|
219 |
/**
|
@@ -221,10 +252,10 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
221 |
*/
|
222 |
public function testRepayActionWithSuccess()
|
223 |
{
|
224 |
-
// test
|
225 |
-
// orderID
|
226 |
|
227 |
-
$order = Mage::getModel('sales/order')->load(
|
228 |
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
229 |
|
230 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('shaCryptValidation'));
|
@@ -233,14 +264,150 @@ class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
|
233 |
->will($this->returnValue(true));
|
234 |
$this->replaceByMock('helper', 'ops/payment', $paymentHelperMock);
|
235 |
|
236 |
-
$
|
237 |
-
'orderID' => $opsOrderId,
|
238 |
-
'SHASIGN' => 'foo'
|
239 |
-
);
|
240 |
|
241 |
-
$this->dispatch('ops/payment/retry', $params);
|
242 |
$this->assertLayoutLoaded();
|
243 |
$this->assertLayoutHandleLoaded('ops_payment_retry');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
}
|
246 |
-
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Netresearch_OPS_Test_Controller_PaymentControllerTest
|
24 |
+
*
|
25 |
+
* @category controller
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Thomas Kappel <thomas.kappel@netresearch.de>
|
28 |
+
* @author André Herrn <andre.herrn@netresearch.de>
|
29 |
+
* @author Paul Siedler <paul.siedler@netresearch.de>
|
30 |
+
*/
|
31 |
class Netresearch_OPS_Test_Controller_PaymentControllerTest
|
32 |
extends EcomDev_PHPUnit_Test_Case_Controller
|
33 |
{
|
|
|
34 |
public function setUp()
|
35 |
{
|
36 |
parent::setUp();
|
42 |
'handleException',
|
43 |
'getSHAInSet',
|
44 |
'refillCart'
|
45 |
+
)
|
46 |
);
|
47 |
$helperMock->expects($this->any())
|
48 |
->method('shaCryptValidation')
|
56 |
*/
|
57 |
public function testAcceptAction()
|
58 |
{
|
|
|
|
|
|
|
|
|
|
|
59 |
$params = array(
|
60 |
'orderID' => '#100000011'
|
61 |
);
|
62 |
$this->dispatch('ops/payment/accept', $params);
|
63 |
+
$this->assertRedirectTo('checkout/onepage/success');
|
64 |
|
65 |
$params = array(
|
66 |
'orderID' => '23'
|
67 |
);
|
68 |
$this->dispatch('ops/payment/accept', $params);
|
69 |
+
$this->assertRedirectTo('checkout/onepage/success');
|
|
|
70 |
}
|
71 |
|
72 |
/**
|
74 |
*/
|
75 |
public function testExceptionAction()
|
76 |
{
|
77 |
+
$msg = 'Your order has been registered, but your payment is still marked as pending.';
|
78 |
+
$msg.= ' Please have patience until the final status is known.';
|
79 |
+
|
80 |
+
$orderId = '11';
|
81 |
+
$quoteId = '23';
|
82 |
+
$incrementId = '#100000011';
|
83 |
+
|
84 |
+
|
85 |
+
// assert order increment id parameter handling
|
86 |
+
$params = array('orderID' => $incrementId);
|
87 |
|
|
|
|
|
|
|
88 |
$this->dispatch('ops/payment/exception', $params);
|
89 |
+
$this->assertRedirectTo('checkout/onepage/success');
|
90 |
+
$this->assertEquals($orderId, Mage::getSingleton('checkout/session')->getLastOrderId());
|
91 |
+
|
92 |
+
$message = Mage::getSingleton('checkout/session')->getMessages()->getLastAddedMessage();
|
93 |
+
$this->assertEquals('error', $message->getType());
|
94 |
+
$this->assertEquals($msg, $message->getText());
|
95 |
+
|
96 |
+
|
97 |
+
// assert entity id parameter handling
|
98 |
+
$params = array('orderID' => $quoteId);
|
99 |
|
|
|
|
|
|
|
100 |
$this->dispatch('ops/payment/exception', $params);
|
101 |
+
$this->assertRedirectTo('checkout/onepage/success');
|
102 |
+
$this->assertEquals($orderId, Mage::getSingleton('checkout/session')->getLastOrderId());
|
103 |
|
104 |
+
$message = Mage::getSingleton('checkout/session')->getMessages()->getLastAddedMessage();
|
105 |
+
$this->assertEquals('error', $message->getType());
|
106 |
+
$this->assertEquals($msg, $message->getText());
|
107 |
}
|
108 |
|
109 |
/**
|
114 |
$routeToDispatch = 'ops/payment/decline';
|
115 |
$params = array();
|
116 |
$this->dispatch($routeToDispatch, $params);
|
117 |
+
$this->assertRedirectTo('checkout/onepage');
|
118 |
|
119 |
|
120 |
$params = array(
|
121 |
'orderID' => '#100000011'
|
122 |
);
|
123 |
$this->dispatch($routeToDispatch, $params);
|
124 |
+
$this->assertRedirectTo('checkout/onepage');
|
125 |
|
126 |
$params = array(
|
127 |
'orderID' => '23'
|
128 |
);
|
129 |
$this->dispatch($routeToDispatch, $params);
|
130 |
+
$this->assertRedirectTo('checkout/onepage');
|
|
|
131 |
}
|
132 |
|
133 |
/**
|
136 |
public function testCancelAction()
|
137 |
{
|
138 |
$routeToDispatch = 'ops/payment/cancel';
|
|
|
|
|
|
|
139 |
|
140 |
$params = array(
|
141 |
'orderID' => '#100000011'
|
142 |
);
|
143 |
$this->dispatch($routeToDispatch, $params);
|
144 |
+
$this->assertRedirectTo('checkout/cart');
|
145 |
|
146 |
$params = array(
|
147 |
'orderID' => '23'
|
148 |
);
|
149 |
$this->dispatch($routeToDispatch, $params);
|
150 |
+
$this->assertRedirectTo('checkout/cart');
|
|
|
151 |
}
|
152 |
|
153 |
/**
|
158 |
$routeToDispatch = 'ops/payment/continue';
|
159 |
$params = array();
|
160 |
$this->dispatch($routeToDispatch, $params);
|
161 |
+
$this->assertRedirectTo('checkout/cart');
|
162 |
|
163 |
|
164 |
$params = array(
|
165 |
'orderID' => '#100000011'
|
166 |
);
|
167 |
$this->dispatch($routeToDispatch, $params);
|
168 |
+
$this->assertRedirectTo('checkout/cart');
|
169 |
|
170 |
$params = array(
|
171 |
'orderID' => '23'
|
172 |
);
|
173 |
$this->dispatch($routeToDispatch, $params);
|
174 |
+
$this->assertRedirectTo('checkout/cart');
|
175 |
|
176 |
$params = array(
|
177 |
'orderID' => '#100000011',
|
178 |
'redirect' => 'catalog'
|
179 |
);
|
180 |
$this->dispatch($routeToDispatch, $params);
|
181 |
+
$this->assertRedirectTo('/');
|
182 |
|
183 |
$params = array(
|
184 |
'orderID' => '23',
|
185 |
'redirect' => 'catalog'
|
186 |
);
|
187 |
$this->dispatch($routeToDispatch, $params);
|
188 |
+
$this->assertRedirectTo('/');
|
|
|
|
|
189 |
}
|
190 |
|
191 |
/**
|
210 |
$message = Mage::getSingleton('core/session')->getMessages()->getLastAddedMessage();
|
211 |
$this->assertNotNull($message);
|
212 |
$this->assertEquals($message->getText(), 'Hash not valid');
|
|
|
213 |
}
|
214 |
|
215 |
/**
|
219 |
{
|
220 |
|
221 |
// test 1: hash valid, order can not be retried
|
222 |
+
// orderID 100000012 - status 5
|
223 |
+
$order = Mage::getModel('sales/order')->load(12);
|
224 |
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
225 |
|
226 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('shaCryptValidation'));
|
229 |
->will($this->returnValue(true));
|
230 |
$this->replaceByMock('helper', 'ops/payment', $paymentHelperMock);
|
231 |
|
232 |
+
$orderHelperMock = $this->getHelperMock('ops/order', array('getOrder'));
|
233 |
+
$orderHelperMock->expects($this->any())
|
234 |
+
->method('getOrder')
|
235 |
+
->will($this->returnValue($order));
|
236 |
+
$this->replaceByMock('helper', 'ops/order', $orderHelperMock);
|
237 |
+
|
238 |
+
$params = array('orderID' => $opsOrderId, 'SHASIGN' => 'foo');
|
239 |
$this->dispatch('ops/payment/retry', $params);
|
240 |
+
|
241 |
$this->assertRedirectTo('/');
|
242 |
+
|
243 |
$message = Mage::getSingleton('core/session')->getMessages()->getLastAddedMessage();
|
244 |
$this->assertNotNull($message);
|
245 |
$this->assertEquals(
|
246 |
$message->getText(), 'Not possible to reenter the payment details for order ' . $order->getIncrementId()
|
247 |
);
|
|
|
248 |
}
|
249 |
|
250 |
/**
|
252 |
*/
|
253 |
public function testRepayActionWithSuccess()
|
254 |
{
|
255 |
+
// test 31: order is fine
|
256 |
+
// orderID 100000011
|
257 |
|
258 |
+
$order = Mage::getModel('sales/order')->load(11);
|
259 |
$opsOrderId = Mage::helper('ops/order')->getOpsOrderId($order);
|
260 |
|
261 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('shaCryptValidation'));
|
264 |
->will($this->returnValue(true));
|
265 |
$this->replaceByMock('helper', 'ops/payment', $paymentHelperMock);
|
266 |
|
267 |
+
$this->dispatch('ops/payment/retry', $paymentHelperMock->validateOrderForReuse($opsOrderId,1));
|
|
|
|
|
|
|
268 |
|
|
|
269 |
$this->assertLayoutLoaded();
|
270 |
$this->assertLayoutHandleLoaded('ops_payment_retry');
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* @test
|
275 |
+
*/
|
276 |
+
public function placeformActionWithoutSuccess()
|
277 |
+
{
|
278 |
+
$this->dispatch('ops/payment/placeForm');
|
279 |
+
$this->assertRedirectTo('checkout/cart');
|
280 |
+
}
|
281 |
+
|
282 |
+
/**
|
283 |
+
* @loadFixture ../../../var/fixtures/orders.yaml
|
284 |
+
* @test
|
285 |
+
*/
|
286 |
+
public function placeformActionWithSuccess()
|
287 |
+
{
|
288 |
+
$quoteModelMock = $this->getModelMock('sales/quote', array('save'));
|
289 |
+
$quoteModelMock->expects($this->any())
|
290 |
+
->method('save')
|
291 |
+
->will($this->returnSelf());
|
292 |
+
|
293 |
+
$checkoutSessionMock = $this->getModelMock('checkout/session', array('getLastRealOrderId', 'getQuote'));
|
294 |
+
$checkoutSessionMock->expects($this->any())
|
295 |
+
->method('getLastRealOrderId')
|
296 |
+
->will($this->returnValue(100000013));
|
297 |
+
$checkoutSessionMock->expects($this->any())
|
298 |
+
->method('getQuote')
|
299 |
+
->will($this->returnValue($quoteModelMock));
|
300 |
+
$this->replaceByMock('singleton', 'checkout/session', $checkoutSessionMock);
|
301 |
+
|
302 |
+
$this->dispatch('ops/payment/placeForm');
|
303 |
+
|
304 |
+
$this->assertLayoutLoaded();
|
305 |
+
$this->assertLayoutHandleLoaded('ops_payment_placeform');
|
306 |
+
}
|
307 |
+
|
308 |
+
/**
|
309 |
+
* @loadFixture ../../../var/fixtures/orders.yaml
|
310 |
+
* @test
|
311 |
+
*/
|
312 |
+
public function updatePaymentAndPlaceFormActionWithException()
|
313 |
+
{
|
314 |
+
$orderId = 100000013;
|
315 |
|
316 |
+
/** @var Mage_Sales_Model_Order $order */
|
317 |
+
$order = Mage::getModel('sales/order');
|
318 |
+
$order->loadByIncrementId($orderId);
|
319 |
+
|
320 |
+
$orderHelperMock = $this->getHelperMock('ops/order', array('getOrder'));
|
321 |
+
$orderHelperMock->expects($this->any())
|
322 |
+
->method('getOrder')
|
323 |
+
->will($this->returnValue($order));
|
324 |
+
$this->replaceByMock('helper', 'ops/order', $orderHelperMock);
|
325 |
+
|
326 |
+
|
327 |
+
$this->dispatch('ops/payment/updatePaymentAndPlaceForm', array('orderID' => $orderId));
|
328 |
+
$this->assertRedirectTo('checkout/cart');
|
329 |
+
|
330 |
+
/** @var Mage_Core_Model_Session $test */
|
331 |
+
$test = Mage::getSingleton('core/session');
|
332 |
+
$messages = $test->getMessages()->count();
|
333 |
+
$this->assertEquals(1, $messages);
|
334 |
+
$test->getMessages()->clear();
|
335 |
+
}
|
336 |
+
|
337 |
+
/**
|
338 |
+
* @loadFixture orders.yaml
|
339 |
+
* @test
|
340 |
+
*/
|
341 |
+
public function updatePaymentAndPlaceFormActionWithSuccess()
|
342 |
+
{
|
343 |
+
$orderId = '#100000013';
|
344 |
+
$params = array(
|
345 |
+
'orderID' => $orderId,
|
346 |
+
'payment' => array(
|
347 |
+
'method' => 'ops_iDeal',
|
348 |
+
'ops_iDeal' => array('info' => 'foo', 'info2' => 'bar')
|
349 |
+
)
|
350 |
+
);
|
351 |
+
|
352 |
+
Mage::app()->getRequest()->setParams($params);
|
353 |
+
Mage::getConfig()->setNode('stores/default/payment/ops_iDeal/active', 1);
|
354 |
+
$this->mockSession('checkout/session', array());
|
355 |
+
|
356 |
+
$this->dispatch('ops/payment/updatePaymentAndPlaceForm');
|
357 |
+
|
358 |
+
$this->assertRedirectToUrlContains('placeForm');
|
359 |
+
|
360 |
+
/** @var Mage_Core_Model_Session $test */
|
361 |
+
$test = Mage::getSingleton('core/session');
|
362 |
+
$messages = $test->getMessages()->count();
|
363 |
+
$this->assertEquals(0, $messages);
|
364 |
+
}
|
365 |
+
|
366 |
+
/**
|
367 |
+
* @loadFixture ../../../var/fixtures/orders.yaml
|
368 |
+
* @test
|
369 |
+
*/
|
370 |
+
public function updatePaymentAndPlaceFormActionWithSuccessForDirectDebit()
|
371 |
+
{
|
372 |
+
$this->markTestIncomplete("DirectDebit needs a general rework - INGRC-34");
|
373 |
+
|
374 |
+
$orderId = 100000014;
|
375 |
+
Mage::app()->getRequest()->setParam('orderID', $orderId);
|
376 |
+
Mage::app()->getRequest()->setParam('payment', array('method' => 'ops_directDebit'));
|
377 |
+
|
378 |
+
/** @var Mage_Sales_Model_Order $orderModelMock */
|
379 |
+
$orderModelMock = $this->getModelMock('sales/order', array('save', 'place'));
|
380 |
+
$orderModelMock->expects($this->any())
|
381 |
+
->method('save')
|
382 |
+
->will($this->returnSelf());
|
383 |
+
$orderModelMock->expects($this->any())
|
384 |
+
->method('place')
|
385 |
+
->will($this->returnSelf());
|
386 |
+
|
387 |
+
$orderHelperMock = $this->getHelperMock('ops/order', array('getOrder'));
|
388 |
+
$orderHelperMock->expects($this->any())
|
389 |
+
->method('getOrder')
|
390 |
+
->will($this->returnValue($orderModelMock->loadByIncrementId($orderId)));
|
391 |
+
$this->replaceByMock('helper', 'ops/order', $orderHelperMock);
|
392 |
+
|
393 |
+
$quoteModelMock = $this->getModelMock('sales/quote', array('save'));
|
394 |
+
$quoteModelMock->expects($this->any())
|
395 |
+
->method('save')
|
396 |
+
->will($this->returnSelf());
|
397 |
+
$this->replaceByMock('model', 'sales/quote', $quoteModelMock);
|
398 |
+
|
399 |
+
$quotePaymentModelMock = $this->getModelMock('sales/quote_payment', array('save'));
|
400 |
+
$quotePaymentModelMock->expects($this->any())
|
401 |
+
->method('save')
|
402 |
+
->will($this->returnSelf());
|
403 |
+
$this->replaceByMock('model', 'sales/quote_payment', $quotePaymentModelMock);
|
404 |
+
|
405 |
+
$this->dispatch('ops/payment/updatePaymentAndPlaceForm');
|
406 |
+
$this->assertRedirectToUrlContains('onepage/success');
|
407 |
+
|
408 |
+
/** @var Mage_Core_Model_Session $test */
|
409 |
+
$test = Mage::getSingleton('core/session');
|
410 |
+
$messages = $test->getMessages()->count();
|
411 |
+
$this->assertEquals(0, $messages);
|
412 |
}
|
413 |
+
}
|
app/code/community/Netresearch/OPS/Test/Controller/PaymentControllerTest/fixtures/orders.yaml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
tables:
|
2 |
+
core/config_data:
|
3 |
+
- config_id: 500
|
4 |
+
path: 'payment/ops_iDeal/active'
|
5 |
+
value: 1
|
6 |
+
|
7 |
+
sales/order:
|
8 |
+
- entity_id: 13
|
9 |
+
increment_id: 100000013
|
10 |
+
shipping_address_id: 43
|
11 |
+
base_grand_total: 177.55
|
12 |
+
grand_total: 177.55
|
13 |
+
currency: 'EUR'
|
14 |
+
customer_gender: 1
|
15 |
+
shipping_method: 'flatrate_flatrate'
|
16 |
+
customer_email: 'willi.usa.customer@trash-mail.com'
|
17 |
+
state: 'processing'
|
18 |
+
status: 'processing'
|
19 |
+
quote_id: 25
|
20 |
+
store_id: 0
|
21 |
+
|
22 |
+
sales/order_payment:
|
23 |
+
- entity_id: 3
|
24 |
+
parent_id: 13
|
25 |
+
additional_information: a:3:{s:2:"PM";s:16:"Bank transfer DE";s:5:"BRAND";s:16:"Bank transfer DE";s:6:"status";s:1:"0";}
|
26 |
+
method: 'ops_bankTransfer'
|
app/code/community/Netresearch/OPS/Test/Helper/AddressTest.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Netresearch_OPS_Test_Helper_AddressTest extends EcomDev_PHPUnit_Test_Case
|
3 |
+
{
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @param string $street
|
7 |
+
*
|
8 |
+
* @test
|
9 |
+
* @loadExpectation
|
10 |
+
* @dataProvider dataProvider
|
11 |
+
*/
|
12 |
+
public function splitStreet($street)
|
13 |
+
{
|
14 |
+
/** @var Netresearch_OPS_Helper_Address $helper */
|
15 |
+
$helper = Mage::helper('ops/address');
|
16 |
+
$split = $helper->splitStreet($street);
|
17 |
+
$expected = $this->expected('auto')->getData();
|
18 |
+
|
19 |
+
$this->assertEquals($expected, $split);
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
app/code/community/Netresearch/OPS/Test/Helper/AddressTest/expectations/splitStreet.yaml
ADDED
@@ -0,0 +1,209 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
thunstrasse_39:
|
2 |
+
street_name: "Thunstraße"
|
3 |
+
street_number: "39"
|
4 |
+
supplement: ""
|
5 |
+
nonnenstrasse:
|
6 |
+
street_name: "Nonnenstraße"
|
7 |
+
street_number: ""
|
8 |
+
supplement: ""
|
9 |
+
tulpenweg:
|
10 |
+
street_name: "Tulpenweg"
|
11 |
+
street_number: ""
|
12 |
+
supplement: ""
|
13 |
+
tulpenweg_:
|
14 |
+
street_name: "Tulpenweg"
|
15 |
+
street_number: ""
|
16 |
+
supplement: ""
|
17 |
+
nonnenstrasse_11c:
|
18 |
+
street_name: "Nonnenstraße"
|
19 |
+
street_number: "11c"
|
20 |
+
supplement: ""
|
21 |
+
nonnenstrasse11c:
|
22 |
+
street_name: "Nonnenstraße11c"
|
23 |
+
street_number: ""
|
24 |
+
supplement: ""
|
25 |
+
nonnenstrasse_44_46:
|
26 |
+
street_name: "Nonnenstraße"
|
27 |
+
street_number: "44-46"
|
28 |
+
supplement: ""
|
29 |
+
nonnenstrasse_44_46_haus_c:
|
30 |
+
street_name: "Nonnenstraße"
|
31 |
+
street_number: "44-46"
|
32 |
+
supplement: "Haus C"
|
33 |
+
leipziger_strasse_117_zimmer_321:
|
34 |
+
street_name: "Leipziger Straße"
|
35 |
+
street_number: "117"
|
36 |
+
supplement: "Zimmer 321"
|
37 |
+
lilienweg_14:
|
38 |
+
street_name: "Lilienweg"
|
39 |
+
street_number: "14"
|
40 |
+
supplement: ""
|
41 |
+
lilienweg_4:
|
42 |
+
street_name: "Lilienweg"
|
43 |
+
street_number: "4"
|
44 |
+
supplement: ""
|
45 |
+
richard_strauss_strasse_4:
|
46 |
+
street_name: "Richard Strauß Straße"
|
47 |
+
street_number: "4"
|
48 |
+
supplement: ""
|
49 |
+
mittelstrasse_6:
|
50 |
+
street_name: "Mittelstrasse"
|
51 |
+
street_number: "6"
|
52 |
+
supplement: ""
|
53 |
+
hauptstr_6:
|
54 |
+
street_name: "Hauptstr."
|
55 |
+
street_number: "6"
|
56 |
+
supplement: ""
|
57 |
+
alte_dorfstraße_4:
|
58 |
+
street_name: "Alte Dorfstraße"
|
59 |
+
street_number: "4"
|
60 |
+
supplement: ""
|
61 |
+
alfons_mitnacht_str_5:
|
62 |
+
street_name: "Alfons-Mitnacht Str."
|
63 |
+
street_number: "5"
|
64 |
+
supplement: ""
|
65 |
+
seilerweg_5:
|
66 |
+
street_name: "Seilerweg"
|
67 |
+
street_number: "5"
|
68 |
+
supplement: ""
|
69 |
+
aegirsvej_4:
|
70 |
+
street_name: "Ægirsvej"
|
71 |
+
street_number: "4"
|
72 |
+
supplement: ""
|
73 |
+
hilgartshausener_hauptstrasse_49:
|
74 |
+
street_name: "Hilgartshausener Hauptstraße"
|
75 |
+
street_number: "49"
|
76 |
+
supplement: ""
|
77 |
+
erich_weinert_strasse_87:
|
78 |
+
street_name: "erich-weinert-strasse"
|
79 |
+
street_number: "87"
|
80 |
+
supplement: ""
|
81 |
+
m4_8:
|
82 |
+
street_name: "M4"
|
83 |
+
street_number: "8"
|
84 |
+
supplement: ""
|
85 |
+
strasse_1:
|
86 |
+
street_name: "1.Straße"
|
87 |
+
street_number: ""
|
88 |
+
supplement: ""
|
89 |
+
wiesencenter_bayreuther_strasse_108_2_stock:
|
90 |
+
street_name: "Bayreuther Str."
|
91 |
+
street_number: "108"
|
92 |
+
supplement: "Wiesentcenter 2. Stock"
|
93 |
+
neue_strasse_28_1_stock:
|
94 |
+
street_name: "Neue Straße"
|
95 |
+
street_number: "28"
|
96 |
+
supplement: "1.Stock"
|
97 |
+
kirchengasse_7_1_stock_zi_4:
|
98 |
+
street_name: "Kirchengasse"
|
99 |
+
street_number: "7"
|
100 |
+
supplement: "1. Stock Zi.Nr. 4"
|
101 |
+
pallaswiesenstr_57_App_235:
|
102 |
+
street_name: "Pallaswiesenstr."
|
103 |
+
street_number: "57"
|
104 |
+
supplement: "App. 235"
|
105 |
+
neue_str_55_whg_3:
|
106 |
+
street_name: "Neue Str."
|
107 |
+
street_number: "55"
|
108 |
+
supplement: "Whg. 3"
|
109 |
+
apenrader_str_16_whg_3:
|
110 |
+
street_name: "Apenrader Str."
|
111 |
+
street_number: "16"
|
112 |
+
supplement: "Whg. 3"
|
113 |
+
d_6_2:
|
114 |
+
street_name: "D 6"
|
115 |
+
street_number: "2"
|
116 |
+
supplement: ""
|
117 |
+
r4_7:
|
118 |
+
street_name: "R4"
|
119 |
+
street_number: "7"
|
120 |
+
supplement: ""
|
121 |
+
lieblgasse_2_41_7_21:
|
122 |
+
street_name: "Lieblgasse"
|
123 |
+
street_number: "2/41/7/21"
|
124 |
+
supplement: ""
|
125 |
+
1752_oto_iwatsukiku:
|
126 |
+
street_name: "Oto"
|
127 |
+
street_number: "1752"
|
128 |
+
supplement: "Iwatsukiku"
|
129 |
+
3940_radio_road_unit_110:
|
130 |
+
street_name: "Radio Road"
|
131 |
+
street_number: "3940"
|
132 |
+
supplement: "Unit 110"
|
133 |
+
1101_madison_st_600:
|
134 |
+
street_name: "Madison St"
|
135 |
+
street_number: "1101"
|
136 |
+
supplement: "# 600"
|
137 |
+
1523_6th_ave:
|
138 |
+
street_name: "6th Ave"
|
139 |
+
street_number: "1523"
|
140 |
+
supplement: ""
|
141 |
+
81_quai_charles_de_gaulle:
|
142 |
+
street_name: "quai Charles de Gaulle"
|
143 |
+
street_number: "81"
|
144 |
+
supplement: ""
|
145 |
+
nafarroa_kalea_9:
|
146 |
+
street_name: "Nafarroa Kalea"
|
147 |
+
street_number: "9"
|
148 |
+
supplement: ""
|
149 |
+
av_libertad_53:
|
150 |
+
street_name: "Av. Libertad"
|
151 |
+
street_number: "53"
|
152 |
+
supplement: ""
|
153 |
+
vanzada_errepidea_1:
|
154 |
+
street_name: "vanzada Errepidea"
|
155 |
+
street_number: "1"
|
156 |
+
supplement: ""
|
157 |
+
88_century_blvd_pudong:
|
158 |
+
street_name: "Century Blvd"
|
159 |
+
street_number: "88"
|
160 |
+
supplement: "Pudong"
|
161 |
+
mannerheimintie_13A2:
|
162 |
+
street_name: "Mannerheimintie"
|
163 |
+
street_number: "13A2"
|
164 |
+
supplement: ""
|
165 |
+
mannerheimintie_13_A2:
|
166 |
+
street_name: "Mannerheimintie"
|
167 |
+
street_number: "13 A2"
|
168 |
+
supplement: ""
|
169 |
+
mannerheimintie_13_A_2:
|
170 |
+
street_name: "Mannerheimintie"
|
171 |
+
street_number: "13 A 2"
|
172 |
+
supplement: ""
|
173 |
+
7_place_de_l_hotel_de_ville:
|
174 |
+
street_name: "place de l'Hôtel de Ville"
|
175 |
+
street_number: "7"
|
176 |
+
supplement: ""
|
177 |
+
488_west_57_street:
|
178 |
+
street_name: "West 57 Street"
|
179 |
+
street_number: "488"
|
180 |
+
supplement: ""
|
181 |
+
574_e_10th_street:
|
182 |
+
street_name: "E 10th Street"
|
183 |
+
street_number: "574"
|
184 |
+
supplement: ""
|
185 |
+
neuhof_13_15:
|
186 |
+
street_name: "Neuhof"
|
187 |
+
street_number: "13 / 15"
|
188 |
+
supplement: ""
|
189 |
+
no_133_shangdong_st:
|
190 |
+
street_name: "Shangdong St."
|
191 |
+
street_number: "133"
|
192 |
+
supplement: ""
|
193 |
+
56_route_de_geneve:
|
194 |
+
street_name: "route de Genève"
|
195 |
+
street_number: "56"
|
196 |
+
supplement: ""
|
197 |
+
no_59_yangfangdian_xi:
|
198 |
+
street_name: "Yangfangdian Xi"
|
199 |
+
street_number: "59"
|
200 |
+
supplement: ""
|
201 |
+
514_3_daechi_dong:
|
202 |
+
street_name: "Daechi-Dong"
|
203 |
+
street_number: "514-3"
|
204 |
+
supplement: ""
|
205 |
+
san_millan_3_10:
|
206 |
+
street_name: "San Millán"
|
207 |
+
street_number: "3-10"
|
208 |
+
supplement: ""
|
209 |
+
|
app/code/community/Netresearch/OPS/Test/Helper/AddressTest/providers/splitStreet.yaml
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
thunstrasse_39:
|
2 |
+
- "Thunstraße 39"
|
3 |
+
nonnenstrasse:
|
4 |
+
- "Nonnenstraße"
|
5 |
+
tulpenweg:
|
6 |
+
- "Tulpenweg"
|
7 |
+
tulpenweg_:
|
8 |
+
- "Tulpenweg"
|
9 |
+
nonnenstrasse_11c:
|
10 |
+
- "Nonnenstraße 11c"
|
11 |
+
nonnenstrasse11c:
|
12 |
+
- "Nonnenstraße11c"
|
13 |
+
nonnenstrasse_44_46:
|
14 |
+
- "Nonnenstraße 44-46"
|
15 |
+
nonnenstrasse_44_46_haus_c:
|
16 |
+
- "Nonnenstraße 44-46 Haus C"
|
17 |
+
leipziger_strasse_117_zimmer_321:
|
18 |
+
- "Leipziger Straße 117, Zimmer 321"
|
19 |
+
lilienweg_14:
|
20 |
+
- "Lilienweg 14"
|
21 |
+
lilienweg_4:
|
22 |
+
- "Lilienweg 4"
|
23 |
+
richard_strauss_strasse_4:
|
24 |
+
- "Richard Strauß Straße 4"
|
25 |
+
mittelstrasse_6:
|
26 |
+
- "Mittelstrasse 6"
|
27 |
+
hauptstr_6:
|
28 |
+
- "Hauptstr. 6"
|
29 |
+
alte_dorfstraße_4:
|
30 |
+
- "Alte Dorfstraße 4"
|
31 |
+
alfons_mitnacht_str_5:
|
32 |
+
- "Alfons-Mitnacht Str. 5"
|
33 |
+
seilerweg_5:
|
34 |
+
- "Seilerweg 5"
|
35 |
+
aegirsvej_4:
|
36 |
+
- "Ægirsvej 4"
|
37 |
+
hilgartshausener_hauptstrasse_49:
|
38 |
+
- "Hilgartshausener Hauptstraße 49"
|
39 |
+
erich_weinert_strasse_87:
|
40 |
+
- "erich-weinert-strasse 87"
|
41 |
+
m4_8:
|
42 |
+
- "M4 8"
|
43 |
+
strasse_1:
|
44 |
+
- "1.Straße"
|
45 |
+
wiesencenter_bayreuther_strasse_108_2_stock:
|
46 |
+
- "Wiesentcenter, Bayreuther Str. 108, 2. Stock"
|
47 |
+
neue_strasse_28_1_stock:
|
48 |
+
- "Neue Straße 28 / 1.Stock"
|
49 |
+
kirchengasse_7_1_stock_zi_4:
|
50 |
+
- "Kirchengasse 7, 1. Stock Zi.Nr. 4"
|
51 |
+
pallaswiesenstr_57_App_235:
|
52 |
+
- "Pallaswiesenstr. 57 App. 235"
|
53 |
+
neue_str_55_whg_3:
|
54 |
+
- "Neue Str. 55, Whg. 3"
|
55 |
+
apenrader_str_16_whg_3:
|
56 |
+
- "Apenrader Str. 16 / Whg. 3"
|
57 |
+
d_6_2:
|
58 |
+
- "D 6, 2"
|
59 |
+
r4_7:
|
60 |
+
- "R4, 7"
|
61 |
+
lieblgasse_2_41_7_21:
|
62 |
+
- "Lieblgasse 2/41/7/21"
|
63 |
+
1752_oto_iwatsukiku:
|
64 |
+
- "1752 Oto, Iwatsukiku"
|
65 |
+
3940_radio_road_unit_110:
|
66 |
+
- "3940 Radio Road, Unit 110"
|
67 |
+
1101_madison_st_600:
|
68 |
+
- "1101 Madison St # 600"
|
69 |
+
1523_6th_ave:
|
70 |
+
- "1523 6th Ave"
|
71 |
+
81_quai_charles_de_gaulle:
|
72 |
+
- "81, quai Charles de Gaulle"
|
73 |
+
nafarroa_kalea_9:
|
74 |
+
- "Nafarroa Kalea 9"
|
75 |
+
av_libertad_53:
|
76 |
+
- "Av. Libertad 53"
|
77 |
+
vanzada_errepidea_1:
|
78 |
+
- "vanzada Errepidea 1"
|
79 |
+
88_century_blvd_pudong:
|
80 |
+
- "88 Century Blvd, Pudong"
|
81 |
+
mannerheimintie_13A2:
|
82 |
+
- "Mannerheimintie 13A2"
|
83 |
+
mannerheimintie_13_A2:
|
84 |
+
- "Mannerheimintie 13 A2"
|
85 |
+
mannerheimintie_13_A_2:
|
86 |
+
- "Mannerheimintie 13 A 2"
|
87 |
+
7_place_de_l_hotel_de_ville:
|
88 |
+
- "7, place de l'Hôtel de Ville"
|
89 |
+
488_west_57_street:
|
90 |
+
- "488 West 57 Street"
|
91 |
+
574_e_10th_street:
|
92 |
+
- "574 E 10th Street"
|
93 |
+
neuhof_13_15:
|
94 |
+
- "Neuhof 13 / 15"
|
95 |
+
no_133_shangdong_st:
|
96 |
+
- "No. 133 Shangdong St."
|
97 |
+
56_route_de_geneve:
|
98 |
+
- "56, route de Genève"
|
99 |
+
no_59_yangfangdian_xi:
|
100 |
+
- "No. 59 Yangfangdian Xi"
|
101 |
+
514_3_daechi_dong:
|
102 |
+
- "514-3, Daechi-Dong"
|
103 |
+
san_millan_3_10:
|
104 |
+
- "San Millán, 3-10"
|
105 |
+
|
app/code/community/Netresearch/OPS/Test/Helper/AliasTest.php
CHANGED
@@ -45,44 +45,6 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
45 |
$this->replaceByMock('singleton', 'checkout/type_onepage', $onepage);
|
46 |
}
|
47 |
|
48 |
-
/**
|
49 |
-
* @loadFixture ../../../var/fixtures/orders.yaml
|
50 |
-
*/
|
51 |
-
public function testGetAliasWithoutAdditionalInformation()
|
52 |
-
{
|
53 |
-
$aliasHelperMock = $this->getHelperMock('ops/alias', array('isAdminSession'));
|
54 |
-
$aliasHelperMock->expects($this->any())
|
55 |
-
->method('isAdminSession')
|
56 |
-
->will($this->returnValue(false));
|
57 |
-
$quote = Mage::getModel('sales/quote')->load(11);
|
58 |
-
|
59 |
-
$alias = $aliasHelperMock->getAlias($quote);
|
60 |
-
|
61 |
-
$this->assertTrue(
|
62 |
-
strlen($aliasHelperMock->getAlias($quote)) <= 16
|
63 |
-
);
|
64 |
-
$this->assertTrue(
|
65 |
-
strpos($aliasHelperMock->getAlias($quote), "99") != false
|
66 |
-
);
|
67 |
-
}
|
68 |
-
|
69 |
-
public function testGetAliasWithAdditionalInformation()
|
70 |
-
{
|
71 |
-
$quote = new Varien_Object();
|
72 |
-
$payment = new Varien_Object();
|
73 |
-
$payment->setAdditionalInformation(array('alias' => 'testAlias'));
|
74 |
-
$quote->setPayment($payment);
|
75 |
-
|
76 |
-
$aliasHelperMock = $this->getHelperMock('ops/alias', array('isAdminSession'));
|
77 |
-
$aliasHelperMock->expects($this->any())
|
78 |
-
->method('isAdminSession')
|
79 |
-
->will($this->returnValue(false));
|
80 |
-
|
81 |
-
$this->assertEquals(
|
82 |
-
'testAlias', $aliasHelperMock->getAlias($quote)
|
83 |
-
);
|
84 |
-
|
85 |
-
}
|
86 |
|
87 |
|
88 |
public function testGetOpsCode()
|
@@ -101,10 +63,12 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
101 |
$quote = Mage::getModel('sales/quote');
|
102 |
$this->assertEquals(
|
103 |
null,
|
104 |
-
$this->_helper->saveAlias(
|
|
|
105 |
'OrderID' => 4711,
|
106 |
'StorePermanently' => 'N'
|
107 |
-
|
|
|
108 |
);
|
109 |
}
|
110 |
|
@@ -163,7 +127,7 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
163 |
|
164 |
$oldAliasId = $alias->getId();
|
165 |
$alias = $this->_helper->saveAlias($aliasData, $quote);
|
166 |
-
$this->
|
167 |
}
|
168 |
|
169 |
/**
|
@@ -218,11 +182,14 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
218 |
$aliasData['Alias_StorePermanently'] = 'Y';
|
219 |
|
220 |
$updatedAlias = $this->_helper->saveAlias($aliasData);
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
$this->assertEquals(
|
225 |
-
$this->assertEquals('
|
|
|
|
|
|
|
226 |
|
227 |
}
|
228 |
|
@@ -230,10 +197,10 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
230 |
* @loadFixture ../../../var/fixtures/aliases.yaml
|
231 |
* @loadFixture ../../../var/fixtures/orders.yaml
|
232 |
*/
|
233 |
-
public function
|
234 |
{
|
235 |
$reflection_class = new ReflectionClass("Netresearch_OPS_Helper_Alias");
|
236 |
-
$method = $reflection_class->getMethod("
|
237 |
$method->setAccessible(true);
|
238 |
|
239 |
$quote = Mage::getModel('sales/quote')->load(10);
|
@@ -263,7 +230,7 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
263 |
$alias = $method->invoke($aliasHelper, $quote, $aliasData);
|
264 |
$this->assertEquals('TestAlias', $alias->getAlias());
|
265 |
$this->assertEquals('12.12.0012', $alias->getExpirationDate());
|
266 |
-
$this->
|
267 |
$this->assertEquals(Netresearch_OPS_Model_Alias_State::PENDING, $alias->getState());
|
268 |
|
269 |
$aliasData = array(
|
@@ -282,6 +249,70 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
282 |
$this->assertEquals(Netresearch_OPS_Model_Alias_State::PENDING, $alias->getState());
|
283 |
}
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
/**
|
286 |
* @loadFixture ../../../var/fixtures/aliases.yaml
|
287 |
* @loadFixture ../../../var/fixtures/orders.yaml
|
@@ -560,7 +591,7 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
560 |
'Card_CardHolderName' => 'Max Muster'
|
561 |
);
|
562 |
|
563 |
-
$method->invoke($helperObject, $quote
|
564 |
$updatedAlias = Mage::getModel('ops/alias')->load(7);
|
565 |
$this->assertEquals($aliasData['Card_CardHolderName'], $updatedAlias->getCardHolder());
|
566 |
|
@@ -660,8 +691,8 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
660 |
$quote->setBillingAddress($this->getAddressData());
|
661 |
$quote->setShippingAddress($this->getAddressData());
|
662 |
$quote->getPayment()->setAdditionalInformation('alias', '4714');
|
663 |
-
$quote->getPayment()->setAdditionalInformation('opsAliasId','11111');
|
664 |
-
$quote->getPayment()->setAdditionalInformation('userIsRegistering',true);
|
665 |
$quote->setCheckoutMethod(Mage_Sales_Model_Quote::CHECKOUT_METHOD_REGISTER);
|
666 |
$quote->setStoreId(null);
|
667 |
$billingAddressHash = Mage::helper('ops/alias')->generateAddressHash($quote->getBillingAddress());
|
@@ -673,10 +704,10 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
673 |
->addFieldToFilter('shipping_address_hash', $shippingAddressHash)
|
674 |
->getFirstItem();
|
675 |
|
676 |
-
Mage::helper('ops/alias')->setAliasToActiveAfterUserRegisters($order
|
677 |
$testAlias = Mage::getModel('ops/alias')->load($oldAlias->getId());
|
678 |
$this->assertEquals(Netresearch_OPS_Model_Alias_State::ACTIVE, $testAlias->getState());
|
679 |
-
$this->assertEquals(123
|
680 |
}
|
681 |
|
682 |
/**
|
@@ -698,7 +729,7 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
698 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment);
|
699 |
|
700 |
$this->assertTrue(is_array($payment->getAdditionalInformation()));
|
701 |
-
$this->assertFalse(array_key_exists('cvc'
|
702 |
$this->assertFalse(array_key_exists('storedOPSId', $payment->getAdditionalInformation()));
|
703 |
|
704 |
$quote = Mage::getModel('sales/quote')->load(11);
|
@@ -714,7 +745,7 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
714 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment, true);
|
715 |
|
716 |
$this->assertTrue(is_array($payment->getAdditionalInformation()));
|
717 |
-
$this->assertFalse(array_key_exists('cvc'
|
718 |
$this->assertTrue(array_key_exists('storedOPSId', $payment->getAdditionalInformation()));
|
719 |
}
|
720 |
|
@@ -724,8 +755,7 @@ class Netresearch_OPS_Test_Helper_AliasTest extends EcomDev_PHPUnit_Test_Case
|
|
724 |
{
|
725 |
$payment = $this->getModelMock('sales/quote_payment', array('save'));
|
726 |
$payment->expects($this->once())
|
727 |
-
->method('save')
|
728 |
-
;
|
729 |
|
730 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment, true, true);
|
731 |
|
45 |
$this->replaceByMock('singleton', 'checkout/type_onepage', $onepage);
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
|
50 |
public function testGetOpsCode()
|
63 |
$quote = Mage::getModel('sales/quote');
|
64 |
$this->assertEquals(
|
65 |
null,
|
66 |
+
$this->_helper->saveAlias(
|
67 |
+
array(
|
68 |
'OrderID' => 4711,
|
69 |
'StorePermanently' => 'N'
|
70 |
+
)
|
71 |
+
)
|
72 |
);
|
73 |
}
|
74 |
|
127 |
|
128 |
$oldAliasId = $alias->getId();
|
129 |
$alias = $this->_helper->saveAlias($aliasData, $quote);
|
130 |
+
$this->assertEquals($oldAliasId, $alias->getId());
|
131 |
}
|
132 |
|
133 |
/**
|
182 |
$aliasData['Alias_StorePermanently'] = 'Y';
|
183 |
|
184 |
$updatedAlias = $this->_helper->saveAlias($aliasData);
|
185 |
+
|
186 |
+
|
187 |
+
|
188 |
+
$this->assertEquals(4711, $updatedAlias->getAlias());
|
189 |
+
$this->assertEquals('Mastercard', $updatedAlias->getBrand());
|
190 |
+
$this->assertEquals('xxxx01111', $updatedAlias->getPseudoAccountOrCcNo());
|
191 |
+
$this->assertEquals('1213', $updatedAlias->getExpirationDate());
|
192 |
+
$this->assertEquals('Max Power', $updatedAlias->getCardHolder());
|
193 |
|
194 |
}
|
195 |
|
197 |
* @loadFixture ../../../var/fixtures/aliases.yaml
|
198 |
* @loadFixture ../../../var/fixtures/orders.yaml
|
199 |
*/
|
200 |
+
public function testSaveNewAliasFromQuote()
|
201 |
{
|
202 |
$reflection_class = new ReflectionClass("Netresearch_OPS_Helper_Alias");
|
203 |
+
$method = $reflection_class->getMethod("saveNewAliasFromQuote");
|
204 |
$method->setAccessible(true);
|
205 |
|
206 |
$quote = Mage::getModel('sales/quote')->load(10);
|
230 |
$alias = $method->invoke($aliasHelper, $quote, $aliasData);
|
231 |
$this->assertEquals('TestAlias', $alias->getAlias());
|
232 |
$this->assertEquals('12.12.0012', $alias->getExpirationDate());
|
233 |
+
$this->assertEquals('Foo', $alias->getCardHolder());
|
234 |
$this->assertEquals(Netresearch_OPS_Model_Alias_State::PENDING, $alias->getState());
|
235 |
|
236 |
$aliasData = array(
|
249 |
$this->assertEquals(Netresearch_OPS_Model_Alias_State::PENDING, $alias->getState());
|
250 |
}
|
251 |
|
252 |
+
|
253 |
+
|
254 |
+
/**
|
255 |
+
* @loadFixture ../../../var/fixtures/aliases.yaml
|
256 |
+
* @loadFixture ../../../var/fixtures/orders.yaml
|
257 |
+
*/
|
258 |
+
public function testSaveNewAliasFromOrder()
|
259 |
+
{
|
260 |
+
$reflection_class = new ReflectionClass("Netresearch_OPS_Helper_Alias");
|
261 |
+
$method = $reflection_class->getMethod("saveNewAliasFromOrder");
|
262 |
+
$method->setAccessible(true);
|
263 |
+
|
264 |
+
$order = Mage::getModel('sales/order')->load(11);
|
265 |
+
|
266 |
+
|
267 |
+
|
268 |
+
$aliasData = array(
|
269 |
+
'alias' => 'TestAlias',
|
270 |
+
'brand' => 'Visa',
|
271 |
+
'cardno' => '12345678',
|
272 |
+
'cn' => 'Foo',
|
273 |
+
'Alias_StorePermanently' => 'Y',
|
274 |
+
'ed' => '12.12.0012'
|
275 |
+
);
|
276 |
+
|
277 |
+
|
278 |
+
$aliasHelper = Mage::helper('ops/alias');
|
279 |
+
$alias = $method->invoke($aliasHelper, $order, $aliasData);
|
280 |
+
$this->assertEquals('TestAlias', $alias->getAlias());
|
281 |
+
$this->assertEquals('12.12.0012', $alias->getExpirationDate());
|
282 |
+
$this->assertEquals('Foo', $alias->getCardHolder());
|
283 |
+
$this->assertEquals(Netresearch_OPS_Model_Alias_State::ACTIVE, $alias->getState());
|
284 |
+
|
285 |
+
$aliasData = array(
|
286 |
+
'alias' => 'TestAlias',
|
287 |
+
'brand' => 'Visa',
|
288 |
+
'cardno' => '12345678',
|
289 |
+
'Alias_StorePermanently' => 'Y',
|
290 |
+
'ed' => '12.12.0012',
|
291 |
+
'cn' => null
|
292 |
+
);
|
293 |
+
$aliasHelper = Mage::helper('ops/alias');
|
294 |
+
$alias = $method->invoke($aliasHelper, $order, $aliasData);
|
295 |
+
$this->assertEquals('TestAlias', $alias->getAlias());
|
296 |
+
$this->assertEquals('12.12.0012', $alias->getExpirationDate());
|
297 |
+
$this->assertNull($alias->getCardHolder());
|
298 |
+
$this->assertEquals(Netresearch_OPS_Model_Alias_State::ACTIVE, $alias->getState());
|
299 |
+
|
300 |
+
$aliasData = array(
|
301 |
+
'alias' => 'TestAlias',
|
302 |
+
'brand' => 'Visa',
|
303 |
+
'cardno' => '12345678',
|
304 |
+
'Alias_StorePermanently' => 'Y',
|
305 |
+
'ed' => '12.12.0012',
|
306 |
+
'cn' => ''
|
307 |
+
);
|
308 |
+
$aliasHelper = Mage::helper('ops/alias');
|
309 |
+
$alias = $method->invoke($aliasHelper, $order, $aliasData);
|
310 |
+
$this->assertEquals('TestAlias', $alias->getAlias());
|
311 |
+
$this->assertEquals('12.12.0012', $alias->getExpirationDate());
|
312 |
+
$this->assertEquals('', $alias->getCardHolder());
|
313 |
+
$this->assertEquals(Netresearch_OPS_Model_Alias_State::ACTIVE, $alias->getState());
|
314 |
+
}
|
315 |
+
|
316 |
/**
|
317 |
* @loadFixture ../../../var/fixtures/aliases.yaml
|
318 |
* @loadFixture ../../../var/fixtures/orders.yaml
|
591 |
'Card_CardHolderName' => 'Max Muster'
|
592 |
);
|
593 |
|
594 |
+
$method->invoke($helperObject, $quote, $aliasData);
|
595 |
$updatedAlias = Mage::getModel('ops/alias')->load(7);
|
596 |
$this->assertEquals($aliasData['Card_CardHolderName'], $updatedAlias->getCardHolder());
|
597 |
|
691 |
$quote->setBillingAddress($this->getAddressData());
|
692 |
$quote->setShippingAddress($this->getAddressData());
|
693 |
$quote->getPayment()->setAdditionalInformation('alias', '4714');
|
694 |
+
$quote->getPayment()->setAdditionalInformation('opsAliasId', '11111');
|
695 |
+
$quote->getPayment()->setAdditionalInformation('userIsRegistering', true);
|
696 |
$quote->setCheckoutMethod(Mage_Sales_Model_Quote::CHECKOUT_METHOD_REGISTER);
|
697 |
$quote->setStoreId(null);
|
698 |
$billingAddressHash = Mage::helper('ops/alias')->generateAddressHash($quote->getBillingAddress());
|
704 |
->addFieldToFilter('shipping_address_hash', $shippingAddressHash)
|
705 |
->getFirstItem();
|
706 |
|
707 |
+
Mage::helper('ops/alias')->setAliasToActiveAfterUserRegisters($order, $quote);
|
708 |
$testAlias = Mage::getModel('ops/alias')->load($oldAlias->getId());
|
709 |
$this->assertEquals(Netresearch_OPS_Model_Alias_State::ACTIVE, $testAlias->getState());
|
710 |
+
$this->assertEquals(123, $testAlias->getCustomerId());
|
711 |
}
|
712 |
|
713 |
/**
|
729 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment);
|
730 |
|
731 |
$this->assertTrue(is_array($payment->getAdditionalInformation()));
|
732 |
+
$this->assertFalse(array_key_exists('cvc', $payment->getAdditionalInformation()));
|
733 |
$this->assertFalse(array_key_exists('storedOPSId', $payment->getAdditionalInformation()));
|
734 |
|
735 |
$quote = Mage::getModel('sales/quote')->load(11);
|
745 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment, true);
|
746 |
|
747 |
$this->assertTrue(is_array($payment->getAdditionalInformation()));
|
748 |
+
$this->assertFalse(array_key_exists('cvc', $payment->getAdditionalInformation()));
|
749 |
$this->assertTrue(array_key_exists('storedOPSId', $payment->getAdditionalInformation()));
|
750 |
}
|
751 |
|
755 |
{
|
756 |
$payment = $this->getModelMock('sales/quote_payment', array('save'));
|
757 |
$payment->expects($this->once())
|
758 |
+
->method('save');
|
|
|
759 |
|
760 |
Mage::helper('ops/alias')->cleanUpAdditionalInformation($payment, true, true);
|
761 |
|
app/code/community/Netresearch/OPS/Test/Helper/DataTest.php
CHANGED
@@ -97,13 +97,11 @@ class Netresearch_OPS_Test_Helper_DataTest extends EcomDev_PHPUnit_Test_Case
|
|
97 |
public function sendNoMail()
|
98 |
{
|
99 |
$documentMock = $this->getMockBuilder('Mage_Sales_Model_Order_Shipment')
|
100 |
-
->setMethods(
|
101 |
-
->getMock()
|
102 |
-
;
|
103 |
$documentMock
|
104 |
->expects($this->never())
|
105 |
-
->method('getEmailSent')
|
106 |
-
;
|
107 |
|
108 |
Mage::helper('ops/data')->sendTransactionalEmail($documentMock);
|
109 |
}
|
@@ -113,23 +111,22 @@ class Netresearch_OPS_Test_Helper_DataTest extends EcomDev_PHPUnit_Test_Case
|
|
113 |
*/
|
114 |
public function sendOrderEmail()
|
115 |
{
|
116 |
-
$orderMock = $this->getModelMock(
|
|
|
117 |
'getEmailSent', 'getCanSendNewEmailFlag', 'sendNewOrderEmail'
|
118 |
-
|
|
|
119 |
$orderMock
|
120 |
->expects($this->exactly(3))
|
121 |
->method('getEmailSent')
|
122 |
-
->willReturnOnConsecutiveCalls(true, false, false)
|
123 |
-
;
|
124 |
$orderMock
|
125 |
->expects($this->exactly(2))
|
126 |
->method('getCanSendNewEmailFlag')
|
127 |
-
->willReturnOnConsecutiveCalls(false, true)
|
128 |
-
;
|
129 |
$orderMock
|
130 |
->expects($this->once())
|
131 |
-
->method('sendNewOrderEmail')
|
132 |
-
;
|
133 |
$this->replaceByMock('model', 'sales/order', $orderMock);
|
134 |
|
135 |
$order = Mage::getModel('sales/order');
|
@@ -143,26 +140,25 @@ class Netresearch_OPS_Test_Helper_DataTest extends EcomDev_PHPUnit_Test_Case
|
|
143 |
*/
|
144 |
public function sendInvoiceEmail()
|
145 |
{
|
146 |
-
$configMock = $this->getModelMock('ops/config',
|
147 |
$configMock
|
148 |
->expects($this->exactly(2))
|
149 |
->method('getSendInvoice')
|
150 |
-
->willReturnOnConsecutiveCalls(false, true)
|
151 |
-
;
|
152 |
$this->replaceByMock('model', 'ops/config', $configMock);
|
153 |
|
154 |
-
$invoiceMock = $this->getModelMock(
|
|
|
155 |
'getEmailSent', 'sendEmail'
|
156 |
-
|
|
|
157 |
$invoiceMock
|
158 |
->expects($this->exactly(3))
|
159 |
->method('getEmailSent')
|
160 |
-
->willReturnOnConsecutiveCalls(true, false, false)
|
161 |
-
;
|
162 |
$invoiceMock
|
163 |
->expects($this->once())
|
164 |
-
->method('sendEmail')
|
165 |
-
;
|
166 |
$this->replaceByMock('model', 'sales/order', $invoiceMock);
|
167 |
|
168 |
$order = Mage::getModel('sales/order');
|
97 |
public function sendNoMail()
|
98 |
{
|
99 |
$documentMock = $this->getMockBuilder('Mage_Sales_Model_Order_Shipment')
|
100 |
+
->setMethods(array('getEmailSent'))
|
101 |
+
->getMock();
|
|
|
102 |
$documentMock
|
103 |
->expects($this->never())
|
104 |
+
->method('getEmailSent');
|
|
|
105 |
|
106 |
Mage::helper('ops/data')->sendTransactionalEmail($documentMock);
|
107 |
}
|
111 |
*/
|
112 |
public function sendOrderEmail()
|
113 |
{
|
114 |
+
$orderMock = $this->getModelMock(
|
115 |
+
'sales/order', array(
|
116 |
'getEmailSent', 'getCanSendNewEmailFlag', 'sendNewOrderEmail'
|
117 |
+
)
|
118 |
+
);
|
119 |
$orderMock
|
120 |
->expects($this->exactly(3))
|
121 |
->method('getEmailSent')
|
122 |
+
->willReturnOnConsecutiveCalls(true, false, false);
|
|
|
123 |
$orderMock
|
124 |
->expects($this->exactly(2))
|
125 |
->method('getCanSendNewEmailFlag')
|
126 |
+
->willReturnOnConsecutiveCalls(false, true);
|
|
|
127 |
$orderMock
|
128 |
->expects($this->once())
|
129 |
+
->method('sendNewOrderEmail');
|
|
|
130 |
$this->replaceByMock('model', 'sales/order', $orderMock);
|
131 |
|
132 |
$order = Mage::getModel('sales/order');
|
140 |
*/
|
141 |
public function sendInvoiceEmail()
|
142 |
{
|
143 |
+
$configMock = $this->getModelMock('ops/config', array('getSendInvoice'));
|
144 |
$configMock
|
145 |
->expects($this->exactly(2))
|
146 |
->method('getSendInvoice')
|
147 |
+
->willReturnOnConsecutiveCalls(false, true);
|
|
|
148 |
$this->replaceByMock('model', 'ops/config', $configMock);
|
149 |
|
150 |
+
$invoiceMock = $this->getModelMock(
|
151 |
+
'sales/order_invoice', array(
|
152 |
'getEmailSent', 'sendEmail'
|
153 |
+
)
|
154 |
+
);
|
155 |
$invoiceMock
|
156 |
->expects($this->exactly(3))
|
157 |
->method('getEmailSent')
|
158 |
+
->willReturnOnConsecutiveCalls(true, false, false);
|
|
|
159 |
$invoiceMock
|
160 |
->expects($this->once())
|
161 |
+
->method('sendEmail');
|
|
|
162 |
$this->replaceByMock('model', 'sales/order', $invoiceMock);
|
163 |
|
164 |
$order = Mage::getModel('sales/order');
|
app/code/community/Netresearch/OPS/Test/Helper/DirectDebitTest.php
CHANGED
@@ -12,11 +12,15 @@ class Netresearch_OPS_Test_Helper_DirectDebitTest
|
|
12 |
extends EcomDev_PHPUnit_Test_Case
|
13 |
{
|
14 |
|
|
|
|
|
|
|
15 |
protected function getDirectDebitHelper()
|
16 |
{
|
17 |
return Mage::helper('ops/directDebit');
|
18 |
}
|
19 |
|
|
|
20 |
public function testGetDataHelper()
|
21 |
{
|
22 |
$this->assertTrue(
|
@@ -25,477 +29,116 @@ class Netresearch_OPS_Test_Helper_DirectDebitTest
|
|
25 |
);
|
26 |
}
|
27 |
|
28 |
-
public function
|
29 |
{
|
|
|
|
|
30 |
$this->assertTrue(
|
31 |
-
$this->getDirectDebitHelper()->
|
32 |
-
|
33 |
);
|
34 |
}
|
35 |
|
36 |
-
public function
|
37 |
{
|
38 |
$this->assertTrue(
|
39 |
-
$this->getDirectDebitHelper()->
|
40 |
-
|
41 |
);
|
42 |
}
|
43 |
|
44 |
-
public function
|
45 |
{
|
|
|
|
|
46 |
$this->assertTrue(
|
47 |
-
$this->getDirectDebitHelper()->
|
48 |
-
|
49 |
);
|
50 |
}
|
51 |
|
52 |
-
public function
|
53 |
{
|
54 |
$this->assertTrue(
|
55 |
-
$this->getDirectDebitHelper()->
|
56 |
-
|
57 |
);
|
58 |
}
|
59 |
|
60 |
-
public function
|
61 |
{
|
62 |
-
$
|
63 |
-
$params = array();
|
64 |
-
$this->assertEquals('', $helper->getCountry($params));
|
65 |
-
$params['country'] = 'de';
|
66 |
-
$this->assertEquals('DE', $helper->getCountry($params));
|
67 |
-
}
|
68 |
-
|
69 |
-
public function testHasIban()
|
70 |
-
{
|
71 |
-
$helper = $this->getDirectDebitHelper();
|
72 |
-
$params = array();
|
73 |
-
$this->assertFalse($helper->hasIban($params));
|
74 |
-
$params['iban'] = '';
|
75 |
-
$this->assertFalse($helper->hasIban($params));
|
76 |
-
$params['iban'] = ' ';
|
77 |
-
$this->assertFalse($helper->hasIban($params));
|
78 |
-
$params['iban'] = '123456789';
|
79 |
-
$this->assertTrue($helper->hasIban($params));
|
80 |
-
}
|
81 |
-
|
82 |
-
public function testSetDirectDebitDataToPayment()
|
83 |
-
{
|
84 |
-
$payment = Mage::getModel('sales/quote_payment');
|
85 |
-
$helper = $this->getDirectDebitHelper();
|
86 |
-
$params = array('country' => 'de', 'account' => '', 'bankcode' => '');
|
87 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
88 |
-
$this->assertEquals(
|
89 |
-
'Direct Debits DE', $payment->getAdditionalInformation('PM')
|
90 |
-
);
|
91 |
-
|
92 |
-
$params = array(
|
93 |
-
'country' => 'de', 'CN' => 'Account Holder', 'account' => '',
|
94 |
-
'bankcode' => ''
|
95 |
-
);
|
96 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
97 |
-
$this->assertEquals(
|
98 |
-
'Account Holder', $payment->getAdditionalInformation('CN')
|
99 |
-
);
|
100 |
-
|
101 |
-
$params = array(
|
102 |
-
'country' => 'nl', 'CN' => 'Account Holder',
|
103 |
-
'account' => '1234567', 'bankcode' => ''
|
104 |
-
);
|
105 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
106 |
-
$this->assertEquals(
|
107 |
-
'1234567', $payment->getAdditionalInformation('CARDNO')
|
108 |
-
);
|
109 |
-
|
110 |
-
$params = array(
|
111 |
-
'country' => 'at', 'CN' => 'Account Holder',
|
112 |
-
'account' => '1234567', 'bankcode' => '1234567'
|
113 |
-
);
|
114 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
115 |
-
$this->assertEquals(
|
116 |
-
'1234567BLZ1234567', $payment->getAdditionalInformation('CARDNO')
|
117 |
-
);
|
118 |
-
|
119 |
-
$params = array(
|
120 |
-
'country' => 'de', 'CN' => 'Account Holder',
|
121 |
-
'account' => '1234567', 'bankcode' => '1234567'
|
122 |
-
);
|
123 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
124 |
-
$this->assertEquals(
|
125 |
-
'1234567BLZ1234567', $payment->getAdditionalInformation('CARDNO')
|
126 |
-
);
|
127 |
-
|
128 |
-
$params = array(
|
129 |
-
'country' => 'de', 'CN' => 'Account Holder',
|
130 |
-
'iban' => 'DE1234567890', 'account' => '1234567',
|
131 |
-
'bankcode' => '1234567'
|
132 |
-
);
|
133 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
134 |
-
$this->assertEquals(
|
135 |
-
'DE1234567890', $payment->getAdditionalInformation('CARDNO')
|
136 |
-
);
|
137 |
-
|
138 |
-
$params = array(
|
139 |
-
'country' => 'at', 'CN' => 'Account Holder',
|
140 |
-
'iban' => 'DE1234567890', 'account' => '1234567',
|
141 |
-
'bankcode' => '1234567'
|
142 |
-
);
|
143 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
144 |
-
$this->assertEquals(
|
145 |
-
'1234567BLZ1234567', $payment->getAdditionalInformation('CARDNO')
|
146 |
-
);
|
147 |
|
148 |
-
$
|
149 |
-
|
150 |
-
|
151 |
-
'account' => '1234567', 'bankcode' => '1234567'
|
152 |
-
);
|
153 |
-
$helper->setDirectDebitDataToPayment($payment, $params);
|
154 |
-
$this->assertEquals(
|
155 |
-
'NL1234567890', $payment->getAdditionalInformation('CARDNO')
|
156 |
-
);
|
157 |
-
$this->assertEquals(
|
158 |
-
'12345678', $payment->getAdditionalInformation('BIC')
|
159 |
);
|
160 |
}
|
161 |
|
162 |
-
|
163 |
-
* @loadFixture ../../../var/fixtures/orders.yaml
|
164 |
-
*/
|
165 |
-
public function testGetDirectLinkRequestParams()
|
166 |
{
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
$store->setConfig(
|
172 |
-
'payment_services/ops/inlineOrderReference',
|
173 |
-
Netresearch_OPS_Model_Payment_Abstract::REFERENCE_QUOTE_ID
|
174 |
-
);
|
175 |
-
|
176 |
-
$quote = Mage::getModel('sales/quote')->load(10);
|
177 |
-
$order = Mage::getModel('sales/order')->load(11);
|
178 |
-
$dataHelper = $this->getHelperMock('ops/data', array('isAdminSession'));
|
179 |
-
$dataHelper->expects($this->any())
|
180 |
-
->method('isAdminSession')
|
181 |
-
->will($this->returnValue(false));
|
182 |
-
|
183 |
-
$customerHelper = $this->getHelperMock(
|
184 |
-
'customer/data', array('isLoggedIn')
|
185 |
-
);
|
186 |
-
$customerHelper->expects($this->any())
|
187 |
-
->method('isLoggedIn')
|
188 |
-
->will($this->returnValue(false));
|
189 |
-
|
190 |
-
$quoteHelper = $this->getHelperMock(
|
191 |
-
'ops/quote', array('getPaymentAction', 'getQuoteCurrency')
|
192 |
-
);
|
193 |
-
$quoteHelper->expects($this->any())
|
194 |
-
->method('getPaymentAction')
|
195 |
-
->will($this->returnValue('RES'));
|
196 |
-
$quoteHelper->expects($this->any())
|
197 |
-
->method('getQuoteCurrency')
|
198 |
-
->will($this->returnValue('EUR'));
|
199 |
-
|
200 |
-
$orderHelper = $this->getHelperMock(
|
201 |
-
'ops/order', array('checkIfAddressesAreSame')
|
202 |
-
);
|
203 |
-
$orderHelper->expects($this->any())
|
204 |
-
->method('checkIfAddressesAreSame')
|
205 |
-
->will($this->returnValue(1));
|
206 |
-
|
207 |
-
$helper = $this->getDirectDebitHelper();
|
208 |
-
$helper->setDataHelper($dataHelper);
|
209 |
-
$helper->setCustomerHelper($customerHelper);
|
210 |
-
$helper->setQuoteHelper($quoteHelper);
|
211 |
-
$helper->setOrderHelper($orderHelper);
|
212 |
-
$this->assertEquals(
|
213 |
-
$this->getExpectedResultOnFrontendRequest($order),
|
214 |
-
$helper->getDirectLinkRequestParams($quote, $order)
|
215 |
);
|
216 |
}
|
217 |
|
218 |
-
|
219 |
-
* @loadFixture ../../../var/fixtures/orders.yaml
|
220 |
-
*/
|
221 |
-
public function testGetDirectLinkRequestParamsWithNoShippingAddress()
|
222 |
{
|
223 |
-
$
|
224 |
-
$order = Mage::getModel('sales/order')->load(28);
|
225 |
-
$dataHelper = $this->getHelperMock('ops/data', array('isAdminSession'));
|
226 |
-
$dataHelper->expects($this->any())
|
227 |
-
->method('isAdminSession')
|
228 |
-
->will($this->returnValue(false));
|
229 |
|
230 |
-
$
|
231 |
-
|
232 |
-
|
233 |
-
$customerHelper->expects($this->any())
|
234 |
-
->method('isLoggedIn')
|
235 |
-
->will($this->returnValue(false));
|
236 |
-
|
237 |
-
$quoteHelper = $this->getHelperMock(
|
238 |
-
'ops/quote', array('getPaymentAction', 'getQuoteCurrency')
|
239 |
-
);
|
240 |
-
$quoteHelper->expects($this->any())
|
241 |
-
->method('getPaymentAction')
|
242 |
-
->will($this->returnValue('RES'));
|
243 |
-
$quoteHelper->expects($this->any())
|
244 |
-
->method('getQuoteCurrency')
|
245 |
-
->will($this->returnValue('EUR'));
|
246 |
-
|
247 |
-
$configMock = $this->getModelMock('ops/config', array('canSubmitExtraParameter'));
|
248 |
-
$configMock->expects($this->any())
|
249 |
-
->method('canSubmitExtraParameter')
|
250 |
-
->will($this->returnValue(true));
|
251 |
-
|
252 |
-
$helper = $this->getDirectDebitHelper();
|
253 |
-
$helper->setConfig($configMock);
|
254 |
-
$helper->getRequestHelper()->setConfig($configMock);
|
255 |
-
$helper->setDataHelper($dataHelper);
|
256 |
-
$helper->setCustomerHelper($customerHelper);
|
257 |
-
$helper->setQuoteHelper($quoteHelper);
|
258 |
-
|
259 |
-
$result = $helper->getDirectLinkRequestParams($quote, $order);
|
260 |
-
$this->assertEquals(
|
261 |
-
'04227',
|
262 |
-
$result['ECOM_SHIPTO_POSTAL_POSTALCODE']
|
263 |
);
|
264 |
}
|
265 |
|
266 |
-
|
267 |
-
* @loadFixture ../../../var/fixtures/orders.yaml
|
268 |
-
*/
|
269 |
-
public function testGetDirectLinkRequestParamsWithLoggedInCustomer()
|
270 |
{
|
271 |
-
$quote
|
272 |
-
$
|
273 |
-
|
274 |
-
|
275 |
-
->method('isAdminSession')
|
276 |
-
->will($this->returnValue(false));
|
277 |
-
|
278 |
-
$fakeCustomer = new Varien_Object();
|
279 |
-
$fakeCustomer->setId(666);
|
280 |
-
$customerHelper = $this->getHelperMock(
|
281 |
-
'customer/data', array('isLoggedIn', 'getCustomer')
|
282 |
-
);
|
283 |
-
$customerHelper->expects($this->any())
|
284 |
-
->method('isLoggedIn')
|
285 |
-
->will($this->returnValue(true));
|
286 |
-
$customerHelper->expects($this->any())
|
287 |
-
->method('getCustomer')
|
288 |
-
->will($this->returnValue($fakeCustomer));
|
289 |
-
|
290 |
-
$quoteHelper = $this->getHelperMock(
|
291 |
-
'ops/quote', array('getPaymentAction', 'getQuoteCurrency')
|
292 |
);
|
293 |
-
$quoteHelper->expects($this->any())
|
294 |
-
->method('getPaymentAction')
|
295 |
-
->will($this->returnValue('RES'));
|
296 |
-
$quoteHelper->expects($this->any())
|
297 |
-
->method('getQuoteCurrency')
|
298 |
-
->will($this->returnValue('EUR'));
|
299 |
-
$configMock = $this->getModelMock('ops/config', array('canSubmitExtraParameter'));
|
300 |
-
$configMock->expects($this->any())
|
301 |
-
->method('canSubmitExtraParameter')
|
302 |
-
->will($this->returnValue(true));
|
303 |
-
$helper = $this->getDirectDebitHelper();
|
304 |
-
$helper->setConfig($configMock);
|
305 |
-
$helper->getRequestHelper()->setConfig($configMock);
|
306 |
-
$helper->setDataHelper($dataHelper);
|
307 |
-
$helper->setCustomerHelper($customerHelper);
|
308 |
-
$helper->setQuoteHelper($quoteHelper);
|
309 |
-
|
310 |
-
$result = $helper->getDirectLinkRequestParams($quote, $order);
|
311 |
-
$this->assertEquals(666, $result['CUID']);
|
312 |
}
|
313 |
|
314 |
-
|
315 |
/**
|
316 |
-
* @loadFixture
|
317 |
*/
|
318 |
-
public function
|
319 |
{
|
320 |
-
$
|
321 |
-
$order
|
322 |
-
|
323 |
-
$validator = $this->getModelMock(
|
324 |
-
'ops/validator_payment_directDebit', array('isValid')
|
325 |
-
);
|
326 |
-
$validator->expects($this->any())
|
327 |
-
->method('isValid')
|
328 |
-
->will($this->returnValue(true));
|
329 |
-
|
330 |
-
$dataHelper = $this->getHelperMock('ops/data', array('isAdminSession'));
|
331 |
-
$dataHelper->expects($this->any())
|
332 |
-
->method('isAdminSession')
|
333 |
-
->will($this->returnValue(true));
|
334 |
-
|
335 |
-
$customerHelper = $this->getHelperMock(
|
336 |
-
'customer/data', array('isLoggedIn')
|
337 |
-
);
|
338 |
-
$customerHelper->expects($this->any())
|
339 |
-
->method('isLoggedIn')
|
340 |
-
->will($this->returnValue(false));
|
341 |
-
|
342 |
-
$quoteHelper = $this->getHelperMock(
|
343 |
-
'ops/quote', array('getPaymentAction', 'getQuoteCurrency')
|
344 |
-
);
|
345 |
-
$quoteHelper->expects($this->any())
|
346 |
-
->method('getPaymentAction')
|
347 |
-
->will($this->returnValue('RES'));
|
348 |
-
$quoteHelper->expects($this->any())
|
349 |
-
->method('getQuoteCurrency')
|
350 |
-
->will($this->returnValue('EUR'));
|
351 |
-
|
352 |
-
$orderHelper = $this->getHelperMock(
|
353 |
-
'ops/order', array('checkIfAddressesAreSame')
|
354 |
-
);
|
355 |
-
$orderHelper->expects($this->any())
|
356 |
-
->method('checkIfAddressesAreSame')
|
357 |
-
->will($this->returnValue(1));
|
358 |
-
|
359 |
$helper = $this->getDirectDebitHelper();
|
360 |
-
$helper->setDataHelper($dataHelper);
|
361 |
-
$helper->setCustomerHelper($customerHelper);
|
362 |
-
$helper->setQuoteHelper($quoteHelper);
|
363 |
-
$helper->setOrderHelper($orderHelper);
|
364 |
-
$helper->setValidator($validator);
|
365 |
-
|
366 |
-
$params = array(
|
367 |
-
'country' => 'DE', 'CN' => 'Hans Wurst', 'account' => '4711',
|
368 |
-
'bankcode' => '0815'
|
369 |
-
);
|
370 |
-
$helper->handleAdminPayment($quote, $params);
|
371 |
-
$result = $helper->getDirectLinkRequestParams($quote, $order, $params);
|
372 |
-
$this->assertEquals('Direct Debits DE', $result['PM']);
|
373 |
-
$this->assertEquals('Hans Wurst', $result['CN']);
|
374 |
-
$this->assertEquals($result['PM'], $result['BRAND']);
|
375 |
-
$this->assertEquals('4711BLZ0815', $result['CARDNO']);
|
376 |
-
$this->assertEquals(1, $result['ECI']);
|
377 |
-
|
378 |
$params = array(
|
379 |
-
'
|
380 |
-
'
|
381 |
-
|
382 |
-
|
383 |
-
$result = $helper->getDirectLinkRequestParams($quote, $order, $params);
|
384 |
-
$this->assertEquals('0816', $result['CARDNO']);
|
385 |
-
$this->assertArrayNotHasKey('BIC', $result);
|
386 |
-
|
387 |
-
$params = array(
|
388 |
-
'country' => 'NL', 'CN' => 'Hans Wurst', 'account' => '4711',
|
389 |
-
'bankcode' => '0815', 'bic' => '4712', 'iban' => '0816'
|
390 |
-
);
|
391 |
-
$helper->handleAdminPayment($quote, $params);
|
392 |
-
$result = $helper->getDirectLinkRequestParams($quote, $order, $params);
|
393 |
-
$this->assertEquals('0816', $result['CARDNO']);
|
394 |
-
$this->assertArrayHasKey('BIC', $result);
|
395 |
-
$this->assertEquals('4712', $result['BIC']);
|
396 |
-
|
397 |
-
$params = array(
|
398 |
-
'country' => 'NL', 'CN' => 'Hans Wurst', 'account' => '4711',
|
399 |
-
'bankcode' => '0815', 'bic' => '', 'iban' => '0816'
|
400 |
-
);
|
401 |
-
$quote->getPayment()->setAdditionalInformation('PM', 'Direct Debits NL');
|
402 |
-
$helper->handleAdminPayment($quote, $params);
|
403 |
-
$result = $helper->getDirectLinkRequestParams($quote, $order, $params);
|
404 |
-
$this->assertArrayNotHasKey('BIC', $result);
|
405 |
-
|
406 |
-
$params = array(
|
407 |
-
'country' => 'DE', 'CN' => 'Hans Wurst', 'account' => '4711',
|
408 |
-
'bankcode' => '0815', 'bic' => '', 'iban' => '0816'
|
409 |
);
|
410 |
-
$quote->getPayment()->setAdditionalInformation('PM', 'Direct Debits DE');
|
411 |
-
$helper->handleAdminPayment($quote, $params);
|
412 |
$result = $helper->getDirectLinkRequestParams($quote, $order, $params);
|
413 |
-
$this->assertArrayNotHasKey('BIC', $result);
|
414 |
-
}
|
415 |
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
*/
|
420 |
-
public function testGetDirectLinkRequestParamsForBackendOrderThrowsException(
|
421 |
-
)
|
422 |
-
{
|
423 |
-
$sessionMock = $this->getModelMock(
|
424 |
-
'adminhtml/session', array('init', 'save')
|
425 |
-
);
|
426 |
-
$this->replaceByMock('model', 'adminhtml/session', $sessionMock);
|
427 |
-
|
428 |
-
$quote = Mage::getModel('sales/quote')->load(10);
|
429 |
-
$order = Mage::getModel('sales/order')->load(11);
|
430 |
-
|
431 |
-
$validator = $this->getModelMock(
|
432 |
-
'ops/validator_payment_directDebit', array('isValid', 'getMessages')
|
433 |
-
);
|
434 |
-
$validator->expects($this->any())
|
435 |
-
->method('isValid')
|
436 |
-
->will($this->returnValue(false));
|
437 |
-
$validator->expects($this->any())
|
438 |
-
->method('getMessages')
|
439 |
-
->will($this->returnValue(array('foo', 'bar')));
|
440 |
-
|
441 |
-
$dataHelper = $this->getHelperMock('ops/data', array('isAdminSession'));
|
442 |
-
$dataHelper->expects($this->any())
|
443 |
-
->method('isAdminSession')
|
444 |
-
->will($this->returnValue(true));
|
445 |
-
|
446 |
-
$helper = $this->getDirectDebitHelper();
|
447 |
-
$helper->setDataHelper($dataHelper);
|
448 |
-
$helper->setValidator($validator);
|
449 |
-
|
450 |
-
$params = array(
|
451 |
-
'country' => 'DE', 'CN' => 'Hans Wurst', 'account' => '4711',
|
452 |
-
'bankcode' => '0815'
|
453 |
-
);
|
454 |
-
try {
|
455 |
-
$helper->getDirectLinkRequestParams(
|
456 |
-
$quote, $order, $params
|
457 |
-
);
|
458 |
-
} catch (Exception $e) {
|
459 |
-
|
460 |
-
}
|
461 |
}
|
462 |
|
463 |
-
protected function
|
464 |
{
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
)
|
477 |
-
|
478 |
-
|
479 |
-
'OWNERTELNO' => NULL,
|
480 |
-
'OWNERCTY' => "DE",
|
481 |
-
'ADDMATCH' => 1,
|
482 |
-
'RTIMEOUT' => 45,
|
483 |
-
'ECOM_SHIPTO_POSTAL_POSTALCODE' => "04229",
|
484 |
-
'ECOM_BILLTO_POSTAL_POSTALCODE' => "04229",
|
485 |
-
'ORIG' => Mage::helper("ops")->getModuleVersionString(),
|
486 |
-
'BRAND' => NULL,
|
487 |
-
'ECOM_SHIPTO_POSTAL_NAME_FIRST' => 'Hubertus',
|
488 |
-
'ECOM_SHIPTO_POSTAL_NAME_LAST' => utf8_decode('Fürstenberg'),
|
489 |
-
'ECOM_SHIPTO_POSTAL_STREET_LINE1' => utf8_decode('An der Tabaksmühle 3a'),
|
490 |
-
'ECOM_SHIPTO_POSTAL_STREET_LINE2' => '',
|
491 |
-
'ECOM_SHIPTO_POSTAL_COUNTRYCODE' => 'DE',
|
492 |
-
'ECOM_SHIPTO_POSTAL_CITY' => 'Leipzig',
|
493 |
-
'EMAIL' => 'hubertus.von.fuerstenberg@trash-mail.com',
|
494 |
-
'REMOTE_ADDR' => null,
|
495 |
-
'ECOM_SHIPTO_POSTAL_STATE' => ''
|
496 |
-
);
|
497 |
-
|
498 |
}
|
499 |
-
|
500 |
-
|
501 |
-
}
|
12 |
extends EcomDev_PHPUnit_Test_Case
|
13 |
{
|
14 |
|
15 |
+
/**
|
16 |
+
* @return Netresearch_OPS_Helper_DirectDebit
|
17 |
+
*/
|
18 |
protected function getDirectDebitHelper()
|
19 |
{
|
20 |
return Mage::helper('ops/directDebit');
|
21 |
}
|
22 |
|
23 |
+
|
24 |
public function testGetDataHelper()
|
25 |
{
|
26 |
$this->assertTrue(
|
29 |
);
|
30 |
}
|
31 |
|
32 |
+
public function testSetDataHelper()
|
33 |
{
|
34 |
+
$this->getDirectDebitHelper()->setDataHelper(Mage::helper('ops/data'));
|
35 |
+
|
36 |
$this->assertTrue(
|
37 |
+
$this->getDirectDebitHelper()->getDataHelper() instanceof
|
38 |
+
Netresearch_OPS_Helper_Data
|
39 |
);
|
40 |
}
|
41 |
|
42 |
+
public function testGetQuoteHelper()
|
43 |
{
|
44 |
$this->assertTrue(
|
45 |
+
$this->getDirectDebitHelper()->getQuoteHelper() instanceof
|
46 |
+
Netresearch_OPS_Helper_Quote
|
47 |
);
|
48 |
}
|
49 |
|
50 |
+
public function testSetQuoteHelper()
|
51 |
{
|
52 |
+
$this->getDirectDebitHelper()->setQuoteHelper(Mage::helper('ops/quote'));
|
53 |
+
|
54 |
$this->assertTrue(
|
55 |
+
$this->getDirectDebitHelper()->getQuoteHelper() instanceof
|
56 |
+
Netresearch_OPS_Helper_Quote
|
57 |
);
|
58 |
}
|
59 |
|
60 |
+
public function testGetOrderHelper()
|
61 |
{
|
62 |
$this->assertTrue(
|
63 |
+
$this->getDirectDebitHelper()->getOrderHelper() instanceof
|
64 |
+
Netresearch_OPS_Helper_Order
|
65 |
);
|
66 |
}
|
67 |
|
68 |
+
public function testSetOrderHelper()
|
69 |
{
|
70 |
+
$this->getDirectDebitHelper()->setOrderHelper(Mage::helper('ops/order'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
+
$this->assertTrue(
|
73 |
+
$this->getDirectDebitHelper()->getOrderHelper() instanceof
|
74 |
+
Netresearch_OPS_Helper_Order
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
);
|
76 |
}
|
77 |
|
78 |
+
public function testGetCustomerHelper()
|
|
|
|
|
|
|
79 |
{
|
80 |
+
$this->assertTrue(
|
81 |
+
$this->getDirectDebitHelper()->getCustomerHelper() instanceof
|
82 |
+
Mage_Customer_Helper_Data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
);
|
84 |
}
|
85 |
|
86 |
+
public function testSetCustomerHelper()
|
|
|
|
|
|
|
87 |
{
|
88 |
+
$this->getDirectDebitHelper()->setCustomerHelper(Mage::helper('customer/data'));
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
$this->assertTrue(
|
91 |
+
$this->getDirectDebitHelper()->getCustomerHelper() instanceof
|
92 |
+
Mage_Customer_Helper_Data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
);
|
94 |
}
|
95 |
|
96 |
+
public function testHandleAdminPayment()
|
|
|
|
|
|
|
97 |
{
|
98 |
+
$quote = Mage::getModel('sales/quote');
|
99 |
+
$this->assertTrue(
|
100 |
+
$this->getDirectDebitHelper()->handleAdminPayment($quote, array())
|
101 |
+
instanceof Netresearch_OPS_Helper_DirectDebit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
|
|
105 |
/**
|
106 |
+
* @loadFixture orders.yaml
|
107 |
*/
|
108 |
+
public function testGetPaymentSpecificParamsForFrontend()
|
109 |
{
|
110 |
+
$this->mockSessions();
|
111 |
+
$order = Mage::getModel('sales/order')->load(1);
|
112 |
+
$quote = Mage::getModel('sales/quote')->load(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
$helper = $this->getDirectDebitHelper();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
$params = array(
|
115 |
+
'country_id' => 'de',
|
116 |
+
'CN' => 'Account Holder',
|
117 |
+
'account' => '1234567',
|
118 |
+
'bankcode' => '1234567'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
);
|
|
|
|
|
120 |
$result = $helper->getDirectLinkRequestParams($quote, $order, $params);
|
|
|
|
|
121 |
|
122 |
+
$this->assertTrue((isset($result['BRAND'])) && $result['BRAND'] = "Direct Debits DE");
|
123 |
+
$this->assertTrue((isset($result['PM'])) && $result['PM'] = "Direct Debits DE");
|
124 |
+
$this->assertTrue((isset($result['ALIAS'])) && $result['ALIAS'] = "0000000012385139");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
}
|
126 |
|
127 |
+
protected function mockSessions()
|
128 |
{
|
129 |
+
$sessionMock = $this->getModelMockBuilder('admin/session')
|
130 |
+
->disableOriginalConstructor()
|
131 |
+
->getMock();
|
132 |
+
$this->replaceByMock('singleton', 'admin/session', $sessionMock);
|
133 |
+
|
134 |
+
$sessionMock = $this->getModelMockBuilder('core/session')
|
135 |
+
->disableOriginalConstructor()
|
136 |
+
->getMock();
|
137 |
+
$this->replaceByMock('singleton', 'core/session', $sessionMock);
|
138 |
+
|
139 |
+
$sessionMock = $this->getModelMockBuilder('customer/session')
|
140 |
+
->disableOriginalConstructor()
|
141 |
+
->getMock();
|
142 |
+
$this->replaceByMock('singleton', 'customer/session', $sessionMock);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
+
}
|
|
|
|
app/code/community/Netresearch/OPS/Test/Helper/DirectDebitTest/fixtures/orders.yaml
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
tables:
|
2 |
+
sales/order:
|
3 |
+
- entity_id: 1
|
4 |
+
increment_id: 100000001
|
5 |
+
shipping_address_id: 1
|
6 |
+
base_grand_total: 119.00
|
7 |
+
grand_total: 119.00
|
8 |
+
currency: 'EUR'
|
9 |
+
customer_gender: 1
|
10 |
+
shipping_method: 'flatrate_flatrate'
|
11 |
+
customer_email: 'hubertus.von.fuerstenberg@trash-mail.com'
|
12 |
+
state: 'pending_payment'
|
13 |
+
status: 'pending_payment'
|
14 |
+
quote_id: 1
|
15 |
+
store_id: 0
|
16 |
+
|
17 |
+
sales/quote:
|
18 |
+
- entity_id: 1
|
19 |
+
orig_order_id: 1
|
20 |
+
base_grand_total: 119.00
|
21 |
+
grand_total: 119.00
|
22 |
+
currency: 'EUR'
|
23 |
+
customer_gender: 1
|
24 |
+
shipping_method: 'flatrate_flatrate'
|
25 |
+
|
26 |
+
|
27 |
+
sales/quote_payment:
|
28 |
+
- payment_id: 1
|
29 |
+
quote_id: 1
|
30 |
+
updated_at: '1970-01-01'
|
31 |
+
method: 'ops_directDebit'
|
32 |
+
additional_information: a:5:{s:5:"alias";s:16:"0000000012385139";s:10:"country_id";s:2:"DE";s:10:"opsAliasId";s:2:"21";s:8:"CC_BRAND";s:16:"Direct Debits DE";s:5:"CC_CN";s:4:"asda";}
|
33 |
+
|
34 |
+
|
35 |
+
sales/order_payment:
|
36 |
+
- entity_id: 1
|
37 |
+
parent_id: 1
|
38 |
+
method: 'ops_directDebit'
|
39 |
+
|
40 |
+
|
41 |
+
sales/shipment:
|
42 |
+
- entity_id: 1
|
43 |
+
increment_id: 100000001
|
44 |
+
order_id: 1
|
45 |
+
shipping_address_id: 42
|
46 |
+
|
47 |
+
sales/order_address:
|
48 |
+
- entity_id: 1
|
49 |
+
parent_id: 1
|
50 |
+
address_type: 'billing'
|
51 |
+
firstname: 'Hubertus'
|
52 |
+
postcode: '04229'
|
53 |
+
lastname: 'Fürstenberg'
|
54 |
+
street: 'An der Tabaksmühle 3a'
|
55 |
+
city: 'Leipzig'
|
56 |
+
email: 'hubertus.von.fuerstenberg@trash-mail.com'
|
57 |
+
country_id: 'DE'
|
58 |
+
prefix: 'Prof. Dr.'
|
59 |
+
middlename: 'von'
|
60 |
+
suffix: 'MdL'
|
61 |
+
company: ''
|
62 |
+
fax: 12345678
|
63 |
+
|
64 |
+
- entity_id: 2
|
65 |
+
parent_id: 1
|
66 |
+
address_type: 'shipping'
|
67 |
+
firstname: 'Hubertus'
|
68 |
+
postcode: '04229'
|
69 |
+
lastname: 'Fürstenberg'
|
70 |
+
street: 'An der Tabaksmühle 3a'
|
71 |
+
city: 'Leipzig'
|
72 |
+
email: 'hubertus.von.fuerstenberg@trash-mail.com'
|
73 |
+
country_id: 'DE'
|
74 |
+
prefix: 'Prof. Dr.'
|
75 |
+
middlename: 'von'
|
76 |
+
suffix: 'MdL'
|
77 |
+
company: ''
|
78 |
+
same_as_billing: 1
|
79 |
+
|
app/code/community/Netresearch/OPS/Test/Helper/DirectLinkTest.php
CHANGED
@@ -7,9 +7,13 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
7 |
parent::setup();
|
8 |
$this->_helper = Mage::helper('ops/directlink');
|
9 |
$transaction = Mage::getModel('sales/order_payment_transaction');
|
10 |
-
$transaction->setAdditionalInformation(
|
11 |
-
'
|
12 |
-
|
|
|
|
|
|
|
|
|
13 |
$transaction->setIsClosed(0);
|
14 |
$this->_transaction = $transaction;
|
15 |
$this->_order = Mage::getModel('sales/order');
|
@@ -19,7 +23,13 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
19 |
|
20 |
public function testDeleteActions()
|
21 |
{
|
22 |
-
$this->assertFalse(
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
$this->assertFalse($this->_helper->isValidOpsRequest($this->_transaction, $this->_order, array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETION_PENDING)));
|
24 |
$this->assertFalse($this->_helper->isValidOpsRequest($this->_transaction, $this->_order, array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETION_UNCERTAIN)));
|
25 |
$this->assertFalse($this->_helper->isValidOpsRequest($this->_transaction, $this->_order, array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETION_REFUSED)));
|
@@ -86,6 +96,10 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
86 |
*/
|
87 |
public function testProcessFeedbackCaptureSuccess()
|
88 |
{
|
|
|
|
|
|
|
|
|
89 |
$this->mockEmailHelper($this->once());
|
90 |
|
91 |
$order = Mage::getModel('sales/order')->load(11);
|
@@ -150,7 +164,8 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
150 |
|
151 |
|
152 |
$closure = function ($order, $params = array()) {
|
153 |
-
$order->getPayment()->setAdditionalInformation(
|
|
|
154 |
Netresearch_OPS_Model_Status::REFUND_PROCESSED_BY_MERCHANT
|
155 |
);
|
156 |
return $order->getPayment();
|
@@ -184,7 +199,8 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
184 |
|
185 |
|
186 |
$closure = function ($order, $params = array()) {
|
187 |
-
$order->getPayment()->setAdditionalInformation(
|
|
|
188 |
Netresearch_OPS_Model_Status::PAYMENT_PROCESSING
|
189 |
);
|
190 |
return $order->getPayment();
|
@@ -252,7 +268,8 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
252 |
|
253 |
|
254 |
$closure = function ($order, $params = array()) {
|
255 |
-
$order->getPayment()->setAdditionalInformation(
|
|
|
256 |
Netresearch_OPS_Model_Status::REFUND_PENDING
|
257 |
);
|
258 |
return $order->getPayment();
|
@@ -447,7 +464,8 @@ class Netresearch_OPS_Test_Helper_DirectLinkTest
|
|
447 |
|
448 |
|
449 |
$closure = function ($order, $params = array()) {
|
450 |
-
$order->getPayment()->setAdditionalInformation(
|
|
|
451 |
);
|
452 |
return $order->getPayment();
|
453 |
};
|
7 |
parent::setup();
|
8 |
$this->_helper = Mage::helper('ops/directlink');
|
9 |
$transaction = Mage::getModel('sales/order_payment_transaction');
|
10 |
+
$transaction->setAdditionalInformation(
|
11 |
+
'arrInfo', serialize(
|
12 |
+
array(
|
13 |
+
'amount' => '184.90'
|
14 |
+
)
|
15 |
+
)
|
16 |
+
);
|
17 |
$transaction->setIsClosed(0);
|
18 |
$this->_transaction = $transaction;
|
19 |
$this->_order = Mage::getModel('sales/order');
|
23 |
|
24 |
public function testDeleteActions()
|
25 |
{
|
26 |
+
$this->assertFalse(
|
27 |
+
$this->_helper->isValidOpsRequest(
|
28 |
+
$this->_transaction,
|
29 |
+
$this->_order,
|
30 |
+
array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETED)
|
31 |
+
)
|
32 |
+
);
|
33 |
$this->assertFalse($this->_helper->isValidOpsRequest($this->_transaction, $this->_order, array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETION_PENDING)));
|
34 |
$this->assertFalse($this->_helper->isValidOpsRequest($this->_transaction, $this->_order, array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETION_UNCERTAIN)));
|
35 |
$this->assertFalse($this->_helper->isValidOpsRequest($this->_transaction, $this->_order, array('STATUS'=> Netresearch_OPS_Model_Status::PAYMENT_DELETION_REFUSED)));
|
96 |
*/
|
97 |
public function testProcessFeedbackCaptureSuccess()
|
98 |
{
|
99 |
+
$rssSession = $this->mockSession('rss/session')->disableOriginalConstructor();
|
100 |
+
$this->replaceByMock('model', 'rss/session', $rssSession);
|
101 |
+
$adminSession = $this->mockSession('admin/session')->disableOriginalConstructor();
|
102 |
+
$this->replaceByMock('model', 'admin/session', $adminSession);
|
103 |
$this->mockEmailHelper($this->once());
|
104 |
|
105 |
$order = Mage::getModel('sales/order')->load(11);
|
164 |
|
165 |
|
166 |
$closure = function ($order, $params = array()) {
|
167 |
+
$order->getPayment()->setAdditionalInformation(
|
168 |
+
'status',
|
169 |
Netresearch_OPS_Model_Status::REFUND_PROCESSED_BY_MERCHANT
|
170 |
);
|
171 |
return $order->getPayment();
|
199 |
|
200 |
|
201 |
$closure = function ($order, $params = array()) {
|
202 |
+
$order->getPayment()->setAdditionalInformation(
|
203 |
+
'status',
|
204 |
Netresearch_OPS_Model_Status::PAYMENT_PROCESSING
|
205 |
);
|
206 |
return $order->getPayment();
|
268 |
|
269 |
|
270 |
$closure = function ($order, $params = array()) {
|
271 |
+
$order->getPayment()->setAdditionalInformation(
|
272 |
+
'status',
|
273 |
Netresearch_OPS_Model_Status::REFUND_PENDING
|
274 |
);
|
275 |
return $order->getPayment();
|
464 |
|
465 |
|
466 |
$closure = function ($order, $params = array()) {
|
467 |
+
$order->getPayment()->setAdditionalInformation(
|
468 |
+
'status', Netresearch_OPS_Model_Status::AUTHORIZED
|
469 |
);
|
470 |
return $order->getPayment();
|
471 |
};
|
app/code/community/Netresearch/OPS/Test/Helper/MobileDetectTest.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once Mage::getBaseDir('lib') .DS. 'MobileDetect' .DS. 'Mobile_Detect.php';
|
4 |
+
|
5 |
+
class Netresearch_OPS_Test_Helper_MobileDetectTest extends EcomDev_PHPUnit_Test_Case
|
6 |
+
{
|
7 |
+
/** @var Netresearch_OPS_Helper_MobileDetect */
|
8 |
+
protected $helper;
|
9 |
+
|
10 |
+
protected $detectorMock;
|
11 |
+
|
12 |
+
public function setUp()
|
13 |
+
{
|
14 |
+
parent::setup();
|
15 |
+
$this->detectorMock = $this->getMockBuilder('Mobile_Detect')
|
16 |
+
->setMethods(array('isMobile', 'isTablet'))
|
17 |
+
->getMock();
|
18 |
+
$this->helper = Mage::helper('ops/mobileDetect');
|
19 |
+
$this->helper->setDetector($this->detectorMock);
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @test
|
24 |
+
*/
|
25 |
+
public function testGetDeviceTypeMobile()
|
26 |
+
{
|
27 |
+
$this->detectorMock
|
28 |
+
->expects($this->once())
|
29 |
+
->method('isMobile')
|
30 |
+
->willReturn(true);
|
31 |
+
|
32 |
+
$this->detectorMock
|
33 |
+
->expects($this->once())
|
34 |
+
->method('isTablet')
|
35 |
+
->willReturn(false);
|
36 |
+
|
37 |
+
$this->assertEquals(Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_MOBILE, $this->helper->getDeviceType());
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @test
|
42 |
+
*/
|
43 |
+
public function testGetDeviceTypeTablet()
|
44 |
+
{
|
45 |
+
$this->detectorMock
|
46 |
+
->expects($this->once())
|
47 |
+
->method('isMobile')
|
48 |
+
->willReturn(false);
|
49 |
+
|
50 |
+
$this->detectorMock
|
51 |
+
->expects($this->once())
|
52 |
+
->method('isTablet')
|
53 |
+
->willReturn(true);
|
54 |
+
|
55 |
+
$this->assertEquals(Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_TABLET, $this->helper->getDeviceType());
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @test
|
60 |
+
*/
|
61 |
+
public function testGetDeviceTypeComputer()
|
62 |
+
{
|
63 |
+
$this->detectorMock
|
64 |
+
->expects($this->once())
|
65 |
+
->method('isMobile')
|
66 |
+
->willReturn(false);
|
67 |
+
|
68 |
+
$this->detectorMock
|
69 |
+
->expects($this->once())
|
70 |
+
->method('isTablet')
|
71 |
+
->willReturn(false);
|
72 |
+
|
73 |
+
$this->assertEquals(Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_COMPUTER, $this->helper->getDeviceType());
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
|
app/code/community/Netresearch/OPS/Test/Helper/Payment/RequestTest.php
CHANGED
@@ -49,11 +49,14 @@ class Netresearch_OPS_Test_Helper_Payment_RequestTest extends EcomDev_PHPUnit_Te
|
|
49 |
$params = $this->getRequestHelper()->extractShipToParameters($address, Mage::getModel('sales/quote'));
|
50 |
$this->assertEquals('Hans', $params['ECOM_SHIPTO_POSTAL_NAME_FIRST']);
|
51 |
$this->assertEquals('Wurst', $params['ECOM_SHIPTO_POSTAL_NAME_LAST']);
|
52 |
-
$this->assertEquals('Nonnenstrasse
|
|
|
53 |
$this->assertEquals('', $params['ECOM_SHIPTO_POSTAL_STREET_LINE2']);
|
54 |
$this->assertEquals('DE', $params['ECOM_SHIPTO_POSTAL_COUNTRYCODE']);
|
55 |
$this->assertEquals('Leipzig', $params['ECOM_SHIPTO_POSTAL_CITY']);
|
56 |
$this->assertEquals('04229', $params['ECOM_SHIPTO_POSTAL_POSTALCODE']);
|
|
|
|
|
57 |
}
|
58 |
|
59 |
public function testGetIsoRegionCodeWithIsoRegionCode()
|
@@ -231,7 +234,7 @@ class Netresearch_OPS_Test_Helper_Payment_RequestTest extends EcomDev_PHPUnit_Te
|
|
231 |
|
232 |
$this->assertArrayHasKey('ITEMID1', $formFields);
|
233 |
$this->assertArrayHasKey('ITEMID2', $formFields);
|
234 |
-
$this->assertArrayHasKey('
|
235 |
}
|
236 |
|
237 |
public function testExtractOrderItemParametersWithNoItems()
|
49 |
$params = $this->getRequestHelper()->extractShipToParameters($address, Mage::getModel('sales/quote'));
|
50 |
$this->assertEquals('Hans', $params['ECOM_SHIPTO_POSTAL_NAME_FIRST']);
|
51 |
$this->assertEquals('Wurst', $params['ECOM_SHIPTO_POSTAL_NAME_LAST']);
|
52 |
+
$this->assertEquals('Nonnenstrasse' , $params['ECOM_SHIPTO_POSTAL_STREET_LINE1']);
|
53 |
+
$this->assertEquals('Nonnenstrasse' , $params['ECOM_SHIPTO_POSTAL_STREET_LINE1']);
|
54 |
$this->assertEquals('', $params['ECOM_SHIPTO_POSTAL_STREET_LINE2']);
|
55 |
$this->assertEquals('DE', $params['ECOM_SHIPTO_POSTAL_COUNTRYCODE']);
|
56 |
$this->assertEquals('Leipzig', $params['ECOM_SHIPTO_POSTAL_CITY']);
|
57 |
$this->assertEquals('04229', $params['ECOM_SHIPTO_POSTAL_POSTALCODE']);
|
58 |
+
$this->assertEquals('11d', $params['ECOM_SHIPTO_POSTAL_STREET_NUMBER']);
|
59 |
+
|
60 |
}
|
61 |
|
62 |
public function testGetIsoRegionCodeWithIsoRegionCode()
|
234 |
|
235 |
$this->assertArrayHasKey('ITEMID1', $formFields);
|
236 |
$this->assertArrayHasKey('ITEMID2', $formFields);
|
237 |
+
$this->assertArrayHasKey('ITEMID3', $formFields);
|
238 |
}
|
239 |
|
240 |
public function testExtractOrderItemParametersWithNoItems()
|
app/code/community/Netresearch/OPS/Test/Helper/PaymentTest.php
CHANGED
@@ -1,13 +1,15 @@
|
|
1 |
<?php
|
|
|
2 |
class Netresearch_OPS_Test_Helper_PaymentTest
|
3 |
extends Netresearch_OPS_Test_Model_Response_TestCase
|
4 |
{
|
|
|
5 |
private $_helper;
|
6 |
private $store;
|
7 |
|
8 |
public function setUp()
|
9 |
{
|
10 |
-
parent::
|
11 |
$this->_helper = Mage::helper('ops/payment');
|
12 |
$this->store = Mage::app()->getStore(0)->load(0);
|
13 |
$this->store->resetConfig();
|
@@ -140,11 +142,10 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
140 |
);
|
141 |
$secret = 'Mysecretsig1875!?';
|
142 |
$shaInSet
|
143 |
-
=
|
144 |
-
'
|
145 |
-
|
146 |
-
|
147 |
-
. 'PSPID=test1Mysecretsig1875!?';
|
148 |
$key = 'a28dc9fe69b63fe81da92471fefa80aca3f4851a';
|
149 |
$this->assertEquals(
|
150 |
$sortedParams, $this->_helper->prepareParamsAndSort($params)
|
@@ -298,10 +299,18 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
298 |
*/
|
299 |
public function testSetPaymentTransactionInformation()
|
300 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
$order = Mage::getModel('sales/order')->load(15);
|
302 |
-
$reflectionClass = new ReflectionClass(
|
303 |
-
|
304 |
-
|
|
|
|
|
305 |
$method = $reflectionClass->getMethod(
|
306 |
'setPaymentTransactionInformation'
|
307 |
);
|
@@ -378,14 +387,13 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
378 |
$order->getPayment()->getAdditionalInformation('CC_BRAND')
|
379 |
);
|
380 |
}
|
381 |
-
|
382 |
-
|
383 |
/**
|
384 |
-
* @param int
|
385 |
-
* @param bool
|
386 |
* @param string $feedbackStatus Indicates the route that the customer should get redirected to
|
387 |
*
|
388 |
-
* @loadFixture
|
389 |
* @dataProvider applyStateForOrderProvider
|
390 |
*/
|
391 |
public function testApplyStateForOrder($opsStatus, $sendMail, $feedbackStatus)
|
@@ -393,94 +401,99 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
393 |
$this->mockEmailHelper($this->exactly(intval($sendMail)));
|
394 |
$this->mockOrderConfig();
|
395 |
|
396 |
-
$helperMock = $this->getHelperMock('ops', array('isAdminSession'));
|
397 |
$helperMock->expects($this->any())
|
398 |
->method('isAdminSession')
|
399 |
->will($this->returnValue(false));
|
|
|
|
|
|
|
400 |
$this->replaceByMock('helper', 'ops', $helperMock);
|
401 |
|
402 |
/** @var Netresearch_OPS_Helper_Payment $paymenthelperMock */
|
403 |
-
$paymenthelperMock = $this->getHelperMock(
|
404 |
-
'
|
405 |
-
|
|
|
|
|
406 |
|
407 |
$order = Mage::getModel('sales/order')->load(19);
|
408 |
$this->assertEquals(
|
409 |
$feedbackStatus,
|
410 |
-
$paymenthelperMock->applyStateForOrder($order,
|
411 |
);
|
412 |
}
|
413 |
|
414 |
public function applyStateForOrderProvider()
|
415 |
{
|
416 |
-
return
|
417 |
// assertion for WAITING_FOR_IDENTIFICATION = 46
|
418 |
-
|
419 |
-
$opsStatus
|
420 |
-
$sendMail
|
421 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
422 |
-
|
423 |
// assertion for AUTHORIZED = 5
|
424 |
-
|
425 |
-
$opsStatus
|
426 |
-
$sendMail
|
427 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
428 |
-
|
429 |
// assertion for AUTHORIZED_WAITING_EXTERNAL_RESULT = 50
|
430 |
-
|
431 |
-
$opsStatus
|
432 |
-
$sendMail
|
433 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
434 |
-
|
435 |
// assertion for AUTHORIZATION_WAITING = 51
|
436 |
-
|
437 |
-
$opsStatus
|
438 |
-
$sendMail
|
439 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
440 |
-
|
441 |
// assertion for AUTHORIZED_UNKNOWN = 52
|
442 |
-
|
443 |
-
$opsStatus
|
444 |
-
$sendMail
|
445 |
-
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::
|
446 |
-
|
447 |
// assertion for WAITING_CLIENT_PAYMENT = 41
|
448 |
-
|
449 |
-
$opsStatus
|
450 |
-
$sendMail
|
451 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
452 |
-
|
453 |
// assertion for PAYMENT_REQUESTED = 9
|
454 |
-
|
455 |
-
$opsStatus
|
456 |
-
$sendMail
|
457 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
458 |
-
|
459 |
// assertion for PAYMENT_PROCESSING = 91
|
460 |
-
|
461 |
-
$opsStatus
|
462 |
-
$sendMail
|
463 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
464 |
-
|
465 |
// assertion for AUTHORISATION_DECLINED = 2
|
466 |
-
|
467 |
-
$opsStatus
|
468 |
-
$sendMail
|
469 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE,
|
470 |
-
|
471 |
// assertion for PAYMENT_REFUSED = 93
|
472 |
-
|
473 |
-
$opsStatus
|
474 |
-
$sendMail
|
475 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE,
|
476 |
-
|
477 |
// assertion for CANCELED_BY_CUSTOMER = 1
|
478 |
-
|
479 |
-
$opsStatus
|
480 |
-
$sendMail
|
481 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_CANCEL,
|
482 |
-
|
483 |
-
|
484 |
}
|
485 |
|
486 |
/**
|
@@ -502,13 +515,13 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
502 |
$order = Mage::getModel('sales/order')->load(28);
|
503 |
$this->assertTrue($method->invoke($helper, $order));
|
504 |
|
505 |
-
// $order = Mage::getModel('sales/order')->load(29);
|
506 |
-
// $this->assertTrue($method->invoke($helper, $order));
|
507 |
}
|
508 |
|
509 |
public function testCheckIfCCisInCheckoutMethodsFalse()
|
510 |
{
|
511 |
-
$testMethod = $this->getProtectedMethod($this->_helper,'checkIfCCisInCheckoutMethods');
|
512 |
$paymentMethods = new Varien_Object();
|
513 |
$paymentMethods->setCode('ops_iDeal');
|
514 |
$this->assertFalse($testMethod->invoke($this->_helper, array($paymentMethods)));
|
@@ -518,7 +531,7 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
518 |
|
519 |
public function testCheckIfCCisInCheckoutMethodsTrue()
|
520 |
{
|
521 |
-
$testMethod = $this->getProtectedMethod($this->_helper,'checkIfCCisInCheckoutMethods');
|
522 |
$paymentMethods = new Varien_Object();
|
523 |
$paymentMethods->setCode('ops_cc');
|
524 |
$this->assertTrue($testMethod->invoke($this->_helper, array($paymentMethods)));
|
@@ -529,13 +542,15 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
529 |
public function testAddCCForZeroAmountCheckout()
|
530 |
{
|
531 |
$block = new Mage_Payment_Block_Form_Container();
|
532 |
-
$method
|
533 |
$method->setCode('ops_ideal');
|
534 |
-
$block->setData('methods',array($method));
|
535 |
$quote = Mage::getModel('sales/quote');
|
536 |
$block->setQuote($quote);
|
537 |
|
538 |
-
$featureModelMock = $this->getModelMock(
|
|
|
|
|
539 |
$featureModelMock->expects($this->any())
|
540 |
->method('isCCAndZeroAmountAuthAllowed')
|
541 |
->will($this->returnValue(true));
|
@@ -544,21 +559,20 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
544 |
$this->_helper->addCCForZeroAmountCheckout($block);
|
545 |
|
546 |
$methods = $block->getMethods();
|
547 |
-
$this->assertTrue(
|
548 |
-
$this->assertFalse(
|
549 |
|
550 |
}
|
551 |
|
552 |
-
|
553 |
protected function getProtectedMethod($class, $method)
|
554 |
{
|
555 |
$reflection_class = new ReflectionClass(get_class($class));
|
556 |
$method = $reflection_class->getMethod($method);
|
557 |
$method->setAccessible(true);
|
|
|
558 |
return $method;
|
559 |
}
|
560 |
-
|
561 |
-
|
562 |
public function testIsInlinePaymentWithOrderIdIsTrueForInlineCcWithOrderId()
|
563 |
{
|
564 |
$configMock = $this->getModelMock('ops/config', array('getInlineOrderReference'));
|
@@ -584,7 +598,9 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
584 |
|
585 |
public function testIsInlinePaymentWithOrderIdIsFalseForRedirectCcWithOrderId()
|
586 |
{
|
587 |
-
$ccMock = $this->getModelMock(
|
|
|
|
|
588 |
$ccMock->expects($this->any())
|
589 |
->method('getConfigPaymentAction')
|
590 |
->will($this->returnValue('authorize'));
|
@@ -640,6 +656,7 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
640 |
|
641 |
$this->assertFalse(Mage::helper('ops/payment')->isInlinePaymentWithOrderId($payment));
|
642 |
}
|
|
|
643 |
public function testIsInlinePaymentWithOrderIdIsTrueIfOrderIdIsConfiguredForDirectDebit()
|
644 |
{
|
645 |
$configMock = $this->getModelMock('ops/config', array('getInlineOrderReference'));
|
@@ -675,103 +692,17 @@ class Netresearch_OPS_Test_Helper_PaymentTest
|
|
675 |
|
676 |
public function testSetInvoicesToPaid()
|
677 |
{
|
|
|
|
|
|
|
678 |
$order = $this->getModelMock('sales/order', array('save', 'getInvoiceCollection'));
|
679 |
$order->expects($this->any())
|
680 |
->method('getInvoiceCollection')
|
681 |
-
->will($this->returnValue(
|
682 |
Mage::helper('ops/payment')->setInvoicesToPaid($order);
|
683 |
foreach ($order->getInvoiceCollection() as $invoice) {
|
684 |
$this->assertEquals(Mage_Sales_Model_Order_Invoice::STATE_PAID, $invoice->getState());
|
685 |
}
|
686 |
}
|
687 |
-
|
688 |
-
|
689 |
-
/**
|
690 |
-
* @expectedException Mage_Core_Exception
|
691 |
-
*/
|
692 |
-
public function testCancelOrderWithException()
|
693 |
-
{
|
694 |
-
$params = array('status' => 2, 'payid' => 4711);
|
695 |
-
$status = Mage_Sales_Model_Order::STATE_CANCELED;
|
696 |
-
$comment = 'TestComment';
|
697 |
-
|
698 |
-
$order = $this->getModelMock('sales/order', array('save', 'cancel', 'setState'));
|
699 |
-
$order->expects($this->any())
|
700 |
-
->method('cancel')
|
701 |
-
->will($this->throwException(new Mage_Core_Exception('cancel failed')));
|
702 |
-
;
|
703 |
-
|
704 |
-
$paymentHelperMock = $this->getHelperMock('ops/payment', array('_getCheckout'));
|
705 |
-
|
706 |
-
$paymentHelperMock->expects($this->any())
|
707 |
-
->method('_getCheckout')
|
708 |
-
->will($this->returnValue($this->getModelMock('checkout/session', array('init', 'save'))))
|
709 |
-
;
|
710 |
-
|
711 |
-
$paymentHelperMock->cancelOrder($order, $params, $status, $comment);
|
712 |
-
Mage::unregister('ops_auto_void');
|
713 |
-
}
|
714 |
-
|
715 |
-
public function testDeclineOrder()
|
716 |
-
{
|
717 |
-
Mage::unregister('ops_auto_void');
|
718 |
-
$params = array('STATUS' => 2, 'PAYID' => 4711);
|
719 |
-
$status = Mage_Sales_Model_Order::STATE_CANCELED;
|
720 |
-
$comment = 'TestComment';
|
721 |
-
|
722 |
-
$order = $this->getModelMock('sales/order', array('save', 'cancel', 'setState', 'getPayment'));
|
723 |
-
$order->expects($this->once())
|
724 |
-
->method('cancel')
|
725 |
-
;
|
726 |
-
$order->expects($this->once())
|
727 |
-
->method('getPayment')
|
728 |
-
->will($this->returnValue($this->getModelMock('sales/order_payment', array('save'))));
|
729 |
-
;
|
730 |
-
|
731 |
-
$paymentHelperMock = $this->getHelperMock('ops/payment', array('setPaymentTransactionInformation', '_getCheckout', 'cancelInvoices'));
|
732 |
-
$paymentHelperMock->expects($this->once())
|
733 |
-
->method('setPaymentTransactionInformation');
|
734 |
-
$paymentHelperMock->expects($this->once())
|
735 |
-
->method('cancelInvoices');
|
736 |
-
|
737 |
-
$paymentHelperMock->expects($this->any())
|
738 |
-
->method('_getCheckout')
|
739 |
-
->will($this->returnValue($this->getModelMock('checkout/session', array('init', 'save'))))
|
740 |
-
;
|
741 |
-
|
742 |
-
$paymentHelperMock->declineOrder($order, $params);
|
743 |
-
|
744 |
-
}
|
745 |
-
|
746 |
-
/**
|
747 |
-
* @expectedException Mage_Core_Exception
|
748 |
-
*/
|
749 |
-
public function testDeclineOrderWithException()
|
750 |
-
{
|
751 |
-
Mage::unregister('ops_auto_void');
|
752 |
-
$params = array('STATUS' => 2, 'PAYID' => 4711);
|
753 |
-
$status = Mage_Sales_Model_Order::STATE_CANCELED;
|
754 |
-
$comment = 'TestComment';
|
755 |
-
|
756 |
-
$order = $this->getModelMock('sales/order', array('save', 'cancel', 'setState'));
|
757 |
-
$order->expects($this->once())
|
758 |
-
->method('cancel')
|
759 |
-
->will($this->throwException(new Mage_Core_Exception('exceptional case')));
|
760 |
-
|
761 |
-
|
762 |
-
$paymentHelperMock = $this->getHelperMock('ops/payment', array('setPaymentTransactionInformation', '_getCheckout', 'cancelInvoices'));
|
763 |
-
$paymentHelperMock->expects($this->never())
|
764 |
-
->method('setPaymentTransactionInformation');
|
765 |
-
$paymentHelperMock->expects($this->once())
|
766 |
-
->method('cancelInvoices');
|
767 |
-
|
768 |
-
|
769 |
-
$paymentHelperMock->expects($this->any())
|
770 |
-
->method('_getCheckout')
|
771 |
-
->will($this->returnValue($this->getModelMock('checkout/session', array('init', 'save'))))
|
772 |
-
;
|
773 |
-
|
774 |
-
$paymentHelperMock->declineOrder($order, $params);
|
775 |
-
|
776 |
-
}
|
777 |
}
|
1 |
<?php
|
2 |
+
|
3 |
class Netresearch_OPS_Test_Helper_PaymentTest
|
4 |
extends Netresearch_OPS_Test_Model_Response_TestCase
|
5 |
{
|
6 |
+
/** @var Netresearch_OPS_Helper_Payment $_helper */
|
7 |
private $_helper;
|
8 |
private $store;
|
9 |
|
10 |
public function setUp()
|
11 |
{
|
12 |
+
parent::setUp();
|
13 |
$this->_helper = Mage::helper('ops/payment');
|
14 |
$this->store = Mage::app()->getStore(0)->load(0);
|
15 |
$this->store->resetConfig();
|
142 |
);
|
143 |
$secret = 'Mysecretsig1875!?';
|
144 |
$shaInSet
|
145 |
+
= 'ACCEPTURL=https=//www.myshop.com/ok.htmlMysecretsig1875!?BRAND=VISAMysecretsig1875!?'
|
146 |
+
. 'CARDNO=4111111111111111Mysecretsig1875!?CN=JohnSmithMysecretsig1875!?CVC=123Mysecretsig1875!?'
|
147 |
+
. 'ED=1212Mysecretsig1875!?EXCEPTIONURL=https=//www.myshop.com/nok.htmlMysecretsig1875!?'
|
148 |
+
. 'PSPID=test1Mysecretsig1875!?';
|
|
|
149 |
$key = 'a28dc9fe69b63fe81da92471fefa80aca3f4851a';
|
150 |
$this->assertEquals(
|
151 |
$sortedParams, $this->_helper->prepareParamsAndSort($params)
|
299 |
*/
|
300 |
public function testSetPaymentTransactionInformation()
|
301 |
{
|
302 |
+
$dataMock = $this->getHelperMock('ops/data', array('isAdminSession'));
|
303 |
+
$dataMock->expects($this->any())
|
304 |
+
->method('isAdminSession')
|
305 |
+
->will($this->returnValue(false));
|
306 |
+
$this->replaceByMock('helper', 'ops/data', $dataMock);
|
307 |
+
|
308 |
$order = Mage::getModel('sales/order')->load(15);
|
309 |
+
$reflectionClass = new ReflectionClass(
|
310 |
+
get_class(
|
311 |
+
Mage::helper('ops/payment')
|
312 |
+
)
|
313 |
+
);
|
314 |
$method = $reflectionClass->getMethod(
|
315 |
'setPaymentTransactionInformation'
|
316 |
);
|
387 |
$order->getPayment()->getAdditionalInformation('CC_BRAND')
|
388 |
);
|
389 |
}
|
390 |
+
|
|
|
391 |
/**
|
392 |
+
* @param int $opsStatus Incoming postBack status
|
393 |
+
* @param bool $sendMail Indicates whether opsStatus should trigger order confirmation mail
|
394 |
* @param string $feedbackStatus Indicates the route that the customer should get redirected to
|
395 |
*
|
396 |
+
* @loadFixture ../../../var/fixtures/orders.yaml
|
397 |
* @dataProvider applyStateForOrderProvider
|
398 |
*/
|
399 |
public function testApplyStateForOrder($opsStatus, $sendMail, $feedbackStatus)
|
401 |
$this->mockEmailHelper($this->exactly(intval($sendMail)));
|
402 |
$this->mockOrderConfig();
|
403 |
|
404 |
+
$helperMock = $this->getHelperMock('ops', array('isAdminSession', 'sendTransactionalEmail'));
|
405 |
$helperMock->expects($this->any())
|
406 |
->method('isAdminSession')
|
407 |
->will($this->returnValue(false));
|
408 |
+
$helperMock->expects($this->any())
|
409 |
+
->method('sendTransactionalEmail')
|
410 |
+
->will($this->returnArgument(0));
|
411 |
$this->replaceByMock('helper', 'ops', $helperMock);
|
412 |
|
413 |
/** @var Netresearch_OPS_Helper_Payment $paymenthelperMock */
|
414 |
+
$paymenthelperMock = $this->getHelperMock(
|
415 |
+
'ops/payment', array(
|
416 |
+
'acceptOrder', 'waitOrder', 'declineOrder', 'cancelOrder', 'handleException',
|
417 |
+
)
|
418 |
+
);
|
419 |
|
420 |
$order = Mage::getModel('sales/order')->load(19);
|
421 |
$this->assertEquals(
|
422 |
$feedbackStatus,
|
423 |
+
$paymenthelperMock->applyStateForOrder($order, array('STATUS' => $opsStatus))
|
424 |
);
|
425 |
}
|
426 |
|
427 |
public function applyStateForOrderProvider()
|
428 |
{
|
429 |
+
return array(
|
430 |
// assertion for WAITING_FOR_IDENTIFICATION = 46
|
431 |
+
array(
|
432 |
+
$opsStatus = Netresearch_OPS_Model_Status::WAITING_FOR_IDENTIFICATION,
|
433 |
+
$sendMail = false,
|
434 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
435 |
+
),
|
436 |
// assertion for AUTHORIZED = 5
|
437 |
+
array(
|
438 |
+
$opsStatus = Netresearch_OPS_Model_Status::AUTHORIZED,
|
439 |
+
$sendMail = true,
|
440 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
441 |
+
),
|
442 |
// assertion for AUTHORIZED_WAITING_EXTERNAL_RESULT = 50
|
443 |
+
array(
|
444 |
+
$opsStatus = Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
445 |
+
$sendMail = true,
|
446 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
447 |
+
),
|
448 |
// assertion for AUTHORIZATION_WAITING = 51
|
449 |
+
array(
|
450 |
+
$opsStatus = Netresearch_OPS_Model_Status::AUTHORIZATION_WAITING,
|
451 |
+
$sendMail = true,
|
452 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
453 |
+
),
|
454 |
// assertion for AUTHORIZED_UNKNOWN = 52
|
455 |
+
array(
|
456 |
+
$opsStatus = Netresearch_OPS_Model_Status::AUTHORIZED_UNKNOWN,
|
457 |
+
$sendMail = true,
|
458 |
+
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_EXCEPTION,
|
459 |
+
),
|
460 |
// assertion for WAITING_CLIENT_PAYMENT = 41
|
461 |
+
array(
|
462 |
+
$opsStatus = Netresearch_OPS_Model_Status::WAITING_CLIENT_PAYMENT,
|
463 |
+
$sendMail = true,
|
464 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
465 |
+
),
|
466 |
// assertion for PAYMENT_REQUESTED = 9
|
467 |
+
array(
|
468 |
+
$opsStatus = Netresearch_OPS_Model_Status::PAYMENT_REQUESTED,
|
469 |
+
$sendMail = true,
|
470 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
471 |
+
),
|
472 |
// assertion for PAYMENT_PROCESSING = 91
|
473 |
+
array(
|
474 |
+
$opsStatus = Netresearch_OPS_Model_Status::PAYMENT_PROCESSING,
|
475 |
+
$sendMail = true,
|
476 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_ACCEPT,
|
477 |
+
),
|
478 |
// assertion for AUTHORISATION_DECLINED = 2
|
479 |
+
array(
|
480 |
+
$opsStatus = Netresearch_OPS_Model_Status::AUTHORISATION_DECLINED,
|
481 |
+
$sendMail = true,
|
482 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE,
|
483 |
+
),
|
484 |
// assertion for PAYMENT_REFUSED = 93
|
485 |
+
array(
|
486 |
+
$opsStatus = Netresearch_OPS_Model_Status::PAYMENT_REFUSED,
|
487 |
+
$sendMail = true,
|
488 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_DECLINE,
|
489 |
+
),
|
490 |
// assertion for CANCELED_BY_CUSTOMER = 1
|
491 |
+
array(
|
492 |
+
$opsStatus = Netresearch_OPS_Model_Status::CANCELED_BY_CUSTOMER,
|
493 |
+
$sendMail = false,
|
494 |
$feedbackStatus = Netresearch_OPS_Model_Status_Feedback::OPS_ORDER_FEEDBACK_STATUS_CANCEL,
|
495 |
+
),
|
496 |
+
);
|
497 |
}
|
498 |
|
499 |
/**
|
515 |
$order = Mage::getModel('sales/order')->load(28);
|
516 |
$this->assertTrue($method->invoke($helper, $order));
|
517 |
|
518 |
+
// $order = Mage::getModel('sales/order')->load(29);
|
519 |
+
// $this->assertTrue($method->invoke($helper, $order));
|
520 |
}
|
521 |
|
522 |
public function testCheckIfCCisInCheckoutMethodsFalse()
|
523 |
{
|
524 |
+
$testMethod = $this->getProtectedMethod($this->_helper, 'checkIfCCisInCheckoutMethods');
|
525 |
$paymentMethods = new Varien_Object();
|
526 |
$paymentMethods->setCode('ops_iDeal');
|
527 |
$this->assertFalse($testMethod->invoke($this->_helper, array($paymentMethods)));
|
531 |
|
532 |
public function testCheckIfCCisInCheckoutMethodsTrue()
|
533 |
{
|
534 |
+
$testMethod = $this->getProtectedMethod($this->_helper, 'checkIfCCisInCheckoutMethods');
|
535 |
$paymentMethods = new Varien_Object();
|
536 |
$paymentMethods->setCode('ops_cc');
|
537 |
$this->assertTrue($testMethod->invoke($this->_helper, array($paymentMethods)));
|
542 |
public function testAddCCForZeroAmountCheckout()
|
543 |
{
|
544 |
$block = new Mage_Payment_Block_Form_Container();
|
545 |
+
$method = new Varien_Object();
|
546 |
$method->setCode('ops_ideal');
|
547 |
+
$block->setData('methods', array($method));
|
548 |
$quote = Mage::getModel('sales/quote');
|
549 |
$block->setQuote($quote);
|
550 |
|
551 |
+
$featureModelMock = $this->getModelMock(
|
552 |
+
'ops/payment_features_zeroAmountAuth', array('isCCAndZeroAmountAuthAllowed')
|
553 |
+
);
|
554 |
$featureModelMock->expects($this->any())
|
555 |
->method('isCCAndZeroAmountAuthAllowed')
|
556 |
->will($this->returnValue(true));
|
559 |
$this->_helper->addCCForZeroAmountCheckout($block);
|
560 |
|
561 |
$methods = $block->getMethods();
|
562 |
+
$this->assertTrue($methods[1] instanceof Netresearch_OPS_Model_Payment_Cc);
|
563 |
+
$this->assertFalse($methods[0] instanceof Netresearch_OPS_Model_Payment_Cc);
|
564 |
|
565 |
}
|
566 |
|
|
|
567 |
protected function getProtectedMethod($class, $method)
|
568 |
{
|
569 |
$reflection_class = new ReflectionClass(get_class($class));
|
570 |
$method = $reflection_class->getMethod($method);
|
571 |
$method->setAccessible(true);
|
572 |
+
|
573 |
return $method;
|
574 |
}
|
575 |
+
|
|
|
576 |
public function testIsInlinePaymentWithOrderIdIsTrueForInlineCcWithOrderId()
|
577 |
{
|
578 |
$configMock = $this->getModelMock('ops/config', array('getInlineOrderReference'));
|
598 |
|
599 |
public function testIsInlinePaymentWithOrderIdIsFalseForRedirectCcWithOrderId()
|
600 |
{
|
601 |
+
$ccMock = $this->getModelMock(
|
602 |
+
'ops/payment_cc', array('getConfigPaymentAction', 'hasBrandAliasInterfaceSupport')
|
603 |
+
);
|
604 |
$ccMock->expects($this->any())
|
605 |
->method('getConfigPaymentAction')
|
606 |
->will($this->returnValue('authorize'));
|
656 |
|
657 |
$this->assertFalse(Mage::helper('ops/payment')->isInlinePaymentWithOrderId($payment));
|
658 |
}
|
659 |
+
|
660 |
public function testIsInlinePaymentWithOrderIdIsTrueIfOrderIdIsConfiguredForDirectDebit()
|
661 |
{
|
662 |
$configMock = $this->getModelMock('ops/config', array('getInlineOrderReference'));
|
692 |
|
693 |
public function testSetInvoicesToPaid()
|
694 |
{
|
695 |
+
/** @var Mage_Sales_Model_Resource_Order_Invoice_Collection $invoiceCollection */
|
696 |
+
$invoiceCollection = $this->getResourceModelMock('sales/order_invoice_collection', array('save'));
|
697 |
+
$invoiceCollection->addItem(Mage::getModel('sales/order_invoice'));
|
698 |
$order = $this->getModelMock('sales/order', array('save', 'getInvoiceCollection'));
|
699 |
$order->expects($this->any())
|
700 |
->method('getInvoiceCollection')
|
701 |
+
->will($this->returnValue($invoiceCollection));
|
702 |
Mage::helper('ops/payment')->setInvoicesToPaid($order);
|
703 |
foreach ($order->getInvoiceCollection() as $invoice) {
|
704 |
$this->assertEquals(Mage_Sales_Model_Order_Invoice::STATE_PAID, $invoice->getState());
|
705 |
}
|
706 |
}
|
707 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
708 |
}
|
app/code/community/Netresearch/OPS/Test/Helper/SubscriptionTest.php
CHANGED
@@ -102,7 +102,8 @@ class Netresearch_OPS_Test_Helper_SubscriptionTest extends EcomDev_PHPUnit_Test_
|
|
102 |
|
103 |
}
|
104 |
|
105 |
-
public function testGetBillingDayForPeriodUnit()
|
|
|
106 |
$subject = Mage::helper('ops/subscription');
|
107 |
|
108 |
$this->assertEquals(1, $subject->getBillingDayForPeriodUnit('abc'));
|
102 |
|
103 |
}
|
104 |
|
105 |
+
public function testGetBillingDayForPeriodUnit()
|
106 |
+
{
|
107 |
$subject = Mage::helper('ops/subscription');
|
108 |
|
109 |
$this->assertEquals(1, $subject->getBillingDayForPeriodUnit('abc'));
|
app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Capture/Additional/OpenInvoiceNlTest.php
CHANGED
@@ -23,12 +23,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
23 |
|
24 |
public function testExtractAdditionalParamsWithoutShipping1()
|
25 |
{
|
26 |
-
$itemsContainer = Mage::getModel('sales/order_shipment');
|
27 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
28 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
29 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
30 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
31 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
32 |
$orderItem = Mage::getModel('sales/order_item');
|
33 |
$orderItem->setId(1);
|
34 |
$orderItem->setQtyOrdered(2);
|
@@ -40,7 +35,9 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
40 |
$item->setQty(2);
|
41 |
$item->setTaxPercent(19);
|
42 |
$itemsContainer->addItem($item);
|
43 |
-
$
|
|
|
|
|
44 |
$this->assertTrue(is_array($result));
|
45 |
$this->assertTrue(0 < count($result));
|
46 |
$this->assertArrayHasKey('ITEMID1', $result);
|
@@ -57,15 +54,11 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
57 |
|
58 |
public function testExtractAdditionalParamsWithoutShippingButWithConfigurable()
|
59 |
{
|
60 |
-
$itemsContainer = Mage::getModel('sales/order_shipment');
|
61 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
62 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
63 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
64 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
65 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
66 |
$orderItem = Mage::getModel('sales/order_item');
|
67 |
$orderItem->setId(1);
|
68 |
$orderItem->setQtyOrdered(2);
|
|
|
69 |
$item = Mage::getModel('sales/order_invoice_item');
|
70 |
$item->setOrderItemId(1);
|
71 |
$item->setOrderItem($orderItem);
|
@@ -75,18 +68,21 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
75 |
$item->setTaxPercent(19);
|
76 |
$itemsContainer->addItem($item);
|
77 |
$item = Mage::getModel('sales/order_invoice_item');
|
78 |
-
$
|
79 |
-
$
|
80 |
-
$
|
81 |
-
$
|
|
|
82 |
$item->setOrderItemId(2);
|
83 |
-
$item->setOrderItem($
|
84 |
$item->setName('Item');
|
85 |
$item->setBasePriceInclTax(19.99);
|
86 |
$item->setQty(2);
|
87 |
$item->setTaxPercent(19);
|
88 |
$itemsContainer->addItem($item);
|
89 |
-
$
|
|
|
|
|
90 |
$this->assertTrue(is_array($result));
|
91 |
$this->assertTrue(0 < count($result));
|
92 |
$this->assertArrayHasKey('ITEMID1', $result);
|
@@ -103,12 +99,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
103 |
|
104 |
public function testExtractAdditionalParamsWithoutShippingButWithTwoNormalInvoiceItems()
|
105 |
{
|
106 |
-
$itemsContainer = Mage::getModel('sales/order_shipment');
|
107 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
108 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
109 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
110 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
111 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
112 |
$orderItem = Mage::getModel('sales/order_item');
|
113 |
$orderItem->setId(1);
|
114 |
$orderItem->setQtyOrdered(2);
|
@@ -131,7 +122,9 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
131 |
$item->setQty(2);
|
132 |
$item->setTaxPercent(19);
|
133 |
$itemsContainer->addItem($item);
|
134 |
-
$
|
|
|
|
|
135 |
$this->assertTrue(is_array($result));
|
136 |
$this->assertTrue(0 < count($result));
|
137 |
$this->assertArrayHasKey('ITEMID1', $result);
|
@@ -159,12 +152,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
159 |
|
160 |
public function testExtractAdditionalParamsWithShipping()
|
161 |
{
|
162 |
-
$itemsContainer = Mage::getModel('sales/order_shipment');
|
163 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
164 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
165 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
166 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
167 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
168 |
$orderItem = Mage::getModel('sales/order_item');
|
169 |
$orderItem->setId(1);
|
170 |
$orderItem->setQtyOrdered(2);
|
@@ -177,13 +165,14 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
177 |
$item->setTaxPercent(19);
|
178 |
$itemsContainer->addItem($item);
|
179 |
$itemsContainer->setBaseShippingInclTax(10.00);
|
180 |
-
$order =
|
181 |
$order->setShippingDescription('foo');
|
182 |
$payment = Mage::getModel('sales/order_payment');
|
183 |
$payment->setMethod('ops_openInvoiceNl');
|
184 |
$order->setPayment($payment);
|
185 |
$itemsContainer->setOrder($order);
|
186 |
-
$
|
|
|
187 |
$this->assertTrue(is_array($result));
|
188 |
$this->assertTrue(0 < count($result));
|
189 |
$this->assertArrayHasKey('ITEMID1', $result);
|
@@ -212,12 +201,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
212 |
|
213 |
public function testExtractAdditionalParamsWithShippingAndDiscount()
|
214 |
{
|
215 |
-
$itemsContainer = Mage::getModel('sales/order_shipment');
|
216 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
217 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
218 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
219 |
-
$this->assertTrue(is_array($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
220 |
-
$this->assertEquals(0, count($this->openInvoiceNlModel->extractAdditionalParams($itemsContainer)));
|
221 |
$orderItem = Mage::getModel('sales/order_item');
|
222 |
$orderItem->setId(1);
|
223 |
$orderItem->setQtyOrdered(2);
|
@@ -238,7 +222,8 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
238 |
$payment->setMethod('ops_openInvoiceNl');
|
239 |
$order->setPayment($payment);
|
240 |
$itemsContainer->setOrder($order);
|
241 |
-
$
|
|
|
242 |
$this->assertTrue(is_array($result));
|
243 |
$this->assertTrue(0 < count($result));
|
244 |
$this->assertArrayHasKey('ITEMID1', $result);
|
@@ -279,7 +264,8 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_Additional_OpenInvoic
|
|
279 |
$this->assertEquals(1, $result['TAXINCLUDED3']);
|
280 |
}
|
281 |
|
282 |
-
protected function mockSessions()
|
|
|
283 |
$sessionMock = $this->getModelMockBuilder('checkout/session')
|
284 |
->disableOriginalConstructor()
|
285 |
->setMethods(null)
|
23 |
|
24 |
public function testExtractAdditionalParamsWithoutShipping1()
|
25 |
{
|
|
|
|
|
|
|
26 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
|
|
|
|
27 |
$orderItem = Mage::getModel('sales/order_item');
|
28 |
$orderItem->setId(1);
|
29 |
$orderItem->setQtyOrdered(2);
|
35 |
$item->setQty(2);
|
36 |
$item->setTaxPercent(19);
|
37 |
$itemsContainer->addItem($item);
|
38 |
+
$payment = Mage::getModel('sales/order_payment')->setMethod('ops_openInvoiceNl');
|
39 |
+
$payment->setInvoice($itemsContainer);
|
40 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($payment);
|
41 |
$this->assertTrue(is_array($result));
|
42 |
$this->assertTrue(0 < count($result));
|
43 |
$this->assertArrayHasKey('ITEMID1', $result);
|
54 |
|
55 |
public function testExtractAdditionalParamsWithoutShippingButWithConfigurable()
|
56 |
{
|
|
|
|
|
|
|
57 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
|
|
|
|
58 |
$orderItem = Mage::getModel('sales/order_item');
|
59 |
$orderItem->setId(1);
|
60 |
$orderItem->setQtyOrdered(2);
|
61 |
+
$orderItem->setProductType(Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE);
|
62 |
$item = Mage::getModel('sales/order_invoice_item');
|
63 |
$item->setOrderItemId(1);
|
64 |
$item->setOrderItem($orderItem);
|
68 |
$item->setTaxPercent(19);
|
69 |
$itemsContainer->addItem($item);
|
70 |
$item = Mage::getModel('sales/order_invoice_item');
|
71 |
+
$simpleOrderItem = Mage::getModel('sales/order_item');
|
72 |
+
$simpleOrderItem->setId(1);
|
73 |
+
$simpleOrderItem->setQtyOrdered(2);
|
74 |
+
$simpleOrderItem->setParentItemId(1);
|
75 |
+
$simpleOrderItem->setParentItem($orderItem);
|
76 |
$item->setOrderItemId(2);
|
77 |
+
$item->setOrderItem($simpleOrderItem);
|
78 |
$item->setName('Item');
|
79 |
$item->setBasePriceInclTax(19.99);
|
80 |
$item->setQty(2);
|
81 |
$item->setTaxPercent(19);
|
82 |
$itemsContainer->addItem($item);
|
83 |
+
$payment = Mage::getModel('sales/order_payment')->setMethod('ops_openInvoiceNl');
|
84 |
+
$payment->setInvoice($itemsContainer);
|
85 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($payment);
|
86 |
$this->assertTrue(is_array($result));
|
87 |
$this->assertTrue(0 < count($result));
|
88 |
$this->assertArrayHasKey('ITEMID1', $result);
|
99 |
|
100 |
public function testExtractAdditionalParamsWithoutShippingButWithTwoNormalInvoiceItems()
|
101 |
{
|
|
|
|
|
|
|
102 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
|
|
|
|
103 |
$orderItem = Mage::getModel('sales/order_item');
|
104 |
$orderItem->setId(1);
|
105 |
$orderItem->setQtyOrdered(2);
|
122 |
$item->setQty(2);
|
123 |
$item->setTaxPercent(19);
|
124 |
$itemsContainer->addItem($item);
|
125 |
+
$payment = Mage::getModel('sales/order_payment')->setMethod('ops_openInvoiceNl');
|
126 |
+
$payment->setInvoice($itemsContainer);
|
127 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($payment);
|
128 |
$this->assertTrue(is_array($result));
|
129 |
$this->assertTrue(0 < count($result));
|
130 |
$this->assertArrayHasKey('ITEMID1', $result);
|
152 |
|
153 |
public function testExtractAdditionalParamsWithShipping()
|
154 |
{
|
|
|
|
|
|
|
155 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
|
|
|
|
156 |
$orderItem = Mage::getModel('sales/order_item');
|
157 |
$orderItem->setId(1);
|
158 |
$orderItem->setQtyOrdered(2);
|
165 |
$item->setTaxPercent(19);
|
166 |
$itemsContainer->addItem($item);
|
167 |
$itemsContainer->setBaseShippingInclTax(10.00);
|
168 |
+
$order = Mage::getModel('sales/order');
|
169 |
$order->setShippingDescription('foo');
|
170 |
$payment = Mage::getModel('sales/order_payment');
|
171 |
$payment->setMethod('ops_openInvoiceNl');
|
172 |
$order->setPayment($payment);
|
173 |
$itemsContainer->setOrder($order);
|
174 |
+
$payment->setInvoice($itemsContainer);
|
175 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($payment);
|
176 |
$this->assertTrue(is_array($result));
|
177 |
$this->assertTrue(0 < count($result));
|
178 |
$this->assertArrayHasKey('ITEMID1', $result);
|
201 |
|
202 |
public function testExtractAdditionalParamsWithShippingAndDiscount()
|
203 |
{
|
|
|
|
|
|
|
204 |
$itemsContainer = Mage::getModel('sales/order_invoice');
|
|
|
|
|
205 |
$orderItem = Mage::getModel('sales/order_item');
|
206 |
$orderItem->setId(1);
|
207 |
$orderItem->setQtyOrdered(2);
|
222 |
$payment->setMethod('ops_openInvoiceNl');
|
223 |
$order->setPayment($payment);
|
224 |
$itemsContainer->setOrder($order);
|
225 |
+
$payment->setInvoice($itemsContainer);
|
226 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($payment);
|
227 |
$this->assertTrue(is_array($result));
|
228 |
$this->assertTrue(0 < count($result));
|
229 |
$this->assertArrayHasKey('ITEMID1', $result);
|
264 |
$this->assertEquals(1, $result['TAXINCLUDED3']);
|
265 |
}
|
266 |
|
267 |
+
protected function mockSessions()
|
268 |
+
{
|
269 |
$sessionMock = $this->getModelMockBuilder('checkout/session')
|
270 |
->disableOriginalConstructor()
|
271 |
->setMethods(null)
|
app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Capture/ParameterTest.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
-
* @author Michael Lühr <michael.luehr@netresearch.de>
|
4 |
* @category Netresearch_OPS
|
5 |
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
6 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
@@ -10,6 +11,10 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_ParameterTest extends
|
|
10 |
|
11 |
public function testGetRequestParams()
|
12 |
{
|
|
|
|
|
|
|
|
|
13 |
$fakePayment = Mage::getModel('sales/order_payment');
|
14 |
$fakePayment->setOrder(Mage::getModel('sales/order'));
|
15 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
@@ -27,11 +32,17 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_ParameterTest extends
|
|
27 |
$this->assertEquals(1000, $requestParams['AMOUNT']);
|
28 |
$this->assertEquals(4711, $requestParams['PAYID']);
|
29 |
$this->assertEquals(Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_PARTIAL, $requestParams['OPERATION']);
|
30 |
-
$this->assertEquals(
|
|
|
|
|
|
|
31 |
}
|
32 |
|
33 |
public function testGetRequestParamsWithAdditionalParameters()
|
34 |
{
|
|
|
|
|
|
|
35 |
$fakePayment = Mage::getModel('sales/order_payment');
|
36 |
$fakePayment->setOrder(Mage::getModel('sales/order'));
|
37 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
@@ -50,7 +61,10 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Capture_ParameterTest extends
|
|
50 |
$this->assertEquals(1000, $requestParams['AMOUNT']);
|
51 |
$this->assertEquals(4711, $requestParams['PAYID']);
|
52 |
$this->assertEquals(Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_PARTIAL, $requestParams['OPERATION']);
|
53 |
-
$this->assertEquals(
|
|
|
|
|
|
|
54 |
}
|
55 |
|
56 |
}
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
+
* @author Michael Lühr <michael.luehr@netresearch.de>
|
5 |
* @category Netresearch_OPS
|
6 |
* @copyright Copyright (c) 2014 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
7 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
11 |
|
12 |
public function testGetRequestParams()
|
13 |
{
|
14 |
+
$sessionMock = $this->mockSession('customer/session');
|
15 |
+
$sessionMock->disableOriginalConstructor();
|
16 |
+
$this->replaceByMock('singleton', 'customer/session', $sessionMock);
|
17 |
+
|
18 |
$fakePayment = Mage::getModel('sales/order_payment');
|
19 |
$fakePayment->setOrder(Mage::getModel('sales/order'));
|
20 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
32 |
$this->assertEquals(1000, $requestParams['AMOUNT']);
|
33 |
$this->assertEquals(4711, $requestParams['PAYID']);
|
34 |
$this->assertEquals(Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_PARTIAL, $requestParams['OPERATION']);
|
35 |
+
$this->assertEquals(
|
36 |
+
Mage::app()->getStore($fakePayment->getOrder()->getStoreId())->getBaseCurrencyCode(),
|
37 |
+
$requestParams['CURRENCY']
|
38 |
+
);
|
39 |
}
|
40 |
|
41 |
public function testGetRequestParamsWithAdditionalParameters()
|
42 |
{
|
43 |
+
$sessionMock = $this->mockSession('customer/session');
|
44 |
+
$sessionMock->disableOriginalConstructor();
|
45 |
+
$this->replaceByMock('singleton', 'customer/session', $sessionMock);
|
46 |
$fakePayment = Mage::getModel('sales/order_payment');
|
47 |
$fakePayment->setOrder(Mage::getModel('sales/order'));
|
48 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
61 |
$this->assertEquals(1000, $requestParams['AMOUNT']);
|
62 |
$this->assertEquals(4711, $requestParams['PAYID']);
|
63 |
$this->assertEquals(Netresearch_OPS_Model_Payment_Abstract::OPS_CAPTURE_PARTIAL, $requestParams['OPERATION']);
|
64 |
+
$this->assertEquals(
|
65 |
+
Mage::app()->getStore($fakePayment->getOrder()->getStoreId())->getBaseCurrencyCode(),
|
66 |
+
$requestParams['CURRENCY']
|
67 |
+
);
|
68 |
}
|
69 |
|
70 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/ParameterTest.php
CHANGED
@@ -19,7 +19,8 @@ class Netresearch_OPS_Test_Model_Backend_Operation_ParameterTest extends EcomDev
|
|
19 |
$amount = 0;
|
20 |
$opsPaymentMethod = Mage::getModel('ops/payment_abstract');
|
21 |
Mage::getModel('ops/backend_operation_parameter')->getParameterFor(
|
22 |
-
'NOT SUPPORTED OPERATION TYPE', $opsPaymentMethod, $fakePayment, $amount, $arrInfo
|
|
|
23 |
}
|
24 |
|
25 |
public function testGetParameterForCaptureWillReturnArray()
|
19 |
$amount = 0;
|
20 |
$opsPaymentMethod = Mage::getModel('ops/payment_abstract');
|
21 |
Mage::getModel('ops/backend_operation_parameter')->getParameterFor(
|
22 |
+
'NOT SUPPORTED OPERATION TYPE', $opsPaymentMethod, $fakePayment, $amount, $arrInfo
|
23 |
+
);
|
24 |
}
|
25 |
|
26 |
public function testGetParameterForCaptureWillReturnArray()
|
app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Refund/Additional/OpenInvoiceNlTest.php
CHANGED
@@ -3,30 +3,47 @@
|
|
3 |
class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoiceNlTest extends EcomDev_PHPUnit_Test_Case
|
4 |
{
|
5 |
protected $openInvoiceNlModel = null;
|
6 |
-
protected $
|
7 |
|
8 |
public function setUp()
|
9 |
{
|
10 |
parent::setUp();
|
11 |
$this->openInvoiceNlModel = Mage::getModel('ops/backend_operation_refund_additional_openInvoiceNl');
|
12 |
-
|
13 |
$invoice = Mage::getModel('sales/order_invoice');
|
14 |
// add first item to invoice
|
15 |
-
|
|
|
16 |
$orderItem = Mage::getModel('sales/order_item');
|
17 |
$orderItem->setId(1);
|
18 |
$orderItem->setQtyOrdered(2);
|
|
|
|
|
|
|
19 |
$item->setOrderItemId(1);
|
20 |
$item->setOrderItem($orderItem);
|
21 |
$item->setName('Item 1');
|
22 |
$item->setBasePriceInclTax(42.99);
|
23 |
$item->setQty(2);
|
24 |
$item->setTaxPercent(19);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
$invoice->addItem($item);
|
|
|
26 |
// add second item to invoice
|
27 |
$orderItem = Mage::getModel('sales/order_item');
|
28 |
$orderItem->setId(2);
|
29 |
$orderItem->setQtyOrdered(2);
|
|
|
|
|
30 |
$item = Mage::getModel('sales/order_invoice_item');
|
31 |
$item->setOrderItemId(2);
|
32 |
$item->setOrderItem($orderItem);
|
@@ -34,6 +51,16 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
34 |
$item->setBasePriceInclTax(19.99);
|
35 |
$item->setQty(2);
|
36 |
$item->setTaxPercent(7);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
$invoice->addItem($item);
|
38 |
// add shipping and discount
|
39 |
$invoice->setBaseShippingInclTax(10.00);
|
@@ -43,17 +70,19 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
43 |
$payment->setMethod('ops_openInvoiceNl');
|
44 |
$order->setPayment($payment);
|
45 |
$invoice->setOrder($order);
|
46 |
-
$
|
|
|
|
|
47 |
|
48 |
$sessionMock = $this->getModelMockBuilder('adminhtml/session_quote')
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
$this->replaceByMock('singleton', 'adminhtml/session_quote', $sessionMock);
|
53 |
$sessionMock = $this->getModelMockBuilder('checkout/session')
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
$this->replaceByMock('singleton', 'checkout/session', $sessionMock);
|
58 |
$sessionMock = $this->getModelMockBuilder('customer/session')
|
59 |
->disableOriginalConstructor()
|
@@ -65,26 +94,17 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
65 |
|
66 |
public function testExtractWithoutShippingAndAdjustments()
|
67 |
{
|
68 |
-
$params =
|
69 |
-
array(
|
70 |
-
'creditmemo' => array(
|
71 |
-
'items' => array(
|
72 |
-
1 => array(
|
73 |
-
'qty' => 2
|
74 |
-
),
|
75 |
-
2 => array(
|
76 |
-
'qty' => 0
|
77 |
-
)
|
78 |
-
),
|
79 |
-
'shipping_amount' => 0,
|
80 |
-
'adjustment_positive' => 0,
|
81 |
-
'adjustment_negative' => 0
|
82 |
-
|
83 |
-
)
|
84 |
-
);
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
$this->mockRefundHelper($params);
|
87 |
-
$result = $this->openInvoiceNlModel->extractAdditionalParams($this->
|
88 |
// refunded item
|
89 |
$this->assertTrue(is_array($result));
|
90 |
$this->assertTrue(0 < count($result));
|
@@ -112,33 +132,27 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
112 |
$this->assertArrayHasKey('TAXINCLUDED2', $result);
|
113 |
$this->assertEquals(1, $result['TAXINCLUDED2']);
|
114 |
$this->assertArrayHasKey('ITEMQUANT2', $result);
|
115 |
-
$this->assertEquals(
|
116 |
// amount
|
117 |
$this->assertArrayHasKey('AMOUNT', $result);
|
118 |
-
$this->assertEquals(
|
119 |
}
|
120 |
|
121 |
|
122 |
public function testWithShippingAndAllAdjustments()
|
123 |
{
|
124 |
$params = array(
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
'qty' => 0
|
132 |
-
)
|
133 |
-
),
|
134 |
-
'shipping_amount' => 5,
|
135 |
-
'adjustment_positive' => 5,
|
136 |
-
'adjustment_negative' => 10
|
137 |
-
|
138 |
-
)
|
139 |
);
|
140 |
$this->mockRefundHelper($params);
|
141 |
-
$
|
|
|
|
|
142 |
// Test our items
|
143 |
$this->assertTrue(is_array($result));
|
144 |
$this->assertTrue(0 < count($result));
|
@@ -153,7 +167,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
153 |
$this->assertArrayHasKey('TAXINCLUDED1', $result);
|
154 |
$this->assertEquals(1, $result['TAXINCLUDED1']);
|
155 |
$this->assertArrayHasKey('ITEMQUANT1', $result);
|
156 |
-
$this->assertEquals(
|
157 |
$this->assertArrayHasKey('ITEMID2', $result);
|
158 |
$this->assertEquals(2, $result['ITEMID2']);
|
159 |
$this->assertArrayHasKey('ITEMNAME2', $result);
|
@@ -165,7 +179,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
165 |
$this->assertArrayHasKey('TAXINCLUDED2', $result);
|
166 |
$this->assertEquals(1, $result['TAXINCLUDED2']);
|
167 |
$this->assertArrayHasKey('ITEMQUANT2', $result);
|
168 |
-
$this->assertEquals(
|
169 |
|
170 |
// shipping
|
171 |
$this->assertArrayHasKey('ITEMID3', $result);
|
@@ -209,15 +223,17 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
209 |
$this->assertEquals(1, $result['ITEMQUANT5']);
|
210 |
// amount: 5+5+(-10)
|
211 |
$this->assertArrayHasKey('AMOUNT', $result);
|
212 |
-
$this->assertEquals(
|
213 |
}
|
214 |
|
215 |
protected function mockRefundHelper($params)
|
216 |
{
|
217 |
-
$helperMock = $this->getHelperMock(
|
|
|
|
|
218 |
$helperMock->expects($this->any())
|
219 |
-
|
220 |
-
|
221 |
$this->replaceByMock('helper', 'ops/order_refund', $helperMock);
|
222 |
}
|
223 |
|
@@ -226,7 +242,7 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoice
|
|
226 |
{
|
227 |
parent::tearDown();
|
228 |
$this->openInvoiceNlModel = null;
|
229 |
-
$this->
|
230 |
}
|
231 |
}
|
232 |
|
3 |
class Netresearch_OPS_Test_Model_Backend_Operation_Refund_Additional_OpenInvoiceNlTest extends EcomDev_PHPUnit_Test_Case
|
4 |
{
|
5 |
protected $openInvoiceNlModel = null;
|
6 |
+
protected $testPayment = null;
|
7 |
|
8 |
public function setUp()
|
9 |
{
|
10 |
parent::setUp();
|
11 |
$this->openInvoiceNlModel = Mage::getModel('ops/backend_operation_refund_additional_openInvoiceNl');
|
12 |
+
$creditMemo = Mage::getModel('sales/order_creditmemo');
|
13 |
$invoice = Mage::getModel('sales/order_invoice');
|
14 |
// add first item to invoice
|
15 |
+
|
16 |
+
|
17 |
$orderItem = Mage::getModel('sales/order_item');
|
18 |
$orderItem->setId(1);
|
19 |
$orderItem->setQtyOrdered(2);
|
20 |
+
$orderItem->setTaxPercent(19);
|
21 |
+
|
22 |
+
$item = Mage::getModel('sales/order_invoice_item');
|
23 |
$item->setOrderItemId(1);
|
24 |
$item->setOrderItem($orderItem);
|
25 |
$item->setName('Item 1');
|
26 |
$item->setBasePriceInclTax(42.99);
|
27 |
$item->setQty(2);
|
28 |
$item->setTaxPercent(19);
|
29 |
+
|
30 |
+
$orderItem->setQtyInvoiced(2);
|
31 |
+
$creditMemoItem = Mage::getModel('sales/order_creditmemo_item');
|
32 |
+
$creditMemoItem->setOrderItemId(1);
|
33 |
+
$creditMemoItem->setOrderItem($orderItem);
|
34 |
+
$creditMemoItem->setName('Item 1');
|
35 |
+
$creditMemoItem->setBasePriceInclTax(42.99);
|
36 |
+
$creditMemoItem->setQty(2);
|
37 |
+
|
38 |
+
$creditMemo->addItem($creditMemoItem);
|
39 |
$invoice->addItem($item);
|
40 |
+
|
41 |
// add second item to invoice
|
42 |
$orderItem = Mage::getModel('sales/order_item');
|
43 |
$orderItem->setId(2);
|
44 |
$orderItem->setQtyOrdered(2);
|
45 |
+
$orderItem->setTaxPercent(7);
|
46 |
+
|
47 |
$item = Mage::getModel('sales/order_invoice_item');
|
48 |
$item->setOrderItemId(2);
|
49 |
$item->setOrderItem($orderItem);
|
51 |
$item->setBasePriceInclTax(19.99);
|
52 |
$item->setQty(2);
|
53 |
$item->setTaxPercent(7);
|
54 |
+
|
55 |
+
$orderItem->setQtyInvoiced(2);
|
56 |
+
$creditMemoItem = Mage::getModel('sales/order_creditmemo_item');
|
57 |
+
$creditMemoItem->setOrderItemId(2);
|
58 |
+
$creditMemoItem->setOrderItem($orderItem);
|
59 |
+
$creditMemoItem->setName('Item 2');
|
60 |
+
$creditMemoItem->setBasePriceInclTax(19.99);
|
61 |
+
$creditMemoItem->setQty(2);
|
62 |
+
|
63 |
+
$creditMemo->addItem($creditMemoItem);
|
64 |
$invoice->addItem($item);
|
65 |
// add shipping and discount
|
66 |
$invoice->setBaseShippingInclTax(10.00);
|
70 |
$payment->setMethod('ops_openInvoiceNl');
|
71 |
$order->setPayment($payment);
|
72 |
$invoice->setOrder($order);
|
73 |
+
$payment->setInvoice($invoice);
|
74 |
+
$payment->setCreditmemo($creditMemo);
|
75 |
+
$this->testPayment = $payment;
|
76 |
|
77 |
$sessionMock = $this->getModelMockBuilder('adminhtml/session_quote')
|
78 |
+
->disableOriginalConstructor()
|
79 |
+
->setMethods(null)
|
80 |
+
->getMock();
|
81 |
$this->replaceByMock('singleton', 'adminhtml/session_quote', $sessionMock);
|
82 |
$sessionMock = $this->getModelMockBuilder('checkout/session')
|
83 |
+
->disableOriginalConstructor()
|
84 |
+
->setMethods(null)
|
85 |
+
->getMock();
|
86 |
$this->replaceByMock('singleton', 'checkout/session', $sessionMock);
|
87 |
$sessionMock = $this->getModelMockBuilder('customer/session')
|
88 |
->disableOriginalConstructor()
|
94 |
|
95 |
public function testExtractWithoutShippingAndAdjustments()
|
96 |
{
|
97 |
+
$params = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
+
'shipping_amount' => 0,
|
100 |
+
'adjustment_positive' => 0,
|
101 |
+
'adjustment_negative' => 0
|
102 |
+
|
103 |
+
|
104 |
+
);
|
105 |
+
$this->testPayment->getCreditmemo()->addData($params);
|
106 |
$this->mockRefundHelper($params);
|
107 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($this->testPayment);
|
108 |
// refunded item
|
109 |
$this->assertTrue(is_array($result));
|
110 |
$this->assertTrue(0 < count($result));
|
132 |
$this->assertArrayHasKey('TAXINCLUDED2', $result);
|
133 |
$this->assertEquals(1, $result['TAXINCLUDED2']);
|
134 |
$this->assertArrayHasKey('ITEMQUANT2', $result);
|
135 |
+
$this->assertEquals(2, $result['ITEMQUANT2']);
|
136 |
// amount
|
137 |
$this->assertArrayHasKey('AMOUNT', $result);
|
138 |
+
$this->assertEquals(12596, $result['AMOUNT']);
|
139 |
}
|
140 |
|
141 |
|
142 |
public function testWithShippingAndAllAdjustments()
|
143 |
{
|
144 |
$params = array(
|
145 |
+
|
146 |
+
'base_shipping_incl_tax' => 5,
|
147 |
+
'base_adjustment_positive' => 5,
|
148 |
+
'base_adjustment_negative' => 10
|
149 |
+
|
150 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
);
|
152 |
$this->mockRefundHelper($params);
|
153 |
+
$this->testPayment->getCreditmemo()->addData($params);
|
154 |
+
|
155 |
+
$result = $this->openInvoiceNlModel->extractAdditionalParams($this->testPayment);
|
156 |
// Test our items
|
157 |
$this->assertTrue(is_array($result));
|
158 |
$this->assertTrue(0 < count($result));
|
167 |
$this->assertArrayHasKey('TAXINCLUDED1', $result);
|
168 |
$this->assertEquals(1, $result['TAXINCLUDED1']);
|
169 |
$this->assertArrayHasKey('ITEMQUANT1', $result);
|
170 |
+
$this->assertEquals(2, $result['ITEMQUANT1']);
|
171 |
$this->assertArrayHasKey('ITEMID2', $result);
|
172 |
$this->assertEquals(2, $result['ITEMID2']);
|
173 |
$this->assertArrayHasKey('ITEMNAME2', $result);
|
179 |
$this->assertArrayHasKey('TAXINCLUDED2', $result);
|
180 |
$this->assertEquals(1, $result['TAXINCLUDED2']);
|
181 |
$this->assertArrayHasKey('ITEMQUANT2', $result);
|
182 |
+
$this->assertEquals(2, $result['ITEMQUANT2']);
|
183 |
|
184 |
// shipping
|
185 |
$this->assertArrayHasKey('ITEMID3', $result);
|
223 |
$this->assertEquals(1, $result['ITEMQUANT5']);
|
224 |
// amount: 5+5+(-10)
|
225 |
$this->assertArrayHasKey('AMOUNT', $result);
|
226 |
+
$this->assertEquals(12596, $result['AMOUNT']);
|
227 |
}
|
228 |
|
229 |
protected function mockRefundHelper($params)
|
230 |
{
|
231 |
+
$helperMock = $this->getHelperMock(
|
232 |
+
'ops/order_refund', array('getCreditMemoRequestParams', 'createRefundTransaction')
|
233 |
+
);
|
234 |
$helperMock->expects($this->any())
|
235 |
+
->method('getCreditMemoRequestParams')
|
236 |
+
->will($this->returnValue($params));
|
237 |
$this->replaceByMock('helper', 'ops/order_refund', $helperMock);
|
238 |
}
|
239 |
|
242 |
{
|
243 |
parent::tearDown();
|
244 |
$this->openInvoiceNlModel = null;
|
245 |
+
$this->testPayment = null;
|
246 |
}
|
247 |
}
|
248 |
|
app/code/community/Netresearch/OPS/Test/Model/Backend/Operation/Refund/ParameterTest.php
CHANGED
@@ -6,6 +6,8 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_ParameterTest extends
|
|
6 |
public function testGetRequestParams()
|
7 |
{
|
8 |
$fakePayment = Mage::getModel('sales/order_payment');
|
|
|
|
|
9 |
$fakePayment->setOrder(Mage::getModel('sales/order'));
|
10 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
11 |
$arrInfo = array(
|
@@ -30,9 +32,14 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_ParameterTest extends
|
|
30 |
|
31 |
public function testGetRequestParamsWithAdditionalParameters()
|
32 |
{
|
|
|
|
|
33 |
|
34 |
$fakePayment = Mage::getModel('sales/order_payment');
|
35 |
-
$
|
|
|
|
|
|
|
36 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
37 |
$fakeInvoice = Mage::getModel('sales/order_invoice');
|
38 |
$fakePayment->setInvoice($fakeInvoice);
|
@@ -40,11 +47,10 @@ class Netresearch_OPS_Test_Model_Backend_Operation_Refund_ParameterTest extends
|
|
40 |
'operation' => 'refund',
|
41 |
'invoice_id' => 2
|
42 |
);
|
43 |
-
$amount = 10;
|
44 |
$opsPaymentMethod = Mage::getModel('ops/payment_openInvoiceNl');
|
45 |
$captureParameterModel = Mage::getModel('ops/backend_operation_refund_parameter');
|
46 |
$this->mockRefundHelper();
|
47 |
-
$requestParams = $captureParameterModel->getRequestParams($opsPaymentMethod, $fakePayment,
|
48 |
$this->assertArrayHasKey('AMOUNT', $requestParams);
|
49 |
$this->assertArrayHasKey('PAYID', $requestParams);
|
50 |
$this->assertArrayHasKey('OPERATION', $requestParams);
|
6 |
public function testGetRequestParams()
|
7 |
{
|
8 |
$fakePayment = Mage::getModel('sales/order_payment');
|
9 |
+
$creditMemo = Mage::getModel('sales/order_creditmemo');
|
10 |
+
$fakePayment->setCreditmemo($creditMemo);
|
11 |
$fakePayment->setOrder(Mage::getModel('sales/order'));
|
12 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
13 |
$arrInfo = array(
|
32 |
|
33 |
public function testGetRequestParamsWithAdditionalParameters()
|
34 |
{
|
35 |
+
$customerSession = $this->getModelMockBuilder('customer/session')->disableOriginalConstructor()->getMock();
|
36 |
+
$this->replaceByMock('model', 'customer/session', $customerSession);
|
37 |
|
38 |
$fakePayment = Mage::getModel('sales/order_payment');
|
39 |
+
$creditMemo = Mage::getModel('sales/order_creditmemo');
|
40 |
+
$creditMemo->setBaseShippingInclTax(10);
|
41 |
+
$fakePayment->setCreditmemo($creditMemo);
|
42 |
+
$fakePayment->setOrder(Mage::getModel('sales/order')->setBaseGrandTotal(100));
|
43 |
$fakePayment->setAdditionalInformation(array('paymentId' => '4711'));
|
44 |
$fakeInvoice = Mage::getModel('sales/order_invoice');
|
45 |
$fakePayment->setInvoice($fakeInvoice);
|
47 |
'operation' => 'refund',
|
48 |
'invoice_id' => 2
|
49 |
);
|
|
|
50 |
$opsPaymentMethod = Mage::getModel('ops/payment_openInvoiceNl');
|
51 |
$captureParameterModel = Mage::getModel('ops/backend_operation_refund_parameter');
|
52 |
$this->mockRefundHelper();
|
53 |
+
$requestParams = $captureParameterModel->getRequestParams($opsPaymentMethod, $fakePayment, 0, $arrInfo);
|
54 |
$this->assertArrayHasKey('AMOUNT', $requestParams);
|
55 |
$this->assertArrayHasKey('PAYID', $requestParams);
|
56 |
$this->assertArrayHasKey('OPERATION', $requestParams);
|
app/code/community/Netresearch/OPS/Test/Model/ConfigTest.php
CHANGED
@@ -240,6 +240,35 @@ class Netresearch_OPS_Test_Model_ConfigTest
|
|
240 |
}
|
241 |
|
242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
public function testGetAcceptRedirectLocation()
|
244 |
{
|
245 |
$this->assertEquals(
|
@@ -404,6 +433,9 @@ class Netresearch_OPS_Test_Model_ConfigTest
|
|
404 |
'OWNERTELNO' => 30,
|
405 |
'OWNERADDRESS' => 35,
|
406 |
'ECOM_BILLTO_POSTAL_POSTALCODE' => 10,
|
|
|
|
|
|
|
407 |
);
|
408 |
|
409 |
}
|
@@ -511,6 +543,14 @@ class Netresearch_OPS_Test_Model_ConfigTest
|
|
511 |
$this->assertEquals($config->getResendPaymentInfoTemplate(), 'payment_services_ops_resendPaymentInfo_template');
|
512 |
}
|
513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
514 |
public function testGetResendPaymentInfoIdentity()
|
515 |
{
|
516 |
$config = Mage::getModel('ops/config');
|
240 |
}
|
241 |
|
242 |
|
243 |
+
public function getAliasUsageForNewAlias()
|
244 |
+
{
|
245 |
+
$path = 'payment/ops_cc/alias_usage_for_new_alias';
|
246 |
+
$store = Mage::app()->getStore(0)->load(0);
|
247 |
+
$store->resetConfig();
|
248 |
+
$store->setConfig($path, 'my text goes here');
|
249 |
+
|
250 |
+
$this->assertEquals('my text goes here', $this->_model->getAliasUsageForNewAlias('ops_cc', 0));
|
251 |
+
|
252 |
+
$store->resetConfig();
|
253 |
+
$store->setConfig($path, 'my text goes here two');
|
254 |
+
$this->assertNotEquals('my text goes here', $this->_model->getAliasUsageForNewAlias('ops_cc', 0));
|
255 |
+
}
|
256 |
+
|
257 |
+
|
258 |
+
public function getAliasUsageForExistingAlias()
|
259 |
+
{
|
260 |
+
$path = 'payment/ops_cc/alias_usage_for_existing_alias';
|
261 |
+
$store = Mage::app()->getStore(0)->load(0);
|
262 |
+
$store->resetConfig();
|
263 |
+
$store->setConfig($path, 'my text goes here');
|
264 |
+
|
265 |
+
$this->assertEquals('my text goes here', $this->_model->getAliasUsageForNewAlias('ops_cc', 0));
|
266 |
+
|
267 |
+
$store->resetConfig();
|
268 |
+
$store->setConfig($path, 'my text goes here two');
|
269 |
+
$this->assertNotEquals('my text goes here', $this->_model->getAliasUsageForNewAlias('ops_cc', 0));
|
270 |
+
}
|
271 |
+
|
272 |
public function testGetAcceptRedirectLocation()
|
273 |
{
|
274 |
$this->assertEquals(
|
433 |
'OWNERTELNO' => 30,
|
434 |
'OWNERADDRESS' => 35,
|
435 |
'ECOM_BILLTO_POSTAL_POSTALCODE' => 10,
|
436 |
+
'ECOM_BILLTO_POSTAL_NAME_FIRST' => 50,
|
437 |
+
'ECOM_BILLTO_POSTAL_NAME_LAST' => 50,
|
438 |
+
'ECOM_SHIPTO_POSTAL_STATE' => 35
|
439 |
);
|
440 |
|
441 |
}
|
543 |
$this->assertEquals($config->getResendPaymentInfoTemplate(), 'payment_services_ops_resendPaymentInfo_template');
|
544 |
}
|
545 |
|
546 |
+
|
547 |
+
public function testGetPayPerMailTemplate()
|
548 |
+
{
|
549 |
+
$config = Mage::getModel('ops/config');
|
550 |
+
$this->assertEquals($config->getPayPerMailTemplate(), 'payment_services_ops_payPerMail_template');
|
551 |
+
}
|
552 |
+
|
553 |
+
|
554 |
public function testGetResendPaymentInfoIdentity()
|
555 |
{
|
556 |
$config = Mage::getModel('ops/config');
|
app/code/community/Netresearch/OPS/Test/Model/File/Download.php
CHANGED
@@ -7,7 +7,7 @@ class Netresearch_OPS_Test_Model_File_Download extends EcomDev_PHPUnit_Test_Case
|
|
7 |
{
|
8 |
$this->testFile = Mage::helper('ops/data')->getLogPath();
|
9 |
if(!file_exists($this->testFile)){
|
10 |
-
$file = fopen($this->testFile,'c');
|
11 |
fclose($file);
|
12 |
}
|
13 |
|
@@ -22,10 +22,11 @@ class Netresearch_OPS_Test_Model_File_Download extends EcomDev_PHPUnit_Test_Case
|
|
22 |
$model->getFile($path);
|
23 |
}
|
24 |
|
25 |
-
public function testSuccessGetFile()
|
|
|
26 |
$model = Mage::getModel('ops/file_download');
|
27 |
if(filesize($this->testFile) > $model::ONE_MEGABYTE){
|
28 |
-
$this->assertEquals(0, strpos(basename($model->getFile($this->testFile)),'tempFile'));
|
29 |
}else{
|
30 |
$this->assertEquals($model->getFile($this->testFile), $this->testFile);
|
31 |
}
|
7 |
{
|
8 |
$this->testFile = Mage::helper('ops/data')->getLogPath();
|
9 |
if(!file_exists($this->testFile)){
|
10 |
+
$file = fopen($this->testFile, 'c');
|
11 |
fclose($file);
|
12 |
}
|
13 |
|
22 |
$model->getFile($path);
|
23 |
}
|
24 |
|
25 |
+
public function testSuccessGetFile()
|
26 |
+
{
|
27 |
$model = Mage::getModel('ops/file_download');
|
28 |
if(filesize($this->testFile) > $model::ONE_MEGABYTE){
|
29 |
+
$this->assertEquals(0, strpos(basename($model->getFile($this->testFile)), 'tempFile'));
|
30 |
}else{
|
31 |
$this->assertEquals($model->getFile($this->testFile), $this->testFile);
|
32 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Mysql4/Alias/AliasTest.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
class Netresearch_OPS_Test_Model_Mysql4_Alias_CollectionTest extends EcomDev_PHPUnit_Test_Case
|
3 |
-
{
|
|
|
4 |
public function testType()
|
5 |
{
|
6 |
$this->assertTypeOf('Netresearch_OPS_Model_Mysql4_Alias_Collection', Mage::getModel('ops/mysql4_alias')->getCollection());
|
1 |
<?php
|
2 |
class Netresearch_OPS_Test_Model_Mysql4_Alias_CollectionTest extends EcomDev_PHPUnit_Test_Case
|
3 |
+
{
|
4 |
+
|
5 |
public function testType()
|
6 |
{
|
7 |
$this->assertTypeOf('Netresearch_OPS_Model_Mysql4_Alias_Collection', Mage::getModel('ops/mysql4_alias')->getCollection());
|
app/code/community/Netresearch/OPS/Test/Model/ObserverTest.php
CHANGED
@@ -125,7 +125,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
125 |
$order->setPayment($payment);
|
126 |
$invoice = new Varien_Object();
|
127 |
$invoice->setTransactionId(1);
|
128 |
-
$creditMemo = $this->getModelMock(
|
|
|
129 |
array('getOrder', 'getInvoice', 'canRefund', 'getOrderId')
|
130 |
);
|
131 |
$creditMemo->expects($this->any())
|
@@ -143,7 +144,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
143 |
Mage::register('current_creditmemo', $creditMemo);
|
144 |
$block = Mage::app()->getLayout()->getBlockSingleton('adminhtml/sales_order_creditmemo_create');
|
145 |
|
146 |
-
$blockMock = $this->getBlockMock(
|
|
|
147 |
array('renderView')
|
148 |
);
|
149 |
$blockMock->expects($this->once())
|
@@ -187,7 +189,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
187 |
->will($this->returnValue('USD'));
|
188 |
$this->replaceByMock('helper', 'ops/quote', $quoteHelperMock);
|
189 |
|
190 |
-
$observerMock = $this->getModelMock(
|
|
|
191 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
192 |
);
|
193 |
$observerMock->expects($this->any())
|
@@ -206,7 +209,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
206 |
->will($this->returnValue(1));
|
207 |
$this->replaceByMock('model', 'customer/session', $customerSessionMock);
|
208 |
|
209 |
-
$configModelMock = $this->getModelMock(
|
|
|
210 |
'get3dSecureIsActive',
|
211 |
'getAcceptUrl',
|
212 |
'getDeclineUrl',
|
@@ -242,7 +246,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
242 |
->will($this->returnValue(true));
|
243 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
244 |
|
245 |
-
$observerMock = $this->getModelMock(
|
|
|
246 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
247 |
);
|
248 |
|
@@ -352,7 +357,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
352 |
$quote = Mage::getModel('sales/quote')->load(10);
|
353 |
$order = Mage::getModel('sales/order')->load(11);
|
354 |
|
355 |
-
$observerMock = $this->getModelMock(
|
|
|
356 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
357 |
);
|
358 |
|
@@ -401,7 +407,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
401 |
$order = Mage::getModel('sales/order')->load(11);
|
402 |
|
403 |
|
404 |
-
$observerMock = $this->getModelMock(
|
|
|
405 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
406 |
);
|
407 |
|
@@ -665,7 +672,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
665 |
->method('getMessages')
|
666 |
->will($this->returnValue(array('Foo' => 'Not Valid')));
|
667 |
$this->replaceByMock('model', 'ops/validator_parameter_validator', $validatorMock);
|
668 |
-
$fakeResponse->setBody(
|
|
|
669 |
);
|
670 |
$fakeController->setResponse($fakeResponse);
|
671 |
$event = new Varien_Event_Observer();
|
@@ -746,7 +754,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
746 |
public function testSetOrderStateForDirectLinkDoesNotChangeStateDueToMissingStatus()
|
747 |
{
|
748 |
$order = $this->getOrderForDirectDebitNlTest();
|
749 |
-
$event = $this->getEventForDirectDebitNlTests(
|
|
|
750 |
array('PM' => 'Direct Debits NL')
|
751 |
);
|
752 |
$this->registerPaymentHelperMockForDirectDebitNlTests(true);
|
@@ -759,7 +768,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
759 |
public function testSetOrderStateForDirectLinkDoesNotChangeStateDueToWrongPm()
|
760 |
{
|
761 |
$order = $this->getOrderForDirectDebitNlTest();
|
762 |
-
$event = $this->getEventForDirectDebitNlTests(
|
|
|
763 |
array('PM' => 'Direct Debits DE', 'STATUS' => 51)
|
764 |
);
|
765 |
$this->registerPaymentHelperMockForDirectDebitNlTests(true);
|
@@ -772,7 +782,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
772 |
public function testSetOrderStateForDirectLinkDoesNotChangeStateDueToWrongStatus()
|
773 |
{
|
774 |
$order = $this->getOrderForDirectDebitNlTest();
|
775 |
-
$event = $this->getEventForDirectDebitNlTests(
|
|
|
776 |
array('PM' => 'Direct Debits NL', 'STATUS' => 5)
|
777 |
);
|
778 |
$this->registerPaymentHelperMockForDirectDebitNlTests(true);
|
@@ -785,7 +796,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
785 |
public function testSetOrderStateForDirectLinkDoesChangeState()
|
786 |
{
|
787 |
$order = $this->getOrderForDirectDebitNlTest();
|
788 |
-
$event = $this->getEventForDirectDebitNlTests(
|
|
|
789 |
array('PM' => 'Direct Debits NL',
|
790 |
'status' => Netresearch_OPS_Model_Status::AUTHORIZED)
|
791 |
);
|
@@ -857,7 +869,8 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
857 |
$subject->updateRecurringProfileButtons($observer);
|
858 |
$html = $block->getButtonsHtml('header');
|
859 |
|
860 |
-
$this->assertContains(
|
|
|
861 |
$html
|
862 |
);
|
863 |
}
|
@@ -886,30 +899,31 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
886 |
public function sendTransactionalEmailsNoOps()
|
887 |
{
|
888 |
// no emails on third party payments
|
889 |
-
$helperMock = $this->getHelperMock('ops/data',
|
890 |
$helperMock
|
891 |
->expects($this->never())
|
892 |
->method('sendTransactionalEmail')
|
893 |
-
->with($this->isInstanceOf('Mage_Sales_Model_Order'))
|
894 |
-
;
|
895 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
896 |
|
897 |
-
$payment = new Varien_Object(
|
|
|
898 |
'method' => Mage::getModel('payment/method_checkmo')->getCode(),
|
899 |
-
|
900 |
-
|
|
|
|
|
901 |
'payment' => $payment,
|
902 |
-
|
|
|
903 |
|
904 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
905 |
-
->setMethods(
|
906 |
-
->getMock()
|
907 |
-
;
|
908 |
$observerMock
|
909 |
->expects($this->once())
|
910 |
->method('getOrder')
|
911 |
-
->willReturn($order)
|
912 |
-
;
|
913 |
|
914 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
915 |
}
|
@@ -920,39 +934,41 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
920 |
public function sendTransactionalEmailsGatewayPayment()
|
921 |
{
|
922 |
// no emails on ingenico redirect payments
|
923 |
-
$helperMock = $this->getHelperMock('ops/data',
|
924 |
$helperMock
|
925 |
->expects($this->never())
|
926 |
->method('sendTransactionalEmail')
|
927 |
-
->with($this->isInstanceOf('Mage_Sales_Model_Order'))
|
928 |
-
;
|
929 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
930 |
|
931 |
-
$payment = new Varien_Object(
|
|
|
932 |
'method_instance' => Mage::getModel('ops/payment_bankTransfer'),
|
933 |
'order_place_redirect_url' => 'foo',
|
934 |
-
|
935 |
-
|
|
|
|
|
936 |
'payment' => $payment,
|
937 |
-
|
938 |
-
|
|
|
|
|
939 |
'payment' => $payment,
|
940 |
-
|
|
|
941 |
|
942 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
943 |
-
->setMethods(
|
944 |
-
->getMock()
|
945 |
-
;
|
946 |
$observerMock
|
947 |
->expects($this->once())
|
948 |
->method('getOrder')
|
949 |
-
->willReturn($order)
|
950 |
-
;
|
951 |
$observerMock
|
952 |
->expects($this->once())
|
953 |
->method('getQuote')
|
954 |
-
->willReturn($quote)
|
955 |
-
;
|
956 |
|
957 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
958 |
}
|
@@ -964,7 +980,7 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
964 |
{
|
965 |
// exception not really testable.
|
966 |
// just assert that second call to sendTransactionalEmail is not invoked
|
967 |
-
$helperMock = $this->getHelperMock('ops/data',
|
968 |
$helperMock
|
969 |
->expects($this->exactly(1))
|
970 |
->method('sendTransactionalEmail')
|
@@ -972,38 +988,37 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
972 |
$this->isInstanceOf('Mage_Sales_Model_Order'),
|
973 |
$this->isInstanceOf('Mage_Sales_Model_Order_Invoice')
|
974 |
)
|
975 |
-
->willThrowException(new Exception('no mails foo'))
|
976 |
-
;
|
977 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
978 |
|
979 |
|
980 |
-
$payment = new Varien_Object(
|
|
|
981 |
'method_instance' => Mage::getModel('ops/payment_bankTransfer'),
|
982 |
-
|
983 |
-
|
|
|
|
|
984 |
'payment' => $payment,
|
985 |
-
|
986 |
-
|
|
|
987 |
$orderMock
|
988 |
->expects($this->once())
|
989 |
->method('getPayment')
|
990 |
-
->willReturn($payment)
|
991 |
-
;
|
992 |
|
993 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
994 |
-
->setMethods(
|
995 |
-
->getMock()
|
996 |
-
;
|
997 |
$observerMock
|
998 |
->expects($this->once())
|
999 |
->method('getOrder')
|
1000 |
-
->willReturn($orderMock)
|
1001 |
-
;
|
1002 |
$observerMock
|
1003 |
->expects($this->once())
|
1004 |
->method('getQuote')
|
1005 |
-
->willReturn($quote)
|
1006 |
-
;
|
1007 |
|
1008 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
1009 |
}
|
@@ -1013,48 +1028,84 @@ class Netresearch_OPS_Test_Model_ObserverTest
|
|
1013 |
*/
|
1014 |
public function sendTransactionalEmailsSuccess()
|
1015 |
{
|
1016 |
-
$helperMock = $this->getHelperMock('ops/data',
|
1017 |
$helperMock
|
1018 |
->expects($this->exactly(2))
|
1019 |
->method('sendTransactionalEmail')
|
1020 |
->withConsecutive(
|
1021 |
$this->isInstanceOf('Mage_Sales_Model_Order'),
|
1022 |
$this->isInstanceOf('Mage_Sales_Model_Order_Invoice')
|
1023 |
-
)
|
1024 |
-
;
|
1025 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
1026 |
|
1027 |
// invoice
|
1028 |
$invoice = Mage::getModel('sales/order_invoice');
|
1029 |
|
1030 |
// order payment
|
1031 |
-
$payment = new Varien_Object(
|
|
|
1032 |
'method_instance' => Mage::getModel('ops/payment_cc'),
|
1033 |
'created_invoice' => $invoice,
|
1034 |
-
|
|
|
1035 |
|
1036 |
// order
|
1037 |
-
$orderMock = $this->getModelMock('sales/order',
|
1038 |
$orderMock
|
1039 |
->expects($this->exactly(2))
|
1040 |
->method('getPayment')
|
1041 |
-
->willReturn($payment)
|
1042 |
-
;
|
1043 |
$this->replaceByMock('model', 'sales/order', $orderMock);
|
1044 |
$order = Mage::getModel('sales/order');
|
1045 |
|
1046 |
// quote
|
1047 |
-
$quote = new Varien_Object(
|
|
|
1048 |
'payment' => $payment,
|
1049 |
-
|
|
|
1050 |
|
1051 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
1052 |
-
->setMethods(
|
1053 |
-
->getMock()
|
1054 |
-
;
|
1055 |
$observerMock->expects($this->once())->method('getOrder')->willReturn($order);
|
1056 |
$observerMock->expects($this->once())->method('getQuote')->willReturn($quote);
|
1057 |
|
1058 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
1059 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1060 |
}
|
125 |
$order->setPayment($payment);
|
126 |
$invoice = new Varien_Object();
|
127 |
$invoice->setTransactionId(1);
|
128 |
+
$creditMemo = $this->getModelMock(
|
129 |
+
'sales/order_creditmemo',
|
130 |
array('getOrder', 'getInvoice', 'canRefund', 'getOrderId')
|
131 |
);
|
132 |
$creditMemo->expects($this->any())
|
144 |
Mage::register('current_creditmemo', $creditMemo);
|
145 |
$block = Mage::app()->getLayout()->getBlockSingleton('adminhtml/sales_order_creditmemo_create');
|
146 |
|
147 |
+
$blockMock = $this->getBlockMock(
|
148 |
+
'ops/adminhtml_sales_order_creditmemo_closedTransaction_warning',
|
149 |
array('renderView')
|
150 |
);
|
151 |
$blockMock->expects($this->once())
|
189 |
->will($this->returnValue('USD'));
|
190 |
$this->replaceByMock('helper', 'ops/quote', $quoteHelperMock);
|
191 |
|
192 |
+
$observerMock = $this->getModelMock(
|
193 |
+
'ops/observer',
|
194 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
195 |
);
|
196 |
$observerMock->expects($this->any())
|
209 |
->will($this->returnValue(1));
|
210 |
$this->replaceByMock('model', 'customer/session', $customerSessionMock);
|
211 |
|
212 |
+
$configModelMock = $this->getModelMock(
|
213 |
+
'ops/config', array(
|
214 |
'get3dSecureIsActive',
|
215 |
'getAcceptUrl',
|
216 |
'getDeclineUrl',
|
246 |
->will($this->returnValue(true));
|
247 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
248 |
|
249 |
+
$observerMock = $this->getModelMock(
|
250 |
+
'ops/observer',
|
251 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
252 |
);
|
253 |
|
357 |
$quote = Mage::getModel('sales/quote')->load(10);
|
358 |
$order = Mage::getModel('sales/order')->load(11);
|
359 |
|
360 |
+
$observerMock = $this->getModelMock(
|
361 |
+
'ops/observer',
|
362 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
363 |
);
|
364 |
|
407 |
$order = Mage::getModel('sales/order')->load(11);
|
408 |
|
409 |
|
410 |
+
$observerMock = $this->getModelMock(
|
411 |
+
'ops/observer',
|
412 |
array('performDirectLinkRequest', 'invokeRequestParamValidation')
|
413 |
);
|
414 |
|
672 |
->method('getMessages')
|
673 |
->will($this->returnValue(array('Foo' => 'Not Valid')));
|
674 |
$this->replaceByMock('model', 'ops/validator_parameter_validator', $validatorMock);
|
675 |
+
$fakeResponse->setBody(
|
676 |
+
Mage::helper('core/data')->jsonEncode(array('error' => false, 'update_section' => 'foo'))
|
677 |
);
|
678 |
$fakeController->setResponse($fakeResponse);
|
679 |
$event = new Varien_Event_Observer();
|
754 |
public function testSetOrderStateForDirectLinkDoesNotChangeStateDueToMissingStatus()
|
755 |
{
|
756 |
$order = $this->getOrderForDirectDebitNlTest();
|
757 |
+
$event = $this->getEventForDirectDebitNlTests(
|
758 |
+
$order, 'ops/payment_directDebit',
|
759 |
array('PM' => 'Direct Debits NL')
|
760 |
);
|
761 |
$this->registerPaymentHelperMockForDirectDebitNlTests(true);
|
768 |
public function testSetOrderStateForDirectLinkDoesNotChangeStateDueToWrongPm()
|
769 |
{
|
770 |
$order = $this->getOrderForDirectDebitNlTest();
|
771 |
+
$event = $this->getEventForDirectDebitNlTests(
|
772 |
+
$order, 'ops/payment_directDebit',
|
773 |
array('PM' => 'Direct Debits DE', 'STATUS' => 51)
|
774 |
);
|
775 |
$this->registerPaymentHelperMockForDirectDebitNlTests(true);
|
782 |
public function testSetOrderStateForDirectLinkDoesNotChangeStateDueToWrongStatus()
|
783 |
{
|
784 |
$order = $this->getOrderForDirectDebitNlTest();
|
785 |
+
$event = $this->getEventForDirectDebitNlTests(
|
786 |
+
$order, 'ops/payment_directDebit',
|
787 |
array('PM' => 'Direct Debits NL', 'STATUS' => 5)
|
788 |
);
|
789 |
$this->registerPaymentHelperMockForDirectDebitNlTests(true);
|
796 |
public function testSetOrderStateForDirectLinkDoesChangeState()
|
797 |
{
|
798 |
$order = $this->getOrderForDirectDebitNlTest();
|
799 |
+
$event = $this->getEventForDirectDebitNlTests(
|
800 |
+
$order, 'ops/payment_directDebit',
|
801 |
array('PM' => 'Direct Debits NL',
|
802 |
'status' => Netresearch_OPS_Model_Status::AUTHORIZED)
|
803 |
);
|
869 |
$subject->updateRecurringProfileButtons($observer);
|
870 |
$html = $block->getButtonsHtml('header');
|
871 |
|
872 |
+
$this->assertContains(
|
873 |
+
'Suspending the subscription here will not actually cancel the subscription on Ingenico ePayments side.',
|
874 |
$html
|
875 |
);
|
876 |
}
|
899 |
public function sendTransactionalEmailsNoOps()
|
900 |
{
|
901 |
// no emails on third party payments
|
902 |
+
$helperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
903 |
$helperMock
|
904 |
->expects($this->never())
|
905 |
->method('sendTransactionalEmail')
|
906 |
+
->with($this->isInstanceOf('Mage_Sales_Model_Order'));
|
|
|
907 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
908 |
|
909 |
+
$payment = new Varien_Object(
|
910 |
+
array(
|
911 |
'method' => Mage::getModel('payment/method_checkmo')->getCode(),
|
912 |
+
)
|
913 |
+
);
|
914 |
+
$order = new Varien_Object(
|
915 |
+
array(
|
916 |
'payment' => $payment,
|
917 |
+
)
|
918 |
+
);
|
919 |
|
920 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
921 |
+
->setMethods(array('getOrder'))
|
922 |
+
->getMock();
|
|
|
923 |
$observerMock
|
924 |
->expects($this->once())
|
925 |
->method('getOrder')
|
926 |
+
->willReturn($order);
|
|
|
927 |
|
928 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
929 |
}
|
934 |
public function sendTransactionalEmailsGatewayPayment()
|
935 |
{
|
936 |
// no emails on ingenico redirect payments
|
937 |
+
$helperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
938 |
$helperMock
|
939 |
->expects($this->never())
|
940 |
->method('sendTransactionalEmail')
|
941 |
+
->with($this->isInstanceOf('Mage_Sales_Model_Order'));
|
|
|
942 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
943 |
|
944 |
+
$payment = new Varien_Object(
|
945 |
+
array(
|
946 |
'method_instance' => Mage::getModel('ops/payment_bankTransfer'),
|
947 |
'order_place_redirect_url' => 'foo',
|
948 |
+
)
|
949 |
+
);
|
950 |
+
$order = new Varien_Object(
|
951 |
+
array(
|
952 |
'payment' => $payment,
|
953 |
+
)
|
954 |
+
);
|
955 |
+
$quote = new Varien_Object(
|
956 |
+
array(
|
957 |
'payment' => $payment,
|
958 |
+
)
|
959 |
+
);
|
960 |
|
961 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
962 |
+
->setMethods(array('getOrder', 'getQuote'))
|
963 |
+
->getMock();
|
|
|
964 |
$observerMock
|
965 |
->expects($this->once())
|
966 |
->method('getOrder')
|
967 |
+
->willReturn($order);
|
|
|
968 |
$observerMock
|
969 |
->expects($this->once())
|
970 |
->method('getQuote')
|
971 |
+
->willReturn($quote);
|
|
|
972 |
|
973 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
974 |
}
|
980 |
{
|
981 |
// exception not really testable.
|
982 |
// just assert that second call to sendTransactionalEmail is not invoked
|
983 |
+
$helperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
984 |
$helperMock
|
985 |
->expects($this->exactly(1))
|
986 |
->method('sendTransactionalEmail')
|
988 |
$this->isInstanceOf('Mage_Sales_Model_Order'),
|
989 |
$this->isInstanceOf('Mage_Sales_Model_Order_Invoice')
|
990 |
)
|
991 |
+
->willThrowException(new Exception('no mails foo'));
|
|
|
992 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
993 |
|
994 |
|
995 |
+
$payment = new Varien_Object(
|
996 |
+
array(
|
997 |
'method_instance' => Mage::getModel('ops/payment_bankTransfer'),
|
998 |
+
)
|
999 |
+
);
|
1000 |
+
$quote = new Varien_Object(
|
1001 |
+
array(
|
1002 |
'payment' => $payment,
|
1003 |
+
)
|
1004 |
+
);
|
1005 |
+
$orderMock = $this->getModelMock('sales/order', array('getPayment'));
|
1006 |
$orderMock
|
1007 |
->expects($this->once())
|
1008 |
->method('getPayment')
|
1009 |
+
->willReturn($payment);
|
|
|
1010 |
|
1011 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
1012 |
+
->setMethods(array('getOrder', 'getQuote'))
|
1013 |
+
->getMock();
|
|
|
1014 |
$observerMock
|
1015 |
->expects($this->once())
|
1016 |
->method('getOrder')
|
1017 |
+
->willReturn($orderMock);
|
|
|
1018 |
$observerMock
|
1019 |
->expects($this->once())
|
1020 |
->method('getQuote')
|
1021 |
+
->willReturn($quote);
|
|
|
1022 |
|
1023 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
1024 |
}
|
1028 |
*/
|
1029 |
public function sendTransactionalEmailsSuccess()
|
1030 |
{
|
1031 |
+
$helperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
1032 |
$helperMock
|
1033 |
->expects($this->exactly(2))
|
1034 |
->method('sendTransactionalEmail')
|
1035 |
->withConsecutive(
|
1036 |
$this->isInstanceOf('Mage_Sales_Model_Order'),
|
1037 |
$this->isInstanceOf('Mage_Sales_Model_Order_Invoice')
|
1038 |
+
);
|
|
|
1039 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
1040 |
|
1041 |
// invoice
|
1042 |
$invoice = Mage::getModel('sales/order_invoice');
|
1043 |
|
1044 |
// order payment
|
1045 |
+
$payment = new Varien_Object(
|
1046 |
+
array(
|
1047 |
'method_instance' => Mage::getModel('ops/payment_cc'),
|
1048 |
'created_invoice' => $invoice,
|
1049 |
+
)
|
1050 |
+
);
|
1051 |
|
1052 |
// order
|
1053 |
+
$orderMock = $this->getModelMock('sales/order', array('getPayment'));
|
1054 |
$orderMock
|
1055 |
->expects($this->exactly(2))
|
1056 |
->method('getPayment')
|
1057 |
+
->willReturn($payment);
|
|
|
1058 |
$this->replaceByMock('model', 'sales/order', $orderMock);
|
1059 |
$order = Mage::getModel('sales/order');
|
1060 |
|
1061 |
// quote
|
1062 |
+
$quote = new Varien_Object(
|
1063 |
+
array(
|
1064 |
'payment' => $payment,
|
1065 |
+
)
|
1066 |
+
);
|
1067 |
|
1068 |
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
1069 |
+
->setMethods(array('getOrder', 'getQuote'))
|
1070 |
+
->getMock();
|
|
|
1071 |
$observerMock->expects($this->once())->method('getOrder')->willReturn($order);
|
1072 |
$observerMock->expects($this->once())->method('getQuote')->willReturn($quote);
|
1073 |
|
1074 |
Mage::getModel('ops/observer')->sendTransactionalEmails($observerMock);
|
1075 |
}
|
1076 |
+
|
1077 |
+
public function testSendPayPerMailInfoSuccess()
|
1078 |
+
{
|
1079 |
+
// order payment
|
1080 |
+
$payment = Mage::getModel('sales/order_payment');
|
1081 |
+
$payment->setMethodInstance(Mage::getModel('ops/payment_payPerMail'));
|
1082 |
+
|
1083 |
+
$order = Mage::getModel('sales/order');
|
1084 |
+
$order->setPayment($payment);
|
1085 |
+
|
1086 |
+
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
1087 |
+
->setMethods(['getOrder'])
|
1088 |
+
->getMock()
|
1089 |
+
;
|
1090 |
+
$observerMock->expects($this->once())->method('getOrder')->willReturn($order);
|
1091 |
+
Mage::getModel('ops/observer')->sendPayPerMailInfo($observerMock);
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
public function testSendPayPerMailInfoFailure()
|
1095 |
+
{
|
1096 |
+
// order payment
|
1097 |
+
$payment = Mage::getModel('sales/order_payment');
|
1098 |
+
$payment->setMethodInstance(Mage::getModel('ops/payment_cc'));
|
1099 |
+
|
1100 |
+
$order = Mage::getModel('sales/order');
|
1101 |
+
$order->setPayment($payment);
|
1102 |
+
|
1103 |
+
$observerMock = $this->getMockBuilder('Varien_Event_Observer')
|
1104 |
+
->setMethods(['getOrder'])
|
1105 |
+
->getMock()
|
1106 |
+
;
|
1107 |
+
$observerMock->expects($this->once())->method('getOrder')->willReturn($order);
|
1108 |
+
Mage::getModel('ops/observer')->sendPayPerMailInfo($observerMock);
|
1109 |
+
}
|
1110 |
+
|
1111 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractRefundTest.php
CHANGED
@@ -43,7 +43,7 @@ class Netresearch_OPS_Test_Model_Payment_AbstractRefundTest extends EcomDev_PHPU
|
|
43 |
$amount = 10;
|
44 |
$requestParams = $this->getRequestParams($amount, $testPayment);
|
45 |
$testOpsResponse = $this->returnValue(
|
46 |
-
|
47 |
);
|
48 |
$this->mockApiDirectLink($requestParams, $testOpsResponse);
|
49 |
$this->testObject->setInfoInstance($testPayment);
|
@@ -61,7 +61,7 @@ class Netresearch_OPS_Test_Model_Payment_AbstractRefundTest extends EcomDev_PHPU
|
|
61 |
$amount = 10;
|
62 |
$requestParams = $this->getRequestParams($amount, $testPayment);
|
63 |
$testOpsResponse = $this->returnValue(
|
64 |
-
|
65 |
);
|
66 |
$this->mockApiDirectLink($requestParams, $testOpsResponse);
|
67 |
$this->testObject->setInfoInstance($testPayment);
|
@@ -80,7 +80,7 @@ class Netresearch_OPS_Test_Model_Payment_AbstractRefundTest extends EcomDev_PHPU
|
|
80 |
$amount = 10;
|
81 |
$requestParams = $this->getRequestParams($amount, $testPayment);
|
82 |
$testOpsResponse = $this->returnValue(
|
83 |
-
|
84 |
);
|
85 |
$this->mockApiDirectLink($requestParams, $testOpsResponse);
|
86 |
|
@@ -136,10 +136,10 @@ class Netresearch_OPS_Test_Model_Payment_AbstractRefundTest extends EcomDev_PHPU
|
|
136 |
$apiDirectLinkMock->expects($this->once())
|
137 |
->method('performRequest')
|
138 |
->with(
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
->will($testOpsResponse);
|
144 |
$this->replaceByMock('model', 'ops/api_directlink', $apiDirectLinkMock);
|
145 |
}
|
43 |
$amount = 10;
|
44 |
$requestParams = $this->getRequestParams($amount, $testPayment);
|
45 |
$testOpsResponse = $this->returnValue(
|
46 |
+
array('STATUS' => Netresearch_OPS_Model_Status::REFUND_UNCERTAIN)
|
47 |
);
|
48 |
$this->mockApiDirectLink($requestParams, $testOpsResponse);
|
49 |
$this->testObject->setInfoInstance($testPayment);
|
61 |
$amount = 10;
|
62 |
$requestParams = $this->getRequestParams($amount, $testPayment);
|
63 |
$testOpsResponse = $this->returnValue(
|
64 |
+
array('STATUS' => Netresearch_OPS_Model_Status::REFUND_PROCESSED_BY_MERCHANT)
|
65 |
);
|
66 |
$this->mockApiDirectLink($requestParams, $testOpsResponse);
|
67 |
$this->testObject->setInfoInstance($testPayment);
|
80 |
$amount = 10;
|
81 |
$requestParams = $this->getRequestParams($amount, $testPayment);
|
82 |
$testOpsResponse = $this->returnValue(
|
83 |
+
array('STATUS' => 500)
|
84 |
);
|
85 |
$this->mockApiDirectLink($requestParams, $testOpsResponse);
|
86 |
|
136 |
$apiDirectLinkMock->expects($this->once())
|
137 |
->method('performRequest')
|
138 |
->with(
|
139 |
+
$this->equalTo($requestParams),
|
140 |
+
$this->equalTo(Mage::getModel('ops/config')->getDirectLinkGatewayPath()),
|
141 |
+
$this->equalTo(null)
|
142 |
+
)
|
143 |
->will($testOpsResponse);
|
144 |
$this->replaceByMock('model', 'ops/api_directlink', $apiDirectLinkMock);
|
145 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractTest.php
CHANGED
@@ -25,26 +25,36 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
25 |
public function _getOrderDescriptionShorterThen100Chars()
|
26 |
{
|
27 |
$items = array(
|
28 |
-
new Varien_Object(
|
|
|
29 |
'parent_item' => false,
|
30 |
'name' => 'abc'
|
31 |
-
|
32 |
-
|
|
|
|
|
33 |
'parent_item' => true,
|
34 |
'name' => 'def'
|
35 |
-
|
36 |
-
|
|
|
|
|
37 |
'parent_item' => false,
|
38 |
'name' => 'ghi'
|
39 |
-
|
40 |
-
|
|
|
|
|
41 |
'parent_item' => false,
|
42 |
'name' => 'Dubbelwerkende cilinder Boring ø70 Stang ø40 3/8'
|
43 |
-
|
44 |
-
|
|
|
|
|
45 |
'parent_item' => false,
|
46 |
-
'name' => '
|
47 |
-
|
|
|
48 |
);
|
49 |
|
50 |
$order = $this->getModelMock('sales/order', array('getAllItems'));
|
@@ -54,7 +64,7 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
54 |
|
55 |
$result = Mage::getModel('ops/payment_abstract')->_getOrderDescription($order);
|
56 |
$this->assertEquals(
|
57 |
-
'abc, ghi, Dubbelwerkende cilinder Boring 70 Stang 40 3/8,
|
58 |
$result
|
59 |
);
|
60 |
}
|
@@ -65,14 +75,18 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
65 |
public function _getOrderDescriptionLongerThen100Chars()
|
66 |
{
|
67 |
$items = array(
|
68 |
-
new Varien_Object(
|
|
|
69 |
'parent_item' => false,
|
70 |
'name' => '1bcdefghij abcdefghij abcdefghij abcdefghij abcdefghi1' //54 chars
|
71 |
-
|
72 |
-
|
|
|
|
|
73 |
'parent_item' => false,
|
74 |
-
'name' => '2bcdefghij abcdefghij abcdefghij abcdefghij
|
75 |
-
|
|
|
76 |
);
|
77 |
|
78 |
$order = $this->getModelMock('sales/order', array('getAllItems'));
|
@@ -82,7 +96,7 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
82 |
|
83 |
$result = Mage::getModel('ops/payment_abstract')->_getOrderDescription($order);
|
84 |
$this->assertEquals(
|
85 |
-
'1bcdefghij abcdefghij abcdefghij abcdefghij abcdefghi1, 2bcdefghij abcdefghij abcdefghij abcdefghij
|
86 |
$result
|
87 |
);
|
88 |
}
|
@@ -93,11 +107,13 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
93 |
public function _getOrderDescriptionLongerThen100CharsOneItem()
|
94 |
{
|
95 |
$items = array(
|
96 |
-
new Varien_Object(
|
|
|
97 |
'parent_item' => false,
|
98 |
'name' => '1bcdefghij abcdefghij abcdefghij abcdefghij abcdefghi1 '.
|
99 |
-
'2bcdefghij abcdefghij abcdefghij abcdefghij
|
100 |
-
|
|
|
101 |
);
|
102 |
|
103 |
$order = $this->getModelMock('sales/order', array('getAllItems'));
|
@@ -592,9 +608,12 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
592 |
$apiClientMock->expects($this->any())
|
593 |
->method('performRequest')
|
594 |
->will(
|
595 |
-
$this->returnValue(
|
|
|
596 |
'STATUS' => 666
|
597 |
-
|
|
|
|
|
598 |
$this->replaceByMock('model', 'ops/api_directlink', $apiClientMock);
|
599 |
$order = Mage::getModel('sales/order')->load(11);
|
600 |
$order->getPayment()->setAdditionalInformation('status', 5);
|
@@ -640,11 +659,14 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
640 |
$apiClientMock->expects($this->any())
|
641 |
->method('performRequest')
|
642 |
->will(
|
643 |
-
$this->returnValue(
|
|
|
644 |
'STATUS' => Netresearch_OPS_Model_Status::DELETION_WAITING,
|
645 |
'PAYID' => '4711',
|
646 |
'PAYIDSUB' => '0815'
|
647 |
-
|
|
|
|
|
648 |
$this->replaceByMock('model', 'ops/api_directlink', $apiClientMock);
|
649 |
$order = Mage::getModel('sales/order')->load(11);
|
650 |
$order->getPayment()->setAdditionalInformation('status', 5);
|
@@ -688,11 +710,14 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
688 |
$apiClientMock->expects($this->any())
|
689 |
->method('performRequest')
|
690 |
->will(
|
691 |
-
$this->returnValue(
|
|
|
692 |
'STATUS' => Netresearch_OPS_Model_Status::AUTHORIZED_AND_CANCELLED,
|
693 |
'PAYID' => '4711',
|
694 |
'PAYIDSUB' => '0815'
|
695 |
-
|
|
|
|
|
696 |
$this->replaceByMock('model', 'ops/api_directlink', $apiClientMock);
|
697 |
$order = Mage::getModel('sales/order')->load(11);
|
698 |
$order->getPayment()->setAdditionalInformation('status', 5);
|
@@ -818,6 +843,23 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
818 |
$this->assertTrue(Mage::getModel('ops/payment_abstract')->canReviewPayment($order->getPayment()));
|
819 |
}
|
820 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
821 |
protected function getOwnerParams()
|
822 |
{
|
823 |
return $ownerParams = array(
|
@@ -845,7 +887,4 @@ class Netresearch_OPS_Test_Model_Payment_AbstractTest extends EcomDev_PHPUnit_Te
|
|
845 |
|
846 |
return $paramValues;
|
847 |
}
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
}
|
25 |
public function _getOrderDescriptionShorterThen100Chars()
|
26 |
{
|
27 |
$items = array(
|
28 |
+
new Varien_Object(
|
29 |
+
array(
|
30 |
'parent_item' => false,
|
31 |
'name' => 'abc'
|
32 |
+
)
|
33 |
+
),
|
34 |
+
new Varien_Object(
|
35 |
+
array(
|
36 |
'parent_item' => true,
|
37 |
'name' => 'def'
|
38 |
+
)
|
39 |
+
),
|
40 |
+
new Varien_Object(
|
41 |
+
array(
|
42 |
'parent_item' => false,
|
43 |
'name' => 'ghi'
|
44 |
+
)
|
45 |
+
),
|
46 |
+
new Varien_Object(
|
47 |
+
array(
|
48 |
'parent_item' => false,
|
49 |
'name' => 'Dubbelwerkende cilinder Boring ø70 Stang ø40 3/8'
|
50 |
+
)
|
51 |
+
),
|
52 |
+
new Varien_Object(
|
53 |
+
array(
|
54 |
'parent_item' => false,
|
55 |
+
'name' => '0123456789012345678901234567890123456789'
|
56 |
+
)
|
57 |
+
),
|
58 |
);
|
59 |
|
60 |
$order = $this->getModelMock('sales/order', array('getAllItems'));
|
64 |
|
65 |
$result = Mage::getModel('ops/payment_abstract')->_getOrderDescription($order);
|
66 |
$this->assertEquals(
|
67 |
+
'abc, ghi, Dubbelwerkende cilinder Boring ø70 Stang ø40 3/8, 0123456789012345678901234567890123456789',
|
68 |
$result
|
69 |
);
|
70 |
}
|
75 |
public function _getOrderDescriptionLongerThen100Chars()
|
76 |
{
|
77 |
$items = array(
|
78 |
+
new Varien_Object(
|
79 |
+
array(
|
80 |
'parent_item' => false,
|
81 |
'name' => '1bcdefghij abcdefghij abcdefghij abcdefghij abcdefghi1' //54 chars
|
82 |
+
)
|
83 |
+
),
|
84 |
+
new Varien_Object(
|
85 |
+
array(
|
86 |
'parent_item' => false,
|
87 |
+
'name' => '2bcdefghij abcdefghij abcdefghij abcdefghij' //54 chars
|
88 |
+
)
|
89 |
+
)
|
90 |
);
|
91 |
|
92 |
$order = $this->getModelMock('sales/order', array('getAllItems'));
|
96 |
|
97 |
$result = Mage::getModel('ops/payment_abstract')->_getOrderDescription($order);
|
98 |
$this->assertEquals(
|
99 |
+
'1bcdefghij abcdefghij abcdefghij abcdefghij abcdefghi1, 2bcdefghij abcdefghij abcdefghij abcdefghij',
|
100 |
$result
|
101 |
);
|
102 |
}
|
107 |
public function _getOrderDescriptionLongerThen100CharsOneItem()
|
108 |
{
|
109 |
$items = array(
|
110 |
+
new Varien_Object(
|
111 |
+
array(
|
112 |
'parent_item' => false,
|
113 |
'name' => '1bcdefghij abcdefghij abcdefghij abcdefghij abcdefghi1 '.
|
114 |
+
'2bcdefghij abcdefghij abcdefghij abcdefghij a'
|
115 |
+
)
|
116 |
+
)
|
117 |
);
|
118 |
|
119 |
$order = $this->getModelMock('sales/order', array('getAllItems'));
|
608 |
$apiClientMock->expects($this->any())
|
609 |
->method('performRequest')
|
610 |
->will(
|
611 |
+
$this->returnValue(
|
612 |
+
array(
|
613 |
'STATUS' => 666
|
614 |
+
)
|
615 |
+
)
|
616 |
+
);
|
617 |
$this->replaceByMock('model', 'ops/api_directlink', $apiClientMock);
|
618 |
$order = Mage::getModel('sales/order')->load(11);
|
619 |
$order->getPayment()->setAdditionalInformation('status', 5);
|
659 |
$apiClientMock->expects($this->any())
|
660 |
->method('performRequest')
|
661 |
->will(
|
662 |
+
$this->returnValue(
|
663 |
+
array(
|
664 |
'STATUS' => Netresearch_OPS_Model_Status::DELETION_WAITING,
|
665 |
'PAYID' => '4711',
|
666 |
'PAYIDSUB' => '0815'
|
667 |
+
)
|
668 |
+
)
|
669 |
+
);
|
670 |
$this->replaceByMock('model', 'ops/api_directlink', $apiClientMock);
|
671 |
$order = Mage::getModel('sales/order')->load(11);
|
672 |
$order->getPayment()->setAdditionalInformation('status', 5);
|
710 |
$apiClientMock->expects($this->any())
|
711 |
->method('performRequest')
|
712 |
->will(
|
713 |
+
$this->returnValue(
|
714 |
+
array(
|
715 |
'STATUS' => Netresearch_OPS_Model_Status::AUTHORIZED_AND_CANCELLED,
|
716 |
'PAYID' => '4711',
|
717 |
'PAYIDSUB' => '0815'
|
718 |
+
)
|
719 |
+
)
|
720 |
+
);
|
721 |
$this->replaceByMock('model', 'ops/api_directlink', $apiClientMock);
|
722 |
$order = Mage::getModel('sales/order')->load(11);
|
723 |
$order->getPayment()->setAdditionalInformation('status', 5);
|
843 |
$this->assertTrue(Mage::getModel('ops/payment_abstract')->canReviewPayment($order->getPayment()));
|
844 |
}
|
845 |
|
846 |
+
public function testGetFrontendGateWay()
|
847 |
+
{
|
848 |
+
$gateway = Mage::getModel('ops/config')->getFrontendGatewayPath();
|
849 |
+
$payment = Mage::getModel('ops/payment_cc');
|
850 |
+
$url = $payment->getFrontendGateWay();
|
851 |
+
$this->assertTrue(strpos($url, '_utf8') >= 0);
|
852 |
+
$this->assertEquals($gateway, $url);
|
853 |
+
}
|
854 |
+
|
855 |
+
public function testSetEncoding()
|
856 |
+
{
|
857 |
+
$payment = Mage::getModel('ops/payment_cc');
|
858 |
+
$payment->setEncoding('test_foo');
|
859 |
+
|
860 |
+
$this->assertEquals('test_foo', $payment->getEncoding());
|
861 |
+
}
|
862 |
+
|
863 |
protected function getOwnerParams()
|
864 |
{
|
865 |
return $ownerParams = array(
|
887 |
|
888 |
return $paramValues;
|
889 |
}
|
|
|
|
|
|
|
890 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractTest/expectations/paymentMethods.yaml
CHANGED
@@ -175,9 +175,6 @@ ops_ingHomePay:
|
|
175 |
ops_kbcOnline:
|
176 |
pm: KBC Online
|
177 |
brand: KBC Online
|
178 |
-
ops_mpass:
|
179 |
-
pm: MPASS
|
180 |
-
brand: MPASS
|
181 |
ops_paysafecard:
|
182 |
pm: paysafecard
|
183 |
brand: paysafecard
|
175 |
ops_kbcOnline:
|
176 |
pm: KBC Online
|
177 |
brand: KBC Online
|
|
|
|
|
|
|
178 |
ops_paysafecard:
|
179 |
pm: paysafecard
|
180 |
brand: paysafecard
|
app/code/community/Netresearch/OPS/Test/Model/Payment/AbstractTest/fixtures/.gitkeep
ADDED
File without changes
|
app/code/community/Netresearch/OPS/Test/Model/Payment/BancontactTest.php
CHANGED
@@ -28,4 +28,54 @@ class Netresearch_OPS_Test_Model_Payment_BancontactTest extends EcomDev_PHPUnit_
|
|
28 |
$this->assertEquals('BCMC', $this->model->getOpsBrand());
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
28 |
$this->assertEquals('BCMC', $this->model->getOpsBrand());
|
29 |
}
|
30 |
|
31 |
+
/**
|
32 |
+
* @loadFixture ../../../../var/fixtures/orders.yaml
|
33 |
+
*/
|
34 |
+
public function testGetMethodDependendFormFields()
|
35 |
+
{
|
36 |
+
$order = Mage::getModel('sales/order')->load(32);
|
37 |
+
|
38 |
+
$sessionMock = $this->getModelMockBuilder('core/session')
|
39 |
+
->disableOriginalConstructor()
|
40 |
+
->setMethods(null)
|
41 |
+
->getMock();
|
42 |
+
$this->replaceByMock('singleton', 'core/session', $sessionMock);
|
43 |
+
|
44 |
+
$sessionMock = $this->getModelMockBuilder('customer/session')
|
45 |
+
->disableOriginalConstructor()
|
46 |
+
->setMethods(null)
|
47 |
+
->getMock();
|
48 |
+
$this->replaceByMock('singleton', 'customer/session', $sessionMock);
|
49 |
+
|
50 |
+
$this->model->getInfoInstance()->setAdditionalInformation('DEVICE', Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_MOBILE);
|
51 |
+
$formFields = $this->model->getMethodDependendFormFields($order, null);
|
52 |
+
$this->assertEquals(Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_MOBILE, $formFields['DEVICE']);
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
public function testAssignData()
|
57 |
+
{
|
58 |
+
$infoInstance = Mage::getModel('sales/quote_payment');
|
59 |
+
|
60 |
+
$helperMock = new Varien_Object(
|
61 |
+
array('device_type' => Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_MOBILE)
|
62 |
+
);
|
63 |
+
|
64 |
+
$paymentInstance = Mage::getModel('ops/payment_bancontact');
|
65 |
+
$paymentInstance->setMobileDetectHelper($helperMock)
|
66 |
+
->setInfoInstance($infoInstance);
|
67 |
+
|
68 |
+
$paymentInstance->assignData(array());
|
69 |
+
$additionalInformation = $infoInstance->getData('additional_information');
|
70 |
+
|
71 |
+
$this->assertEquals(Netresearch_OPS_Helper_MobileDetect::DEVICE_TYPE_MOBILE, $additionalInformation['DEVICE']);
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @Test
|
76 |
+
*/
|
77 |
+
public function testGetMobileDetectHelper()
|
78 |
+
{
|
79 |
+
$this->assertTrue($this->model->getMobileDetectHelper() instanceof Netresearch_OPS_Helper_MobileDetect);
|
80 |
+
}
|
81 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/BancontactTest/fixtures/.gitkeep
ADDED
File without changes
|
app/code/community/Netresearch/OPS/Test/Model/Payment/CcTest.php
CHANGED
@@ -103,7 +103,7 @@ class Netresearch_OPS_Test_Model_Payment_CcTest extends EcomDev_PHPUnit_Test_Cas
|
|
103 |
public function testIsApplicableToQuoteTrueWithZeroAmount()
|
104 |
{
|
105 |
$versionInfo = Mage::getVersionInfo();
|
106 |
-
if ((array_key_exists('minor'
|
107 |
&& (Mage::getEdition() === Mage::EDITION_COMMUNITY && $versionInfo['minor'] > '7')
|
108 |
|| (Mage::getEdition() === Mage::EDITION_ENTERPRISE && $versionInfo['minor'] > '13')
|
109 |
)
|
@@ -141,7 +141,7 @@ class Netresearch_OPS_Test_Model_Payment_CcTest extends EcomDev_PHPUnit_Test_Cas
|
|
141 |
public function testIsApplicableToQuoteFeatureModelTrue()
|
142 |
{
|
143 |
$versionInfo = Mage::getVersionInfo();
|
144 |
-
if ((array_key_exists('minor'
|
145 |
&& (Mage::getEdition() === Mage::EDITION_COMMUNITY && $versionInfo['minor'] > '7')
|
146 |
|| (Mage::getEdition() === Mage::EDITION_ENTERPRISE && $versionInfo['minor'] > '13')
|
147 |
)
|
@@ -160,7 +160,7 @@ class Netresearch_OPS_Test_Model_Payment_CcTest extends EcomDev_PHPUnit_Test_Cas
|
|
160 |
$this->replaceByMock('helper', 'ops/version', $helperMock);
|
161 |
|
162 |
$quote = Mage::getModel('sales/quote');
|
163 |
-
$this->assertTrue($this->_model->isApplicableToQuote($quote,'1'));
|
164 |
}
|
165 |
}
|
166 |
|
103 |
public function testIsApplicableToQuoteTrueWithZeroAmount()
|
104 |
{
|
105 |
$versionInfo = Mage::getVersionInfo();
|
106 |
+
if ((array_key_exists('minor', $versionInfo))
|
107 |
&& (Mage::getEdition() === Mage::EDITION_COMMUNITY && $versionInfo['minor'] > '7')
|
108 |
|| (Mage::getEdition() === Mage::EDITION_ENTERPRISE && $versionInfo['minor'] > '13')
|
109 |
)
|
141 |
public function testIsApplicableToQuoteFeatureModelTrue()
|
142 |
{
|
143 |
$versionInfo = Mage::getVersionInfo();
|
144 |
+
if ((array_key_exists('minor', $versionInfo))
|
145 |
&& (Mage::getEdition() === Mage::EDITION_COMMUNITY && $versionInfo['minor'] > '7')
|
146 |
|| (Mage::getEdition() === Mage::EDITION_ENTERPRISE && $versionInfo['minor'] > '13')
|
147 |
)
|
160 |
$this->replaceByMock('helper', 'ops/version', $helperMock);
|
161 |
|
162 |
$quote = Mage::getModel('sales/quote');
|
163 |
+
$this->assertTrue($this->_model->isApplicableToQuote($quote, '1'));
|
164 |
}
|
165 |
}
|
166 |
|
app/code/community/Netresearch/OPS/Test/Model/Payment/DirectLinkTest.php
CHANGED
@@ -135,8 +135,7 @@ class Netresearch_OPS_Test_Model_Payment_DirectLinkTest extends EcomDev_PHPUnit_
|
|
135 |
$testMock->setQuoteHelper($quoteHelperMock);
|
136 |
$testMock->expects($this->once())
|
137 |
->method('confirmPayment')
|
138 |
-
->with($fakeOrder, $fakeQuote, $payment)
|
139 |
-
;
|
140 |
$testMock->setConfig($configMock);
|
141 |
$testMock->authorize($payment, 100);
|
142 |
}
|
@@ -162,8 +161,7 @@ class Netresearch_OPS_Test_Model_Payment_DirectLinkTest extends EcomDev_PHPUnit_
|
|
162 |
$testMock->setQuoteHelper($quoteHelperMock);
|
163 |
$testMock->expects($this->once())
|
164 |
->method('confirmPayment')
|
165 |
-
->with($fakeOrder, $fakeQuote, $payment)
|
166 |
-
;
|
167 |
$testMock->expects($this->any())
|
168 |
->method('hasBrandAliasInterfaceSupport')
|
169 |
->will($this->returnValue(true));
|
@@ -214,7 +212,7 @@ class Netresearch_OPS_Test_Model_Payment_DirectLinkTest extends EcomDev_PHPUnit_
|
|
214 |
$testMock->setConfig($configMock);
|
215 |
$testMock->authorize($payment, 100);
|
216 |
|
217 |
-
$this->assertEquals(5
|
218 |
$this->assertNotEmpty($fakeOrder->getAllStatusHistory());
|
219 |
}
|
220 |
|
@@ -470,8 +468,7 @@ class Netresearch_OPS_Test_Model_Payment_DirectLinkTest extends EcomDev_PHPUnit_
|
|
470 |
|
471 |
|
472 |
$directDebitMock->expects($this->never())
|
473 |
-
->method('confirmPayment')
|
474 |
-
;
|
475 |
$directDebitMock->setPaymentHelper($paymentHelperMock);
|
476 |
$directDebitMock->capture($payment, 100);
|
477 |
}
|
135 |
$testMock->setQuoteHelper($quoteHelperMock);
|
136 |
$testMock->expects($this->once())
|
137 |
->method('confirmPayment')
|
138 |
+
->with($fakeOrder, $fakeQuote, $payment);
|
|
|
139 |
$testMock->setConfig($configMock);
|
140 |
$testMock->authorize($payment, 100);
|
141 |
}
|
161 |
$testMock->setQuoteHelper($quoteHelperMock);
|
162 |
$testMock->expects($this->once())
|
163 |
->method('confirmPayment')
|
164 |
+
->with($fakeOrder, $fakeQuote, $payment);
|
|
|
165 |
$testMock->expects($this->any())
|
166 |
->method('hasBrandAliasInterfaceSupport')
|
167 |
->will($this->returnValue(true));
|
212 |
$testMock->setConfig($configMock);
|
213 |
$testMock->authorize($payment, 100);
|
214 |
|
215 |
+
$this->assertEquals(5, $payment->getAdditionalInformation('status'));
|
216 |
$this->assertNotEmpty($fakeOrder->getAllStatusHistory());
|
217 |
}
|
218 |
|
468 |
|
469 |
|
470 |
$directDebitMock->expects($this->never())
|
471 |
+
->method('confirmPayment');
|
|
|
472 |
$directDebitMock->setPaymentHelper($paymentHelperMock);
|
473 |
$directDebitMock->capture($payment, 100);
|
474 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/Features/PaymentEmailTest.php
CHANGED
@@ -47,21 +47,18 @@ class Netresearch_OPS_Test_Model_Payment_Features_PaymentEmailTest extends EcomD
|
|
47 |
public function testResendPaymentInfo()
|
48 |
{
|
49 |
$mailMock = $this->getMockBuilder('Zend_Mail')
|
50 |
-
->setMethods(
|
51 |
-
->getMock()
|
52 |
-
;
|
53 |
$mailMock
|
54 |
->expects($this->once())
|
55 |
->method('send')
|
56 |
-
->willReturnSelf()
|
57 |
-
;
|
58 |
|
59 |
-
$templateMock = $this->getModelMock('core/email_template',
|
60 |
$templateMock
|
61 |
->expects($this->any())
|
62 |
->method('getMail')
|
63 |
-
->willReturn($mailMock)
|
64 |
-
;
|
65 |
$this->replaceByMock('model', 'core/email_template', $templateMock);
|
66 |
|
67 |
$payment = $this->getModelMock('sales/order_payment', array('save'));
|
@@ -69,6 +66,8 @@ class Netresearch_OPS_Test_Model_Payment_Features_PaymentEmailTest extends EcomD
|
|
69 |
->method('save')
|
70 |
->will($this->returnValue(null));
|
71 |
|
|
|
|
|
72 |
$order = Mage::getModel('sales/order');
|
73 |
$order->setData('customer_email', 'a@bc.de')
|
74 |
->setData('customer_firstname', 'Hans')
|
@@ -93,21 +92,18 @@ class Netresearch_OPS_Test_Model_Payment_Features_PaymentEmailTest extends EcomD
|
|
93 |
public function testSendSuspendSubscriptionMail()
|
94 |
{
|
95 |
$mailMock = $this->getMockBuilder('Zend_Mail')
|
96 |
-
->setMethods(
|
97 |
-
->getMock()
|
98 |
-
;
|
99 |
$mailMock
|
100 |
->expects($this->once())
|
101 |
->method('send')
|
102 |
-
->willReturnSelf()
|
103 |
-
;
|
104 |
|
105 |
-
$templateMock = $this->getModelMock('core/email_template',
|
106 |
$templateMock
|
107 |
->expects($this->any())
|
108 |
->method('getMail')
|
109 |
-
->willReturn($mailMock)
|
110 |
-
;
|
111 |
$this->replaceByMock('model', 'core/email_template', $templateMock);
|
112 |
|
113 |
$profile = Mage::getModel('sales/recurring_profile');
|
47 |
public function testResendPaymentInfo()
|
48 |
{
|
49 |
$mailMock = $this->getMockBuilder('Zend_Mail')
|
50 |
+
->setMethods(array('send'))
|
51 |
+
->getMock();
|
|
|
52 |
$mailMock
|
53 |
->expects($this->once())
|
54 |
->method('send')
|
55 |
+
->willReturnSelf();
|
|
|
56 |
|
57 |
+
$templateMock = $this->getModelMock('core/email_template', array('getMail'));
|
58 |
$templateMock
|
59 |
->expects($this->any())
|
60 |
->method('getMail')
|
61 |
+
->willReturn($mailMock);
|
|
|
62 |
$this->replaceByMock('model', 'core/email_template', $templateMock);
|
63 |
|
64 |
$payment = $this->getModelMock('sales/order_payment', array('save'));
|
66 |
->method('save')
|
67 |
->will($this->returnValue(null));
|
68 |
|
69 |
+
$payment->setMethod(Netresearch_OPS_Model_Payment_Flex::CODE);
|
70 |
+
|
71 |
$order = Mage::getModel('sales/order');
|
72 |
$order->setData('customer_email', 'a@bc.de')
|
73 |
->setData('customer_firstname', 'Hans')
|
92 |
public function testSendSuspendSubscriptionMail()
|
93 |
{
|
94 |
$mailMock = $this->getMockBuilder('Zend_Mail')
|
95 |
+
->setMethods(array('send'))
|
96 |
+
->getMock();
|
|
|
97 |
$mailMock
|
98 |
->expects($this->once())
|
99 |
->method('send')
|
100 |
+
->willReturnSelf();
|
|
|
101 |
|
102 |
+
$templateMock = $this->getModelMock('core/email_template', array('getMail'));
|
103 |
$templateMock
|
104 |
->expects($this->any())
|
105 |
->method('getMail')
|
106 |
+
->willReturn($mailMock);
|
|
|
107 |
$this->replaceByMock('model', 'core/email_template', $templateMock);
|
108 |
|
109 |
$profile = Mage::getModel('sales/recurring_profile');
|
app/code/community/Netresearch/OPS/Test/Model/Payment/IDealTest.php
CHANGED
@@ -16,52 +16,40 @@ class Netresearch_OPS_Test_Model_Payment_IDealTest extends EcomDev_PHPUnit_Test_
|
|
16 |
{
|
17 |
$issuers = Mage::getModel('ops/payment_iDeal')->getIDealIssuers();
|
18 |
$this->assertTrue(is_array($issuers));
|
19 |
-
$this->assertTrue(array_key_exists('ABNANL2A'
|
20 |
-
$this->assertEquals('ABN AMRO'
|
21 |
|
22 |
-
$this->assertTrue(array_key_exists('RABONL2U'
|
23 |
-
$this->assertEquals('Rabobank'
|
24 |
|
25 |
-
$this->assertTrue(array_key_exists('INGBNL2A'
|
26 |
-
$this->assertEquals('ING'
|
27 |
|
28 |
-
$this->assertTrue(array_key_exists('SNSBNL2A'
|
29 |
-
$this->assertEquals('SNS Bank'
|
30 |
|
31 |
-
$this->assertTrue(array_key_exists('RBRBNL21'
|
32 |
-
$this->assertEquals('Regio Bank'
|
33 |
|
34 |
-
$this->assertTrue(array_key_exists('ASNBNL21'
|
35 |
-
$this->assertEquals('ASN Bank'
|
36 |
|
37 |
-
$this->assertTrue(array_key_exists('TRIONL2U'
|
38 |
-
$this->assertEquals('Triodos Bank'
|
39 |
|
40 |
-
$this->assertTrue(array_key_exists('FVLBNL22'
|
41 |
-
$this->assertEquals('Van Lanschot Bankiers'
|
42 |
|
43 |
-
$this->assertTrue(array_key_exists('KNABNL2H'
|
44 |
-
$this->assertEquals('Knab Bank'
|
45 |
|
46 |
}
|
47 |
|
48 |
|
49 |
public function testAssignData()
|
50 |
{
|
51 |
-
$payment =
|
52 |
-
$
|
53 |
-
$payment->expects($this->any())
|
54 |
-
->method('setAdditionalInformation')
|
55 |
-
->with($this->equalTo('iDeal_issuer_id'));
|
56 |
-
|
57 |
-
$quote = Mage::getModel('sales/quote');
|
58 |
-
$quote->setPayment($payment);
|
59 |
-
|
60 |
-
$checkout = $this->getModelMock('checkout/session');
|
61 |
-
$checkout->expects($this->any())
|
62 |
-
->method('getQuote')
|
63 |
-
->will($this->returnValue($quote));
|
64 |
-
$this->replaceByMock('singleton', 'checkout/session', $checkout);
|
65 |
|
66 |
$data = array('iDeal_issuer_id' => 'RBRBNL21');
|
67 |
$this->assertEquals('iDEAL', $payment->getMethodInstance()->getOpsCode());
|
@@ -69,34 +57,23 @@ class Netresearch_OPS_Test_Model_Payment_IDealTest extends EcomDev_PHPUnit_Test_
|
|
69 |
$method = $payment->getMethodInstance()->assignData($data);
|
70 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_IDeal', $method);
|
71 |
|
72 |
-
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
73 |
$this->assertEquals('RBRBNL21', $payment->getAdditionalInformation('iDeal_issuer_id'));
|
74 |
}
|
75 |
|
76 |
public function testAssignDataWithVarienObject()
|
77 |
{
|
78 |
-
$payment =
|
79 |
$payment->setMethod('ops_iDeal');
|
80 |
-
$payment->expects($this->any())
|
81 |
-
->method('setAdditionalInformation')
|
82 |
-
->with($this->equalTo('iDeal_issuer_id'));
|
83 |
|
84 |
$quote = Mage::getModel('sales/quote');
|
85 |
$quote->setPayment($payment);
|
86 |
|
87 |
-
$checkout = $this->getModelMock('checkout/session');
|
88 |
-
$checkout->expects($this->any())
|
89 |
-
->method('getQuote')
|
90 |
-
->will($this->returnValue($quote));
|
91 |
-
$this->replaceByMock('singleton', 'checkout/session', $checkout);
|
92 |
-
|
93 |
$data = new Varien_object(array('iDeal_issuer_id' => 'ABNAMRO'));
|
94 |
$this->assertEquals('iDEAL', $payment->getMethodInstance()->getOpsCode());
|
95 |
|
96 |
$method = $payment->getMethodInstance()->assignData($data);
|
97 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_IDeal', $method);
|
98 |
|
99 |
-
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
100 |
$this->assertEquals('ABNAMRO', $payment->getAdditionalInformation('iDeal_issuer_id'));
|
101 |
}
|
102 |
|
16 |
{
|
17 |
$issuers = Mage::getModel('ops/payment_iDeal')->getIDealIssuers();
|
18 |
$this->assertTrue(is_array($issuers));
|
19 |
+
$this->assertTrue(array_key_exists('ABNANL2A', $issuers));
|
20 |
+
$this->assertEquals('ABN AMRO', $issuers['ABNANL2A']);
|
21 |
|
22 |
+
$this->assertTrue(array_key_exists('RABONL2U', $issuers));
|
23 |
+
$this->assertEquals('Rabobank', $issuers['RABONL2U']);
|
24 |
|
25 |
+
$this->assertTrue(array_key_exists('INGBNL2A', $issuers));
|
26 |
+
$this->assertEquals('ING', $issuers['INGBNL2A']);
|
27 |
|
28 |
+
$this->assertTrue(array_key_exists('SNSBNL2A', $issuers));
|
29 |
+
$this->assertEquals('SNS Bank', $issuers['SNSBNL2A']);
|
30 |
|
31 |
+
$this->assertTrue(array_key_exists('RBRBNL21', $issuers));
|
32 |
+
$this->assertEquals('Regio Bank', $issuers['RBRBNL21']);
|
33 |
|
34 |
+
$this->assertTrue(array_key_exists('ASNBNL21', $issuers));
|
35 |
+
$this->assertEquals('ASN Bank', $issuers['ASNBNL21']);
|
36 |
|
37 |
+
$this->assertTrue(array_key_exists('TRIONL2U', $issuers));
|
38 |
+
$this->assertEquals('Triodos Bank', $issuers['TRIONL2U']);
|
39 |
|
40 |
+
$this->assertTrue(array_key_exists('FVLBNL22', $issuers));
|
41 |
+
$this->assertEquals('Van Lanschot Bankiers', $issuers['FVLBNL22']);
|
42 |
|
43 |
+
$this->assertTrue(array_key_exists('KNABNL2H', $issuers));
|
44 |
+
$this->assertEquals('Knab Bank', $issuers['KNABNL2H']);
|
45 |
|
46 |
}
|
47 |
|
48 |
|
49 |
public function testAssignData()
|
50 |
{
|
51 |
+
$payment = Mage::getModel('sales/quote_payment')->setMethod('ops_iDeal');
|
52 |
+
$quote = Mage::getModel('sales/quote')->setPayment($payment);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
$data = array('iDeal_issuer_id' => 'RBRBNL21');
|
55 |
$this->assertEquals('iDEAL', $payment->getMethodInstance()->getOpsCode());
|
57 |
$method = $payment->getMethodInstance()->assignData($data);
|
58 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_IDeal', $method);
|
59 |
|
|
|
60 |
$this->assertEquals('RBRBNL21', $payment->getAdditionalInformation('iDeal_issuer_id'));
|
61 |
}
|
62 |
|
63 |
public function testAssignDataWithVarienObject()
|
64 |
{
|
65 |
+
$payment = Mage::getModel('sales/quote_payment');
|
66 |
$payment->setMethod('ops_iDeal');
|
|
|
|
|
|
|
67 |
|
68 |
$quote = Mage::getModel('sales/quote');
|
69 |
$quote->setPayment($payment);
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
$data = new Varien_object(array('iDeal_issuer_id' => 'ABNAMRO'));
|
72 |
$this->assertEquals('iDEAL', $payment->getMethodInstance()->getOpsCode());
|
73 |
|
74 |
$method = $payment->getMethodInstance()->assignData($data);
|
75 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_IDeal', $method);
|
76 |
|
|
|
77 |
$this->assertEquals('ABNAMRO', $payment->getAdditionalInformation('iDeal_issuer_id'));
|
78 |
}
|
79 |
|
app/code/community/Netresearch/OPS/Test/Model/Payment/InterSolveTest.php
CHANGED
@@ -42,61 +42,36 @@ class Netresearch_OPS_Test_Model_Payment_InterSolveTest extends EcomDev_PHPUnit_
|
|
42 |
|
43 |
public function testAssignDataWithBrand()
|
44 |
{
|
45 |
-
$payment =
|
46 |
$payment->setMethod('ops_interSolve');
|
47 |
-
$payment->expects($this->any())
|
48 |
-
->method('setAdditionalInformation')
|
49 |
-
->with(
|
50 |
-
$this->equalTo('BRAND'),
|
51 |
-
$this->equalTo('InterSolve')
|
52 |
-
);
|
53 |
|
54 |
$quote = Mage::getModel('sales/quote');
|
55 |
$quote->setPayment($payment);
|
56 |
|
57 |
-
$checkout = $this->getModelMock('checkout/session');
|
58 |
-
$checkout->expects($this->any())
|
59 |
-
->method('getQuote')
|
60 |
-
->will($this->returnValue($quote));
|
61 |
-
$this->replaceByMock('singleton', 'checkout/session', $checkout);
|
62 |
-
|
63 |
$data = array('intersolve_brand' => 'FooBar');
|
64 |
$this->assertEquals('InterSolve', $payment->getMethodInstance()->getOpsCode());
|
65 |
|
66 |
$method = $payment->getMethodInstance()->assignData($data);
|
67 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_InterSolve', $method);
|
68 |
|
69 |
-
$payment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
|
70 |
$this->assertEquals('FooBar', $payment->getAdditionalInformation('BRAND'));
|
71 |
}
|
72 |
|
73 |
public function testAssignDataWithoutBrand()
|
74 |
{
|
75 |
-
$payment =
|
76 |
$payment->setMethod('ops_interSolve');
|
77 |
-
$payment->expects($this->any())
|
78 |
-
->method('setAdditionalInformation')
|
79 |
-
->with(
|
80 |
-
$this->equalTo('BRAND'),
|
81 |
-
$this->equalTo('InterSolve')
|
82 |
-
);
|
83 |
|
84 |
$quote = Mage::getModel('sales/quote');
|
85 |
$quote->setPayment($payment);
|
86 |
|
87 |
-
$checkout = $this->getModelMock('checkout/session');
|
88 |
-
$checkout->expects($this->any())
|
89 |
-
->method('getQuote')
|
90 |
-
->will($this->returnValue($quote));
|
91 |
-
$this->replaceByMock('singleton', 'checkout/session', $checkout);
|
92 |
-
|
93 |
$this->assertEquals('InterSolve', $payment->getMethodInstance()->getOpsCode());
|
94 |
|
|
|
95 |
$method = $payment->getMethodInstance();
|
96 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_InterSolve', $method);
|
97 |
-
$method->assignData(array());
|
98 |
|
99 |
-
$
|
100 |
$this->assertEquals('InterSolve', $payment->getAdditionalInformation('BRAND'));
|
101 |
}
|
102 |
}
|
42 |
|
43 |
public function testAssignDataWithBrand()
|
44 |
{
|
45 |
+
$payment = Mage::getModel('sales/quote_payment');
|
46 |
$payment->setMethod('ops_interSolve');
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
$quote = Mage::getModel('sales/quote');
|
49 |
$quote->setPayment($payment);
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
$data = array('intersolve_brand' => 'FooBar');
|
52 |
$this->assertEquals('InterSolve', $payment->getMethodInstance()->getOpsCode());
|
53 |
|
54 |
$method = $payment->getMethodInstance()->assignData($data);
|
55 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_InterSolve', $method);
|
56 |
|
|
|
57 |
$this->assertEquals('FooBar', $payment->getAdditionalInformation('BRAND'));
|
58 |
}
|
59 |
|
60 |
public function testAssignDataWithoutBrand()
|
61 |
{
|
62 |
+
$payment = Mage::getModel('sales/quote_payment');
|
63 |
$payment->setMethod('ops_interSolve');
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
$quote = Mage::getModel('sales/quote');
|
66 |
$quote->setPayment($payment);
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
$this->assertEquals('InterSolve', $payment->getMethodInstance()->getOpsCode());
|
69 |
|
70 |
+
/** @var Netresearch_OPS_Model_Payment_InterSolve $method */
|
71 |
$method = $payment->getMethodInstance();
|
72 |
$this->assertInstanceOf('Netresearch_OPS_Model_Payment_InterSolve', $method);
|
|
|
73 |
|
74 |
+
$method->assignData(array());
|
75 |
$this->assertEquals('InterSolve', $payment->getAdditionalInformation('BRAND'));
|
76 |
}
|
77 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/Kwixo/AbstractTest.php
CHANGED
@@ -209,7 +209,6 @@ class Netresearch_OPS_Test_Model_Payment_Kwixo_AbstractTest
|
|
209 |
'ops/payment_kwixo_abstract', array(
|
210 |
'getShippingMethodTypeValues',
|
211 |
'getShippingMethodType',
|
212 |
-
'splitHouseNumber'
|
213 |
)
|
214 |
);
|
215 |
$kwixoAbstractModelMock->expects($this->any())
|
@@ -220,13 +219,6 @@ class Netresearch_OPS_Test_Model_Payment_Kwixo_AbstractTest
|
|
220 |
->method('getShippingMethodType')
|
221 |
->will($this->returnValue(4));
|
222 |
|
223 |
-
$kwixoAbstractModelMock->expects($this->any())
|
224 |
-
->method('splitHouseNumber')
|
225 |
-
->will(
|
226 |
-
$this->returnValue(
|
227 |
-
array('housenumber' => 4, 'street' => 'testStreet')
|
228 |
-
)
|
229 |
-
);
|
230 |
|
231 |
$this->replaceByMock(
|
232 |
'model', 'ops/payment_kwixo_abstract', $kwixoAbstractModelMock
|
@@ -353,15 +345,6 @@ class Netresearch_OPS_Test_Model_Payment_Kwixo_AbstractTest
|
|
353 |
'street' => 'teststreet'
|
354 |
);
|
355 |
|
356 |
-
$kwixoModelMock = $this->getModelMock(
|
357 |
-
'ops/payment_kwixo_abstract', array('splitHouseNumber')
|
358 |
-
);
|
359 |
-
$kwixoModelMock->expects($this->any())
|
360 |
-
->method('splitHouseNumber')
|
361 |
-
->will($this->returnValue($addressData));
|
362 |
-
$this->replaceByMock(
|
363 |
-
'model', 'ops/payment_kwixo_abstract', $kwixoModelMock
|
364 |
-
);
|
365 |
|
366 |
$formFields = Mage::getModel('ops/payment_kwixo_abstract')
|
367 |
->getKwixoBillToParams($order);
|
@@ -624,10 +607,7 @@ class Netresearch_OPS_Test_Model_Payment_Kwixo_AbstractTest
|
|
624 |
$params = array();
|
625 |
$this->assertEquals(
|
626 |
'Please make sure that the displayed data is correct.',
|
627 |
-
Mage::getModel('ops/payment_kwixo_abstract')->getQuestion(
|
628 |
-
$order, $params
|
629 |
-
)
|
630 |
-
);
|
631 |
}
|
632 |
|
633 |
public function testGetQuestionedFormFields()
|
@@ -635,7 +615,7 @@ class Netresearch_OPS_Test_Model_Payment_Kwixo_AbstractTest
|
|
635 |
$order = new Varien_Object();
|
636 |
$params = array();
|
637 |
$fields = Mage::getModel('ops/payment_kwixo_abstract')
|
638 |
-
->getQuestionedFormFields($order
|
639 |
$this->assertTrue(in_array('OWNERADDRESS', $fields));
|
640 |
$this->assertTrue(
|
641 |
in_array('ECOM_BILLTO_POSTAL_STREET_NUMBER', $fields)
|
@@ -670,24 +650,6 @@ class Netresearch_OPS_Test_Model_Payment_Kwixo_AbstractTest
|
|
670 |
);
|
671 |
}
|
672 |
|
673 |
-
/**
|
674 |
-
* @test
|
675 |
-
* @loadFixture ../../../../../var/fixtures/orders.yaml
|
676 |
-
*/
|
677 |
-
public function testSplitHouseNumber()
|
678 |
-
{
|
679 |
-
$order = Mage::getModel('sales/order')->load(24);
|
680 |
-
$shippingAddress = $order->getShippingAddress();
|
681 |
-
$addressData = Mage::getModel('ops/payment_kwixo_abstract')
|
682 |
-
->splitHouseNumber($shippingAddress->getStreet(-1));
|
683 |
-
$this->assertEquals('44', $addressData['housenumber']);
|
684 |
-
$this->assertEquals('rue Parmentier', $addressData['street']);
|
685 |
-
|
686 |
-
|
687 |
-
$addressData = Mage::getModel('ops/payment_kwixo_abstract')
|
688 |
-
->splitHouseNumber('55, rue du Faubourg-Saint-Honoré');
|
689 |
-
$this->assertEquals('55', $addressData['housenumber']);
|
690 |
-
}
|
691 |
|
692 |
public function testPopulateFromArray()
|
693 |
{
|
209 |
'ops/payment_kwixo_abstract', array(
|
210 |
'getShippingMethodTypeValues',
|
211 |
'getShippingMethodType',
|
|
|
212 |
)
|
213 |
);
|
214 |
$kwixoAbstractModelMock->expects($this->any())
|
219 |
->method('getShippingMethodType')
|
220 |
->will($this->returnValue(4));
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
|
223 |
$this->replaceByMock(
|
224 |
'model', 'ops/payment_kwixo_abstract', $kwixoAbstractModelMock
|
345 |
'street' => 'teststreet'
|
346 |
);
|
347 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
|
349 |
$formFields = Mage::getModel('ops/payment_kwixo_abstract')
|
350 |
->getKwixoBillToParams($order);
|
607 |
$params = array();
|
608 |
$this->assertEquals(
|
609 |
'Please make sure that the displayed data is correct.',
|
610 |
+
Mage::getModel('ops/payment_kwixo_abstract')->getQuestion());
|
|
|
|
|
|
|
611 |
}
|
612 |
|
613 |
public function testGetQuestionedFormFields()
|
615 |
$order = new Varien_Object();
|
616 |
$params = array();
|
617 |
$fields = Mage::getModel('ops/payment_kwixo_abstract')
|
618 |
+
->getQuestionedFormFields($order);
|
619 |
$this->assertTrue(in_array('OWNERADDRESS', $fields));
|
620 |
$this->assertTrue(
|
621 |
in_array('ECOM_BILLTO_POSTAL_STREET_NUMBER', $fields)
|
650 |
);
|
651 |
}
|
652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
653 |
|
654 |
public function testPopulateFromArray()
|
655 |
{
|
app/code/community/Netresearch/OPS/Test/Model/Payment/Kwixo/AbstractTest/expectations/paymentMethods.yaml
CHANGED
@@ -175,9 +175,6 @@ ops_ingHomePay:
|
|
175 |
ops_kbcOnline:
|
176 |
pm: KBC Online
|
177 |
brand: KBC Online
|
178 |
-
ops_mpass:
|
179 |
-
pm: MPASS
|
180 |
-
brand: MPASS
|
181 |
ops_paysafecard:
|
182 |
pm: paysafecard
|
183 |
brand: paysafecard
|
175 |
ops_kbcOnline:
|
176 |
pm: KBC Online
|
177 |
brand: KBC Online
|
|
|
|
|
|
|
178 |
ops_paysafecard:
|
179 |
pm: paysafecard
|
180 |
brand: paysafecard
|
app/code/community/Netresearch/OPS/Test/Model/Payment/KwixoApresReceptionTest.php
CHANGED
@@ -28,12 +28,12 @@ class Netresearch_OPS_Test_Model_Payment_KwixoApresReceptionTest extends EcomDev
|
|
28 |
|
29 |
public function testGetOpsCode()
|
30 |
{
|
31 |
-
$this->assertEquals('KWIXO_RNP'
|
32 |
}
|
33 |
|
34 |
public function testGetCode()
|
35 |
{
|
36 |
-
$this->assertEquals('ops_kwixoApresReception'
|
37 |
}
|
38 |
|
39 |
public function testGetDeliveryDate()
|
@@ -42,10 +42,10 @@ class Netresearch_OPS_Test_Model_Payment_KwixoApresReceptionTest extends EcomDev
|
|
42 |
$dateNow = date("Y-m-d");
|
43 |
$path = 'payment/ops_kwixoApresReception/delivery_date';
|
44 |
$this->store->setConfig($path, "0");
|
45 |
-
$this->assertEquals($dateNow
|
46 |
$dateNowPlusFiveDays = strtotime($dateNow ."+ 5 days");
|
47 |
$this->store->setConfig($path, "5");
|
48 |
-
$this->assertEquals(date("Y-m-d"
|
49 |
}
|
50 |
|
51 |
public function testGetFormBlockType()
|
28 |
|
29 |
public function testGetOpsCode()
|
30 |
{
|
31 |
+
$this->assertEquals('KWIXO_RNP', $this->kwixoApresReceptionModel->getOpsCode());
|
32 |
}
|
33 |
|
34 |
public function testGetCode()
|
35 |
{
|
36 |
+
$this->assertEquals('ops_kwixoApresReception', $this->kwixoApresReceptionModel->getCode());
|
37 |
}
|
38 |
|
39 |
public function testGetDeliveryDate()
|
42 |
$dateNow = date("Y-m-d");
|
43 |
$path = 'payment/ops_kwixoApresReception/delivery_date';
|
44 |
$this->store->setConfig($path, "0");
|
45 |
+
$this->assertEquals($dateNow, $this->kwixoApresReceptionModel->getEstimatedDeliveryDate('ops_kwixoApresReception'));
|
46 |
$dateNowPlusFiveDays = strtotime($dateNow ."+ 5 days");
|
47 |
$this->store->setConfig($path, "5");
|
48 |
+
$this->assertEquals(date("Y-m-d", $dateNowPlusFiveDays), $this->kwixoApresReceptionModel->getEstimatedDeliveryDate('ops_kwixoApresReception'));
|
49 |
}
|
50 |
|
51 |
public function testGetFormBlockType()
|
app/code/community/Netresearch/OPS/Test/Model/Payment/KwixoComptantTest.php
CHANGED
@@ -28,12 +28,12 @@ class Netresearch_OPS_Test_Model_Payment_KwixoComptantTest extends EcomDev_PHPUn
|
|
28 |
|
29 |
public function testGetOpsCode()
|
30 |
{
|
31 |
-
$this->assertEquals('KWIXO_STANDARD'
|
32 |
}
|
33 |
|
34 |
public function testGetCode()
|
35 |
{
|
36 |
-
$this->assertEquals('ops_kwixoComptant'
|
37 |
}
|
38 |
|
39 |
public function testGetDeliveryDate()
|
@@ -42,10 +42,10 @@ class Netresearch_OPS_Test_Model_Payment_KwixoComptantTest extends EcomDev_PHPUn
|
|
42 |
$dateNow = date("Y-m-d");
|
43 |
$path = 'payment/ops_kwixoComptant/delivery_date';
|
44 |
$this->store->setConfig($path, "0");
|
45 |
-
$this->assertEquals($dateNow
|
46 |
$dateNowPlusFiveDays = strtotime($dateNow ."+ 5 days");
|
47 |
$this->store->setConfig($path, "5");
|
48 |
-
$this->assertEquals(date("Y-m-d"
|
49 |
}
|
50 |
|
51 |
public function testGetFormBlockType()
|
28 |
|
29 |
public function testGetOpsCode()
|
30 |
{
|
31 |
+
$this->assertEquals('KWIXO_STANDARD', $this->kwixoComptantModel->getOpsCode());
|
32 |
}
|
33 |
|
34 |
public function testGetCode()
|
35 |
{
|
36 |
+
$this->assertEquals('ops_kwixoComptant', $this->kwixoComptantModel->getCode());
|
37 |
}
|
38 |
|
39 |
public function testGetDeliveryDate()
|
42 |
$dateNow = date("Y-m-d");
|
43 |
$path = 'payment/ops_kwixoComptant/delivery_date';
|
44 |
$this->store->setConfig($path, "0");
|
45 |
+
$this->assertEquals($dateNow, $this->kwixoComptantModel->getEstimatedDeliveryDate('ops_kwixoComptant'));
|
46 |
$dateNowPlusFiveDays = strtotime($dateNow ."+ 5 days");
|
47 |
$this->store->setConfig($path, "5");
|
48 |
+
$this->assertEquals(date("Y-m-d", $dateNowPlusFiveDays), $this->kwixoComptantModel->getEstimatedDeliveryDate('ops_kwixoComptant'));
|
49 |
}
|
50 |
|
51 |
public function testGetFormBlockType()
|
app/code/community/Netresearch/OPS/Test/Model/Payment/KwixoCreditTest.php
CHANGED
@@ -46,7 +46,8 @@ class Netresearch_OPS_Test_Model_Payment_KwixoCreditTest extends EcomDev_PHPUnit
|
|
46 |
$this->assertEquals($dateNow, $this->kwixoCreditModel->getEstimatedDeliveryDate('ops_kwixoCredit'));
|
47 |
$dateNowPlusFiveDays = strtotime($dateNow . "+ 5 days");
|
48 |
$this->store->setConfig($path, "5");
|
49 |
-
$this->assertEquals(
|
|
|
50 |
$this->kwixoCreditModel->getEstimatedDeliveryDate('ops_kwixoCredit')
|
51 |
);
|
52 |
}
|
46 |
$this->assertEquals($dateNow, $this->kwixoCreditModel->getEstimatedDeliveryDate('ops_kwixoCredit'));
|
47 |
$dateNowPlusFiveDays = strtotime($dateNow . "+ 5 days");
|
48 |
$this->store->setConfig($path, "5");
|
49 |
+
$this->assertEquals(
|
50 |
+
date("Y-m-d", $dateNowPlusFiveDays),
|
51 |
$this->kwixoCreditModel->getEstimatedDeliveryDate('ops_kwixoCredit')
|
52 |
);
|
53 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/OpenInvoiceAtTest.php
CHANGED
@@ -57,4 +57,31 @@ class Netresearch_OPS_Test_Model_Payment_OpenInvoiceAtTest extends EcomDev_PHPUn
|
|
57 |
|
58 |
$this->assertFalse($this->model->isAvailable($quote));
|
59 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
57 |
|
58 |
$this->assertFalse($this->model->isAvailable($quote));
|
59 |
}
|
60 |
+
|
61 |
+
public function testGetMethodDependendFormFields()
|
62 |
+
{
|
63 |
+
$customerHelper = $this->getHelperMock('customer/data', array('isLoggedIn'));
|
64 |
+
$customerHelper->expects($this->any())
|
65 |
+
->method('isLoggedIn')
|
66 |
+
->will($this->returnValue(false));
|
67 |
+
$this->replaceByMock('helper', 'customer/data', $customerHelper);
|
68 |
+
|
69 |
+
$order = Mage::getModel('sales/order');
|
70 |
+
$order->setCustomerDob('01/10/1970')
|
71 |
+
->setCustomerGender(1);
|
72 |
+
$billingAddress = Mage::getModel('sales/order_address');
|
73 |
+
$billingAddress->setAddressType(Mage_Sales_Model_Order_Address::TYPE_BILLING)
|
74 |
+
->setStreet('Klarna-Straße 1/2/3');
|
75 |
+
$order->setBillingAddress($billingAddress);
|
76 |
+
$payment = Mage::getModel('sales/order_payment');
|
77 |
+
$model = Mage::getModel('ops/payment_openInvoiceAt');
|
78 |
+
$payment->setMethod($model->getCode());
|
79 |
+
$model->setInfoInstance($payment);
|
80 |
+
$payment->setMethodInstance($model);
|
81 |
+
$order->setPayment($payment);
|
82 |
+
$params = $model->getMethodDependendFormFields($order);
|
83 |
+
|
84 |
+
$this->assertEquals(' ', $params['ECOM_BILLTO_POSTAL_STREET_NUMBER']);
|
85 |
+
$this->assertEquals('Klarna-Straße 1/2/3', $params['OWNERADDRESS']);
|
86 |
+
}
|
87 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/OpenInvoiceNlTest.php
CHANGED
@@ -24,15 +24,17 @@ class Netresearch_OPS_Test_Model_Payment_OpenInvoiceNlTest extends EcomDev_PHPUn
|
|
24 |
'ECOM_SHIPTO_POSTAL_STREET_NUMBER' => ''
|
25 |
);
|
26 |
|
27 |
-
$method = $this->getModelMock(
|
|
|
28 |
'getFormFields'
|
29 |
-
|
|
|
30 |
$method->expects($this->any())
|
31 |
->method('getFormFields')
|
32 |
->will($this->returnValue($formFields));
|
33 |
|
34 |
$this->assertTrue($method->hasFormMissingParams($order, $requestParams, $formFields), 'expected missing params');
|
35 |
-
$this->assertTrue(is_string($method->getQuestion(
|
36 |
$this->assertEquals(
|
37 |
array(
|
38 |
'OWNERADDRESS',
|
@@ -58,9 +60,11 @@ class Netresearch_OPS_Test_Model_Payment_OpenInvoiceNlTest extends EcomDev_PHPUn
|
|
58 |
'ECOM_SHIPTO_POSTAL_STREET_NUMBER' => '1'
|
59 |
);
|
60 |
|
61 |
-
$method = $this->getModelMock(
|
|
|
62 |
'getFormFields'
|
63 |
-
|
|
|
64 |
$method->expects($this->any())
|
65 |
->method('getFormFields')
|
66 |
->will($this->returnValue($formFields));
|
@@ -68,7 +72,7 @@ class Netresearch_OPS_Test_Model_Payment_OpenInvoiceNlTest extends EcomDev_PHPUn
|
|
68 |
$this->assertFalse($method->hasFormMissingParams($order, $requestParams, $formFields), 'expected no missing params');
|
69 |
|
70 |
/* independent from that we expect to get question and questioned params when calling these methods directly */
|
71 |
-
$this->assertTrue(is_string($method->getQuestion(
|
72 |
$this->assertEquals(
|
73 |
array(
|
74 |
'OWNERADDRESS',
|
24 |
'ECOM_SHIPTO_POSTAL_STREET_NUMBER' => ''
|
25 |
);
|
26 |
|
27 |
+
$method = $this->getModelMock(
|
28 |
+
'ops/payment_openInvoiceNl', array(
|
29 |
'getFormFields'
|
30 |
+
)
|
31 |
+
);
|
32 |
$method->expects($this->any())
|
33 |
->method('getFormFields')
|
34 |
->will($this->returnValue($formFields));
|
35 |
|
36 |
$this->assertTrue($method->hasFormMissingParams($order, $requestParams, $formFields), 'expected missing params');
|
37 |
+
$this->assertTrue(is_string($method->getQuestion()));
|
38 |
$this->assertEquals(
|
39 |
array(
|
40 |
'OWNERADDRESS',
|
60 |
'ECOM_SHIPTO_POSTAL_STREET_NUMBER' => '1'
|
61 |
);
|
62 |
|
63 |
+
$method = $this->getModelMock(
|
64 |
+
'ops/payment_openInvoiceNl', array(
|
65 |
'getFormFields'
|
66 |
+
)
|
67 |
+
);
|
68 |
$method->expects($this->any())
|
69 |
->method('getFormFields')
|
70 |
->will($this->returnValue($formFields));
|
72 |
$this->assertFalse($method->hasFormMissingParams($order, $requestParams, $formFields), 'expected no missing params');
|
73 |
|
74 |
/* independent from that we expect to get question and questioned params when calling these methods directly */
|
75 |
+
$this->assertTrue(is_string($method->getQuestion()));
|
76 |
$this->assertEquals(
|
77 |
array(
|
78 |
'OWNERADDRESS',
|
app/code/community/Netresearch/OPS/Test/Model/Payment/PayPerMailTest.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* PayPerMail.php
|
24 |
+
*
|
25 |
+
* @category Payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
28 |
+
*/
|
29 |
+
?>
|
30 |
+
<?php
|
31 |
+
|
32 |
+
|
33 |
+
class Netresearch_OPS_Test_Model_Payment_PayPerMailTest extends EcomDev_PHPUnit_Test_Case
|
34 |
+
{
|
35 |
+
|
36 |
+
protected function getAdditionalInfo()
|
37 |
+
{
|
38 |
+
return array(
|
39 |
+
|
40 |
+
Netresearch_OPS_Model_Payment_PayPerMail::INFO_KEY_TITLE => 'Foobar',
|
41 |
+
Netresearch_OPS_Model_Payment_PayPerMail::INFO_KEY_PM => 'foo',
|
42 |
+
Netresearch_OPS_Model_Payment_PayPerMail::INFO_KEY_BRAND => 'bar'
|
43 |
+
);
|
44 |
+
}
|
45 |
+
|
46 |
+
public function testGetOpsCode()
|
47 |
+
{
|
48 |
+
$payment = Mage::getModel('sales/order_payment');
|
49 |
+
$additionalInfo = $this->getAdditionalInfo();
|
50 |
+
$payment->setMethod(Netresearch_OPS_Model_Payment_PayPerMail::CODE)
|
51 |
+
->setAdditionalInformation(
|
52 |
+
$additionalInfo
|
53 |
+
);
|
54 |
+
/** @var Netresearch_OPS_Model_Payment_PayPerMail $subject */
|
55 |
+
$subject = $payment->getMethodInstance();
|
56 |
+
|
57 |
+
$this->assertEquals($additionalInfo[Netresearch_OPS_Model_Payment_PayPerMail::INFO_KEY_PM], $subject->getOpsCode());
|
58 |
+
}
|
59 |
+
|
60 |
+
public function testGetOpsBrand()
|
61 |
+
{
|
62 |
+
$payment = Mage::getModel('sales/order_payment');
|
63 |
+
$additionalInfo = $this->getAdditionalInfo();
|
64 |
+
$payment->setMethod(Netresearch_OPS_Model_Payment_PayPerMail::CODE)
|
65 |
+
->setAdditionalInformation(
|
66 |
+
$additionalInfo
|
67 |
+
);
|
68 |
+
/** @var Netresearch_OPS_Model_Payment_Flex $subject */
|
69 |
+
$subject = $payment->getMethodInstance();
|
70 |
+
|
71 |
+
$this->assertEquals(
|
72 |
+
$additionalInfo[Netresearch_OPS_Model_Payment_PayPerMail::INFO_KEY_BRAND], $subject->getOpsBrand()
|
73 |
+
);
|
74 |
+
|
75 |
+
}
|
76 |
+
|
77 |
+
}
|
app/code/community/Netresearch/OPS/Test/Model/Payment/Recurring/Cc/ParameterBagTest.php
CHANGED
@@ -112,6 +112,7 @@ class Netresearch_OPS_Test_Model_Payment_Recurring_Cc_ParameterBagTest extends E
|
|
112 |
$profile = Mage::getModel('sales/recurring_profile');
|
113 |
$address = Mage::getModel('sales/quote_address');
|
114 |
$address->setCity('Leipzig');
|
|
|
115 |
$quote = Mage::getModel('sales/quote');
|
116 |
$quote->setShippingAddress($address);
|
117 |
$quote->setBillingAddress($address);
|
@@ -222,7 +223,7 @@ class Netresearch_OPS_Test_Model_Payment_Recurring_Cc_ParameterBagTest extends E
|
|
222 |
|
223 |
$params = $subject->collectProfileParameters($profile, true);
|
224 |
|
225 |
-
$this->assertEquals(Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag::PERIOD_UNIT_DAY,
|
226 |
|
227 |
$id = Netresearch_OPS_Helper_Subscription::SUBSCRIPTION_PREFIX . $profile->getId() . Netresearch_OPS_Helper_Subscription::TRIAL_SUFFIX ;
|
228 |
$this->assertArrayHasKey('SUBSCRIPTION_ID', $params);
|
112 |
$profile = Mage::getModel('sales/recurring_profile');
|
113 |
$address = Mage::getModel('sales/quote_address');
|
114 |
$address->setCity('Leipzig');
|
115 |
+
$address->setStreet('Test 123');
|
116 |
$quote = Mage::getModel('sales/quote');
|
117 |
$quote->setShippingAddress($address);
|
118 |
$quote->setBillingAddress($address);
|
223 |
|
224 |
$params = $subject->collectProfileParameters($profile, true);
|
225 |
|
226 |
+
$this->assertEquals(Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag::PERIOD_UNIT_DAY, $params['SUB_PERIOD_UNIT']);
|
227 |
|
228 |
$id = Netresearch_OPS_Helper_Subscription::SUBSCRIPTION_PREFIX . $profile->getId() . Netresearch_OPS_Helper_Subscription::TRIAL_SUFFIX ;
|
229 |
$this->assertArrayHasKey('SUBSCRIPTION_ID', $params);
|
app/code/community/Netresearch/OPS/Test/Model/Payment/Recurring/CcTest.php
CHANGED
@@ -514,7 +514,8 @@ class Netresearch_OPS_Test_Model_Payment_Recurring_CcTest extends EcomDev_PHPUni
|
|
514 |
$subject = Mage::getModel('ops/payment_recurring_cc');
|
515 |
$payment = Mage::getModel('payment/info');
|
516 |
$payment->setAdditionalInformation('HTML_ANSWER', 'abc');
|
517 |
-
$this->assertEquals(
|
|
|
518 |
Mage::getModel('ops/config')->get3dSecureRedirectUrl()
|
519 |
);
|
520 |
|
@@ -533,7 +534,8 @@ class Netresearch_OPS_Test_Model_Payment_Recurring_CcTest extends EcomDev_PHPUni
|
|
533 |
{
|
534 |
/** @var Netresearch_OPS_Model_Payment_Recurring_Cc $subject */
|
535 |
$subject = Mage::getModel('ops/payment_recurring_cc');
|
536 |
-
$this->assertEquals(
|
|
|
537 |
'American Express,Diners Club,MaestroUK,MasterCard,VISA,JCB'
|
538 |
);
|
539 |
}
|
@@ -547,7 +549,8 @@ class Netresearch_OPS_Test_Model_Payment_Recurring_CcTest extends EcomDev_PHPUni
|
|
547 |
$subject->setSubscriptionManager('abc');
|
548 |
$this->assertTrue($subject->getSubscriptionManager() === 'abc');
|
549 |
|
550 |
-
$this->assertTrue(
|
|
|
551 |
Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag
|
552 |
);
|
553 |
$subject->setParameterModel('abc');
|
514 |
$subject = Mage::getModel('ops/payment_recurring_cc');
|
515 |
$payment = Mage::getModel('payment/info');
|
516 |
$payment->setAdditionalInformation('HTML_ANSWER', 'abc');
|
517 |
+
$this->assertEquals(
|
518 |
+
$subject->getOrderPlaceRedirectUrl($payment),
|
519 |
Mage::getModel('ops/config')->get3dSecureRedirectUrl()
|
520 |
);
|
521 |
|
534 |
{
|
535 |
/** @var Netresearch_OPS_Model_Payment_Recurring_Cc $subject */
|
536 |
$subject = Mage::getModel('ops/payment_recurring_cc');
|
537 |
+
$this->assertEquals(
|
538 |
+
$subject->getBrandsForAliasInterface(),
|
539 |
'American Express,Diners Club,MaestroUK,MasterCard,VISA,JCB'
|
540 |
);
|
541 |
}
|
549 |
$subject->setSubscriptionManager('abc');
|
550 |
$this->assertTrue($subject->getSubscriptionManager() === 'abc');
|
551 |
|
552 |
+
$this->assertTrue(
|
553 |
+
$subject->getParameterModel() instanceof
|
554 |
Netresearch_OPS_Model_Payment_Recurring_Cc_ParameterBag
|
555 |
);
|
556 |
$subject->setParameterModel('abc');
|
app/code/community/Netresearch/OPS/Test/Model/Response/TestCase.php
CHANGED
@@ -37,12 +37,11 @@ abstract class Netresearch_OPS_Test_Model_Response_TestCase extends EcomDev_PHPU
|
|
37 |
{
|
38 |
protected function mockOrderConfig()
|
39 |
{
|
40 |
-
$configMock = $this->getModelMock('sales/order_config',
|
41 |
$configMock
|
42 |
->expects($this->any())
|
43 |
->method('getDefaultStatus')
|
44 |
-
->will($this->returnArgument(0))
|
45 |
-
;
|
46 |
$this->replaceByMock('singleton', 'sales/order_config', $configMock);
|
47 |
}
|
48 |
|
@@ -53,12 +52,11 @@ abstract class Netresearch_OPS_Test_Model_Response_TestCase extends EcomDev_PHPU
|
|
53 |
*/
|
54 |
protected function mockEmailHelper(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
|
55 |
{
|
56 |
-
$helperMock = $this->getHelperMock('ops/data',
|
57 |
$helperMock
|
58 |
->expects($matcher)
|
59 |
->method('sendTransactionalEmail')
|
60 |
-
->with($this->isInstanceOf('Mage_Sales_Model_Order'))
|
61 |
-
;
|
62 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
63 |
}
|
64 |
}
|
37 |
{
|
38 |
protected function mockOrderConfig()
|
39 |
{
|
40 |
+
$configMock = $this->getModelMock('sales/order_config', array('getDefaultStatus'));
|
41 |
$configMock
|
42 |
->expects($this->any())
|
43 |
->method('getDefaultStatus')
|
44 |
+
->will($this->returnArgument(0));
|
|
|
45 |
$this->replaceByMock('singleton', 'sales/order_config', $configMock);
|
46 |
}
|
47 |
|
52 |
*/
|
53 |
protected function mockEmailHelper(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
|
54 |
{
|
55 |
+
$helperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
56 |
$helperMock
|
57 |
->expects($matcher)
|
58 |
->method('sendTransactionalEmail')
|
59 |
+
->with($this->isInstanceOf('Mage_Sales_Model_Order'));
|
|
|
60 |
$this->replaceByMock('helper', 'ops/data', $helperMock);
|
61 |
}
|
62 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Response/Type/AuthorizeTest.php
CHANGED
@@ -190,7 +190,7 @@ class Netresearch_OPS_Test_Model_Response_Type_AuthorizeTest
|
|
190 |
|
191 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, $order->getState());
|
192 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
193 |
-
$this->assertEquals($response['status'],
|
194 |
}
|
195 |
|
196 |
/**
|
@@ -203,7 +203,7 @@ class Netresearch_OPS_Test_Model_Response_Type_AuthorizeTest
|
|
203 |
$order = Mage::getModel('sales/order')->load(30);
|
204 |
|
205 |
$response = array(
|
206 |
-
'status' =>
|
207 |
'payid' => 12345678,
|
208 |
'payidsub' => 3,
|
209 |
'amount' => 33.33
|
@@ -216,7 +216,7 @@ class Netresearch_OPS_Test_Model_Response_Type_AuthorizeTest
|
|
216 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, $order->getState());
|
217 |
$this->assertEquals(Mage_Sales_Model_Order::STATUS_FRAUD, $order->getStatus());
|
218 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
219 |
-
$this->assertEquals($response['status'],
|
220 |
}
|
221 |
|
222 |
/**
|
@@ -229,7 +229,7 @@ class Netresearch_OPS_Test_Model_Response_Type_AuthorizeTest
|
|
229 |
|
230 |
$order = Mage::getModel('sales/order')->load(31);
|
231 |
$response = array(
|
232 |
-
'status' =>
|
233 |
'payid' => 1234567897,
|
234 |
'payidsub' => 3,
|
235 |
'amount' => 33.33
|
@@ -242,7 +242,7 @@ class Netresearch_OPS_Test_Model_Response_Type_AuthorizeTest
|
|
242 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, $order->getState());
|
243 |
$this->assertEquals(Mage_Sales_Model_Order::STATUS_FRAUD, $order->getStatus());
|
244 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
245 |
-
$this->assertEquals($response['status'],
|
246 |
}
|
247 |
|
248 |
public function testStatusAuthorizationUnclear()
|
190 |
|
191 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, $order->getState());
|
192 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
193 |
+
$this->assertEquals($response['status'], $order->getPayment()->getAdditionalInformation('status'));
|
194 |
}
|
195 |
|
196 |
/**
|
203 |
$order = Mage::getModel('sales/order')->load(30);
|
204 |
|
205 |
$response = array(
|
206 |
+
'status' => Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
207 |
'payid' => 12345678,
|
208 |
'payidsub' => 3,
|
209 |
'amount' => 33.33
|
216 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, $order->getState());
|
217 |
$this->assertEquals(Mage_Sales_Model_Order::STATUS_FRAUD, $order->getStatus());
|
218 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
219 |
+
$this->assertEquals($response['status'], $order->getPayment()->getAdditionalInformation('status'));
|
220 |
}
|
221 |
|
222 |
/**
|
229 |
|
230 |
$order = Mage::getModel('sales/order')->load(31);
|
231 |
$response = array(
|
232 |
+
'status' => Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
233 |
'payid' => 1234567897,
|
234 |
'payidsub' => 3,
|
235 |
'amount' => 33.33
|
242 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, $order->getState());
|
243 |
$this->assertEquals(Mage_Sales_Model_Order::STATUS_FRAUD, $order->getStatus());
|
244 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
245 |
+
$this->assertEquals($response['status'], $order->getPayment()->getAdditionalInformation('status'));
|
246 |
}
|
247 |
|
248 |
public function testStatusAuthorizationUnclear()
|
app/code/community/Netresearch/OPS/Test/Model/Response/Type/CaptureTest.php
CHANGED
@@ -134,7 +134,7 @@ class Netresearch_OPS_Test_Model_Response_Type_CaptureTest
|
|
134 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PROCESSING, $order->getState());
|
135 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
136 |
$this->assertNotEmpty($order->getInvoiceCollection());
|
137 |
-
$this->assertEquals($response['status'],
|
138 |
}
|
139 |
|
140 |
/**
|
@@ -182,7 +182,7 @@ class Netresearch_OPS_Test_Model_Response_Type_CaptureTest
|
|
182 |
|
183 |
/** @var Netresearch_OPS_Model_Response_Type_Capture $handler */
|
184 |
$handler = Mage::getModel('ops/response_type_capture');
|
185 |
-
$handler->handleResponse($response,
|
186 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, $order->getState());
|
187 |
}
|
188 |
}
|
134 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PROCESSING, $order->getState());
|
135 |
$this->assertNotEmpty($order->getAllStatusHistory());
|
136 |
$this->assertNotEmpty($order->getInvoiceCollection());
|
137 |
+
$this->assertEquals($response['status'], $order->getPayment()->getAdditionalInformation('status'));
|
138 |
}
|
139 |
|
140 |
/**
|
182 |
|
183 |
/** @var Netresearch_OPS_Model_Response_Type_Capture $handler */
|
184 |
$handler = Mage::getModel('ops/response_type_capture');
|
185 |
+
$handler->handleResponse($response, $order->getPayment()->getMethodInstance());
|
186 |
$this->assertEquals(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, $order->getState());
|
187 |
}
|
188 |
}
|
app/code/community/Netresearch/OPS/Test/Model/Source/ModeTest.php
CHANGED
@@ -1,21 +1,21 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* ModeTest.php
|
5 |
-
* @author paul.siedler@netresearch.de
|
6 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
7 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
8 |
-
*/
|
9 |
-
class Netresearch_OPS_Test_Model_Source_ModeTest extends EcomDev_PHPUnit_Test_Case
|
10 |
-
{
|
11 |
-
|
12 |
-
public function testToOptionArray()
|
13 |
-
{
|
14 |
-
$model = Mage::getModel('ops/source_mode');
|
15 |
-
$options = $model->toOptionArray();
|
16 |
-
$this->assertTrue(is_array($options));
|
17 |
-
$this->assertEquals(Netresearch_OPS_Model_Source_Mode::TEST, $options[0]['value']);
|
18 |
-
$this->assertEquals(Netresearch_OPS_Model_Source_Mode::PROD, $options[1]['value']);
|
19 |
-
$this->assertEquals(Netresearch_OPS_Model_Source_Mode::CUSTOM, $options[2]['value']);
|
20 |
-
}
|
21 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* ModeTest.php
|
5 |
+
* @author paul.siedler@netresearch.de
|
6 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
7 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
8 |
+
*/
|
9 |
+
class Netresearch_OPS_Test_Model_Source_ModeTest extends EcomDev_PHPUnit_Test_Case
|
10 |
+
{
|
11 |
+
|
12 |
+
public function testToOptionArray()
|
13 |
+
{
|
14 |
+
$model = Mage::getModel('ops/source_mode');
|
15 |
+
$options = $model->toOptionArray();
|
16 |
+
$this->assertTrue(is_array($options));
|
17 |
+
$this->assertEquals(Netresearch_OPS_Model_Source_Mode::TEST, $options[0]['value']);
|
18 |
+
$this->assertEquals(Netresearch_OPS_Model_Source_Mode::PROD, $options[1]['value']);
|
19 |
+
$this->assertEquals(Netresearch_OPS_Model_Source_Mode::CUSTOM, $options[2]['value']);
|
20 |
+
}
|
21 |
+
}
|
app/code/community/Netresearch/OPS/Test/Model/Status/UpdateTest.php
CHANGED
@@ -8,7 +8,8 @@
|
|
8 |
class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_Case
|
9 |
{
|
10 |
|
11 |
-
protected function mockSessions()
|
|
|
12 |
$sessionMock = $this->getModelMock('admin/session', array());
|
13 |
$sessionMock->disableOriginalConstructor();
|
14 |
$this->replaceByMock('singleton', 'admin/session', $sessionMock);
|
@@ -92,14 +93,14 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
92 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
93 |
$directLinkApiMock->expects($this->once())
|
94 |
->method('performRequest')
|
95 |
-
->with(
|
|
|
96 |
'PAYID' => 4711
|
97 |
),
|
98 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
99 |
$order->getStoreId()
|
100 |
)
|
101 |
-
->will($this->returnValue(array('STATUS' => 5)))
|
102 |
-
;
|
103 |
$statusUpdateApiMock->setDirectLinkApi($directLinkApiMock);
|
104 |
$statusUpdateApiMock->updateStatusFor($order);
|
105 |
$opsResponse = $statusUpdateApiMock->getOpsResponse();
|
@@ -122,15 +123,15 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
122 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
123 |
$directLinkApiMock->expects($this->once())
|
124 |
->method('performRequest')
|
125 |
-
->with(
|
|
|
126 |
'PAYID' => 4711,
|
127 |
'PAYIDSUB' => 1
|
128 |
),
|
129 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
130 |
$order->getStoreId()
|
131 |
)
|
132 |
-
->will($this->returnValue(array('STATUS' => 5)))
|
133 |
-
;
|
134 |
$statusUpdateApiMock->setDirectLinkApi($directLinkApiMock);
|
135 |
$statusUpdateApiMock->updateStatusFor($order);
|
136 |
$opsResponse = $statusUpdateApiMock->getOpsResponse();
|
@@ -152,15 +153,15 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
152 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
153 |
$directLinkApiMock->expects($this->once())
|
154 |
->method('performRequest')
|
155 |
-
->with(
|
|
|
156 |
'PAYID' => 4711,
|
157 |
'PAYIDSUB' => 1,
|
158 |
),
|
159 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
160 |
$order->getStoreId()
|
161 |
)
|
162 |
-
->will($this->returnValue(array('STATUS' => 8, 'AMOUNT' => 1,)))
|
163 |
-
;
|
164 |
|
165 |
$statusUpdateApiMock->setDirectLinkApi($directLinkApiMock);
|
166 |
$statusUpdateApiMock->updateStatusFor($order);
|
@@ -189,12 +190,11 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
189 |
;
|
190 |
|
191 |
// no email on refund response type
|
192 |
-
$dataHelperMock = $this->getHelperMock('ops/data',
|
193 |
$dataHelperMock
|
194 |
->expects($this->never())
|
195 |
->method('sendTransactionalEmail')
|
196 |
-
->with($this->isInstanceOf('Mage_Sales_Model_Order'))
|
197 |
-
;
|
198 |
$this->replaceByMock('helper', 'ops/data', $dataHelperMock);
|
199 |
|
200 |
|
@@ -202,14 +202,14 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
202 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
203 |
$directLinkApiMock->expects($this->once())
|
204 |
->method('performRequest')
|
205 |
-
->with(
|
|
|
206 |
'PAYID' => 4711,
|
207 |
),
|
208 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
209 |
$order->getStoreId()
|
210 |
)
|
211 |
-
->will($this->returnValue(array('STATUS' => Netresearch_OPS_Model_Status::REFUNDED,)))
|
212 |
-
;
|
213 |
|
214 |
$adminSessionMock = $this->getModelMock('adminhtml/session', array('init', 'save', 'addNotice'));
|
215 |
$statusUpdateApi->setMessageContainer($adminSessionMock);
|
@@ -233,15 +233,13 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
233 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('saveOpsStatusToPayment'));
|
234 |
$paymentHelperMock->expects($this->any())
|
235 |
->method('saveOpsStatusToPayment')
|
236 |
-
->with($payment, $response)
|
237 |
-
;
|
238 |
|
239 |
-
$dataHelperMock = $this->getHelperMock('ops/data',
|
240 |
$dataHelperMock
|
241 |
->expects($this->once())
|
242 |
->method('sendTransactionalEmail')
|
243 |
-
->with($this->isInstanceOf('Mage_Sales_Model_Order'))
|
244 |
-
;
|
245 |
$this->replaceByMock('helper', 'ops/data', $dataHelperMock);
|
246 |
|
247 |
$adminSessionMock = $this->getModelMock('adminhtml/session', array('init', 'save', 'addSuccess'));
|
@@ -251,14 +249,14 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
251 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
252 |
$directLinkApiMock->expects($this->once())
|
253 |
->method('performRequest')
|
254 |
-
->with(
|
|
|
255 |
'PAYID' => 4711,
|
256 |
),
|
257 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
258 |
$order->getStoreId()
|
259 |
)
|
260 |
-
->will($this->returnValue($response))
|
261 |
-
;
|
262 |
|
263 |
$statusUpdateApi->setPaymentHelper($paymentHelperMock);
|
264 |
$statusUpdateApi->setDirectLinkApi($directLinkApiMock);
|
@@ -280,27 +278,25 @@ class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_
|
|
280 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('saveOpsStatusToPayment', 'applyStateForOrder'));
|
281 |
$paymentHelperMock->expects($this->any())
|
282 |
->method('saveOpsStatusToPayment')
|
283 |
-
->with($payment, $response)
|
284 |
-
;
|
285 |
|
286 |
$paymentHelperMock->expects($this->any())
|
287 |
->method('applyStateForOrder')
|
288 |
-
->with($order, $response)
|
289 |
-
;
|
290 |
$adminSessionMock = $this->getModelMock('adminhtml/session', array('init', 'save', 'addSuccess'));
|
291 |
$statusUpdateApiMock = Mage::getModel('ops/status_update');
|
292 |
$statusUpdateApiMock->setMessageContainer($adminSessionMock);
|
293 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
294 |
$directLinkApiMock->expects($this->once())
|
295 |
->method('performRequest')
|
296 |
-
->with(
|
|
|
297 |
'ORDERID' => Mage::getModel('ops/config')->getConfigData('devprefix') . '',
|
298 |
),
|
299 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
300 |
$order->getStoreId()
|
301 |
)
|
302 |
-
->will($this->returnValue($response))
|
303 |
-
;
|
304 |
|
305 |
|
306 |
$statusUpdateApiMock->setPaymentHelper($paymentHelperMock);
|
8 |
class Netresearch_OPS_Test_Model_Status_UpdateTest extends EcomDev_PHPUnit_Test_Case
|
9 |
{
|
10 |
|
11 |
+
protected function mockSessions()
|
12 |
+
{
|
13 |
$sessionMock = $this->getModelMock('admin/session', array());
|
14 |
$sessionMock->disableOriginalConstructor();
|
15 |
$this->replaceByMock('singleton', 'admin/session', $sessionMock);
|
93 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
94 |
$directLinkApiMock->expects($this->once())
|
95 |
->method('performRequest')
|
96 |
+
->with(
|
97 |
+
array(
|
98 |
'PAYID' => 4711
|
99 |
),
|
100 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
101 |
$order->getStoreId()
|
102 |
)
|
103 |
+
->will($this->returnValue(array('STATUS' => 5)));
|
|
|
104 |
$statusUpdateApiMock->setDirectLinkApi($directLinkApiMock);
|
105 |
$statusUpdateApiMock->updateStatusFor($order);
|
106 |
$opsResponse = $statusUpdateApiMock->getOpsResponse();
|
123 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
124 |
$directLinkApiMock->expects($this->once())
|
125 |
->method('performRequest')
|
126 |
+
->with(
|
127 |
+
array(
|
128 |
'PAYID' => 4711,
|
129 |
'PAYIDSUB' => 1
|
130 |
),
|
131 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
132 |
$order->getStoreId()
|
133 |
)
|
134 |
+
->will($this->returnValue(array('STATUS' => 5)));
|
|
|
135 |
$statusUpdateApiMock->setDirectLinkApi($directLinkApiMock);
|
136 |
$statusUpdateApiMock->updateStatusFor($order);
|
137 |
$opsResponse = $statusUpdateApiMock->getOpsResponse();
|
153 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
154 |
$directLinkApiMock->expects($this->once())
|
155 |
->method('performRequest')
|
156 |
+
->with(
|
157 |
+
array(
|
158 |
'PAYID' => 4711,
|
159 |
'PAYIDSUB' => 1,
|
160 |
),
|
161 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
162 |
$order->getStoreId()
|
163 |
)
|
164 |
+
->will($this->returnValue(array('STATUS' => 8, 'AMOUNT' => 1,)));
|
|
|
165 |
|
166 |
$statusUpdateApiMock->setDirectLinkApi($directLinkApiMock);
|
167 |
$statusUpdateApiMock->updateStatusFor($order);
|
190 |
;
|
191 |
|
192 |
// no email on refund response type
|
193 |
+
$dataHelperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
194 |
$dataHelperMock
|
195 |
->expects($this->never())
|
196 |
->method('sendTransactionalEmail')
|
197 |
+
->with($this->isInstanceOf('Mage_Sales_Model_Order'));
|
|
|
198 |
$this->replaceByMock('helper', 'ops/data', $dataHelperMock);
|
199 |
|
200 |
|
202 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
203 |
$directLinkApiMock->expects($this->once())
|
204 |
->method('performRequest')
|
205 |
+
->with(
|
206 |
+
array(
|
207 |
'PAYID' => 4711,
|
208 |
),
|
209 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
210 |
$order->getStoreId()
|
211 |
)
|
212 |
+
->will($this->returnValue(array('STATUS' => Netresearch_OPS_Model_Status::REFUNDED,)));
|
|
|
213 |
|
214 |
$adminSessionMock = $this->getModelMock('adminhtml/session', array('init', 'save', 'addNotice'));
|
215 |
$statusUpdateApi->setMessageContainer($adminSessionMock);
|
233 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('saveOpsStatusToPayment'));
|
234 |
$paymentHelperMock->expects($this->any())
|
235 |
->method('saveOpsStatusToPayment')
|
236 |
+
->with($payment, $response);
|
|
|
237 |
|
238 |
+
$dataHelperMock = $this->getHelperMock('ops/data', array('sendTransactionalEmail'));
|
239 |
$dataHelperMock
|
240 |
->expects($this->once())
|
241 |
->method('sendTransactionalEmail')
|
242 |
+
->with($this->isInstanceOf('Mage_Sales_Model_Order'));
|
|
|
243 |
$this->replaceByMock('helper', 'ops/data', $dataHelperMock);
|
244 |
|
245 |
$adminSessionMock = $this->getModelMock('adminhtml/session', array('init', 'save', 'addSuccess'));
|
249 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
250 |
$directLinkApiMock->expects($this->once())
|
251 |
->method('performRequest')
|
252 |
+
->with(
|
253 |
+
array(
|
254 |
'PAYID' => 4711,
|
255 |
),
|
256 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
257 |
$order->getStoreId()
|
258 |
)
|
259 |
+
->will($this->returnValue($response));
|
|
|
260 |
|
261 |
$statusUpdateApi->setPaymentHelper($paymentHelperMock);
|
262 |
$statusUpdateApi->setDirectLinkApi($directLinkApiMock);
|
278 |
$paymentHelperMock = $this->getHelperMock('ops/payment', array('saveOpsStatusToPayment', 'applyStateForOrder'));
|
279 |
$paymentHelperMock->expects($this->any())
|
280 |
->method('saveOpsStatusToPayment')
|
281 |
+
->with($payment, $response);
|
|
|
282 |
|
283 |
$paymentHelperMock->expects($this->any())
|
284 |
->method('applyStateForOrder')
|
285 |
+
->with($order, $response);
|
|
|
286 |
$adminSessionMock = $this->getModelMock('adminhtml/session', array('init', 'save', 'addSuccess'));
|
287 |
$statusUpdateApiMock = Mage::getModel('ops/status_update');
|
288 |
$statusUpdateApiMock->setMessageContainer($adminSessionMock);
|
289 |
$directLinkApiMock = $this->getModelMock('ops/api_directlink', array('performRequest'));
|
290 |
$directLinkApiMock->expects($this->once())
|
291 |
->method('performRequest')
|
292 |
+
->with(
|
293 |
+
array(
|
294 |
'ORDERID' => Mage::getModel('ops/config')->getConfigData('devprefix') . '',
|
295 |
),
|
296 |
Mage::getModel('ops/config')->getDirectLinkMaintenanceApiPath($order->getStoreId()),
|
297 |
$order->getStoreId()
|
298 |
)
|
299 |
+
->will($this->returnValue($response));
|
|
|
300 |
|
301 |
|
302 |
$statusUpdateApiMock->setPaymentHelper($paymentHelperMock);
|
app/code/community/Netresearch/OPS/Test/Model/StatusTest.php
CHANGED
@@ -78,7 +78,7 @@ class Netresearch_OPS_Test_Model_StatusTest extends EcomDev_PHPUnit_Test_Case
|
|
78 |
Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
79 |
Netresearch_OPS_Model_Status::AUTHORIZATION_WAITING,
|
80 |
Netresearch_OPS_Model_Status::AUTHORIZED_UNKNOWN,
|
81 |
-
Netresearch_OPS_Model_Status::
|
82 |
Netresearch_OPS_Model_Status::OK_WITH_SHEDULED_PAYMENTS,
|
83 |
Netresearch_OPS_Model_Status::NOT_OK_WITH_SHEDULED_PAYMENTS,
|
84 |
Netresearch_OPS_Model_Status::AUTHORISATION_TO_BE_REQUESTED_MANUALLY
|
78 |
Netresearch_OPS_Model_Status::AUTHORIZED_WAITING_EXTERNAL_RESULT,
|
79 |
Netresearch_OPS_Model_Status::AUTHORIZATION_WAITING,
|
80 |
Netresearch_OPS_Model_Status::AUTHORIZED_UNKNOWN,
|
81 |
+
Netresearch_OPS_Model_Status::STAND_BY,
|
82 |
Netresearch_OPS_Model_Status::OK_WITH_SHEDULED_PAYMENTS,
|
83 |
Netresearch_OPS_Model_Status::NOT_OK_WITH_SHEDULED_PAYMENTS,
|
84 |
Netresearch_OPS_Model_Status::AUTHORISATION_TO_BE_REQUESTED_MANUALLY
|
app/code/community/Netresearch/OPS/Test/Model/Subscription/ManagerTest.php
CHANGED
@@ -108,7 +108,8 @@ class Netresearch_OPS_Test_Model_Subscription_ManagerTest extends EcomDev_PHPUni
|
|
108 |
->will($this->returnValue(''));
|
109 |
$this->replaceByMock('model', 'sales/order', $orderMock);
|
110 |
|
111 |
-
$paymentMock = $this->getModelMock(
|
|
|
112 |
array('registerAuthorizationNotification', 'registerCaptureNotification')
|
113 |
);
|
114 |
$paymentMock->expects($this->any())
|
108 |
->will($this->returnValue(''));
|
109 |
$this->replaceByMock('model', 'sales/order', $orderMock);
|
110 |
|
111 |
+
$paymentMock = $this->getModelMock(
|
112 |
+
'sales/order_payment',
|
113 |
array('registerAuthorizationNotification', 'registerCaptureNotification')
|
114 |
);
|
115 |
$paymentMock->expects($this->any())
|
app/code/community/Netresearch/OPS/Test/Model/System/Config/Backend/EncodingTest.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category OPS
|
20 |
+
* @package Netresearch_OPS
|
21 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Netresearch_OPS_Test_Block_System_Config_EncodingTest
|
29 |
+
*
|
30 |
+
* @category OPS
|
31 |
+
* @package Netresearch_OPS
|
32 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Netresearch_OPS_Test_Model_System_Config_Backend_EncodingTest
|
37 |
+
extends EcomDev_PHPUnit_Test_Case
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @test
|
41 |
+
*/
|
42 |
+
public function testToOptionArray()
|
43 |
+
{
|
44 |
+
/** @var Netresearch_Ops_Model_System_Config_Backend_PaymentLogo $optionModel */
|
45 |
+
$optionModel = Mage::getModel('ops/system_config_backend_encoding');
|
46 |
+
|
47 |
+
$result = $optionModel->toOptionArray();
|
48 |
+
|
49 |
+
$this->assertInternalType('array', $result);
|
50 |
+
$this->assertArrayHasKey('value', $result[0]);
|
51 |
+
$this->assertArrayHasKey('label', $result[0]);
|
52 |
+
|
53 |
+
$this->assertEquals('utf-8', $result[0]['value']);
|
54 |
+
$this->assertEquals('UTF-8', $result[0]['label']);
|
55 |
+
|
56 |
+
$this->assertEquals('other', $result[1]['value']);
|
57 |
+
$this->assertEquals('Other', $result[1]['label']);
|
58 |
+
}
|
59 |
+
|
60 |
+
}
|
app/code/community/Netresearch/OPS/Test/Model/System/Config/Backend/PaymentLogoTest.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category OPS
|
20 |
+
* @package Netresearch_OPS
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Netresearch_OPS_Test_Block_System_Config_PaymentLogoTest
|
29 |
+
*
|
30 |
+
* @category OPS
|
31 |
+
* @package Netresearch_OPS
|
32 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Netresearch_OPS_Test_Model_System_Config_Backend_PaymentLogoTest
|
37 |
+
extends EcomDev_PHPUnit_Test_Case
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @test
|
41 |
+
*/
|
42 |
+
public function toOptionArray()
|
43 |
+
{
|
44 |
+
/** @var Netresearch_Ops_Model_System_Config_Backend_PaymentLogo $optionModel */
|
45 |
+
$optionModel = Mage::getModel('ops/system_config_backend_paymentLogo');
|
46 |
+
|
47 |
+
$result = $optionModel->toOptionArray();
|
48 |
+
|
49 |
+
$this->assertInternalType('array', $result);
|
50 |
+
$this->assertArrayHasKey('value', $result[0]);
|
51 |
+
}
|
52 |
+
|
53 |
+
}
|
app/code/community/Netresearch/OPS/Test/Model/Validator/Payment/DirectDebitTest.php
DELETED
@@ -1,166 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @author Michael Lühr <michael.luehr@netresearch.de>
|
4 |
-
* @category Netresearch
|
5 |
-
* @package ${MODULENAME}
|
6 |
-
* @copyright Copyright (c) 2013 Netresearch GmbH & Co. KG (http://www.netresearch.de)
|
7 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
-
*/
|
9 |
-
|
10 |
-
|
11 |
-
class Netresearch_OPS_Test_Model_Validator_Payment_DirectDebitTest
|
12 |
-
extends EcomDev_PHPUnit_Test_Case
|
13 |
-
{
|
14 |
-
|
15 |
-
protected function getValidator()
|
16 |
-
{
|
17 |
-
return $validator = Mage::getModel('ops/validator_payment_directDebit');
|
18 |
-
}
|
19 |
-
public function testIsValidWithInvalidDataReturnsFalse()
|
20 |
-
{
|
21 |
-
/** @var $validator Netresearch_OPS_Model_Validator_Payment_DirectDebit */
|
22 |
-
$validator = Mage::getModel('ops/validator_payment_directDebit');
|
23 |
-
$directDebitData = array();
|
24 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
25 |
-
$directDebitData = array('CN' => 'foo');
|
26 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
27 |
-
$this->assertTrue(0 < $validator->getMessages());
|
28 |
-
$directDebitData = array('CN' => 'foo', 'country' => 'de');
|
29 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
30 |
-
}
|
31 |
-
|
32 |
-
public function testIsValidWithBankAccountData()
|
33 |
-
{
|
34 |
-
/** @var $validator Netresearch_OPS_Model_Validator_Payment_DirectDebit */
|
35 |
-
$validator = Mage::getModel('ops/validator_payment_directDebit');
|
36 |
-
$directDebitData = array(
|
37 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '12345678',
|
38 |
-
'iban' => ''
|
39 |
-
);
|
40 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
41 |
-
|
42 |
-
$directDebitData = array(
|
43 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '12345678a',
|
44 |
-
'iban' => ''
|
45 |
-
);
|
46 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
47 |
-
|
48 |
-
$directDebitData = array(
|
49 |
-
'CN' => '', 'country' => 'de', 'account' => '12345678a',
|
50 |
-
'iban' => ''
|
51 |
-
);
|
52 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
53 |
-
|
54 |
-
$directDebitData = array(
|
55 |
-
'CN' => 'foo', 'country' => 'at', 'account' => '12345678',
|
56 |
-
'iban' => ''
|
57 |
-
);
|
58 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
59 |
-
|
60 |
-
$directDebitData = array(
|
61 |
-
'CN' => 'foo', 'country' => 'nl', 'account' => '12345678',
|
62 |
-
'iban' => ''
|
63 |
-
);
|
64 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
65 |
-
|
66 |
-
$directDebitData = array(
|
67 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '12345678',
|
68 |
-
'iban' => '', 'bankcode' => '12345678'
|
69 |
-
);
|
70 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
71 |
-
|
72 |
-
$directDebitData = array(
|
73 |
-
'CN' => 'foo', 'country' => 'at', 'account' => '12345678',
|
74 |
-
'iban' => '', 'bankcode' => '12345678'
|
75 |
-
);
|
76 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
77 |
-
|
78 |
-
|
79 |
-
}
|
80 |
-
|
81 |
-
public function testIsValidWithIbanData()
|
82 |
-
{
|
83 |
-
/** @var $validator Netresearch_OPS_Model_Validator_Payment_DirectDebit */
|
84 |
-
$validator = Mage::getModel('ops/validator_payment_directDebit');
|
85 |
-
$directDebitData = array(
|
86 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '',
|
87 |
-
'iban' => 'DE12345456677891234545667789'
|
88 |
-
);
|
89 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
90 |
-
|
91 |
-
$directDebitData = array(
|
92 |
-
'CN' => 'foo', 'country' => 'at', 'account' => '',
|
93 |
-
'iban' => 'AT12345456677891234545667789'
|
94 |
-
);
|
95 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
96 |
-
|
97 |
-
$directDebitData = array(
|
98 |
-
'CN' => 'foo', 'country' => 'nl', 'account' => '',
|
99 |
-
'iban' => 'NL12345456677891234545667789'
|
100 |
-
);
|
101 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
102 |
-
|
103 |
-
$directDebitData = array(
|
104 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '',
|
105 |
-
'iban' => 'DE65160500003502221536'
|
106 |
-
);
|
107 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
108 |
-
|
109 |
-
$directDebitData = array(
|
110 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '',
|
111 |
-
'iban' => 'DE65 1605 0000 3502 2215 36'
|
112 |
-
);
|
113 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
114 |
-
$directDebitData = array(
|
115 |
-
'CN' => 'foo', 'country' => 'de', 'account' => '',
|
116 |
-
'iban' => 'DE89370400440532013000'
|
117 |
-
);
|
118 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
119 |
-
|
120 |
-
$directDebitData = array(
|
121 |
-
'CN' => 'foo', 'country' => 'nl', 'account' => '',
|
122 |
-
'iban' => 'NL39RABO0300065264'
|
123 |
-
);
|
124 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
125 |
-
|
126 |
-
$directDebitData = array(
|
127 |
-
'CN' => 'foo', 'country' => 'nl', 'account' => '',
|
128 |
-
'iban' => 'NL39RABO0300065264', 'bic' => 'RABONL2U'
|
129 |
-
);
|
130 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
131 |
-
|
132 |
-
$directDebitData = array(
|
133 |
-
'CN' => 'foo', 'country' => 'nl', 'account' => '',
|
134 |
-
'iban' => 'NL39RABO0300065264', 'bic' => '012345678912'
|
135 |
-
);
|
136 |
-
$this->assertFalse($validator->isValid($directDebitData));
|
137 |
-
|
138 |
-
$directDebitData = array(
|
139 |
-
'CN' => 'foo', 'country' => 'nl', 'account' => '',
|
140 |
-
'iban' => 'NL39RABO0300065264', 'bic' => '01234567891'
|
141 |
-
);
|
142 |
-
$this->assertTrue($validator->isValid($directDebitData));
|
143 |
-
}
|
144 |
-
|
145 |
-
public function testSetDataHelper()
|
146 |
-
{
|
147 |
-
/** @var $validator Netresearch_OPS_Model_Validator_Payment_DirectDebit */
|
148 |
-
$validator = Mage::getModel('ops/validator_payment_directDebit');
|
149 |
-
$validator->setDataHelper(Mage::helper('core/data'));
|
150 |
-
$this->assertEquals(
|
151 |
-
get_class(Mage::helper('core/data')),
|
152 |
-
get_class($validator->getDataHelper())
|
153 |
-
);
|
154 |
-
}
|
155 |
-
public function testSetdirectDebitHelper()
|
156 |
-
{
|
157 |
-
/** @var $validator Netresearch_OPS_Model_Validator_Payment_DirectDebit */
|
158 |
-
$validator = Mage::getModel('ops/validator_payment_directDebit');
|
159 |
-
$validator->setDirectDebitHelper(Mage::helper('ops/directDebit'));
|
160 |
-
$this->assertEquals(
|
161 |
-
get_class(Mage::helper('ops/directDebit')),
|
162 |
-
get_class($validator->getDirectDebitHelper())
|
163 |
-
);
|
164 |
-
}
|
165 |
-
|
166 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Netresearch/OPS/Test/var/fixtures/orders.yaml
CHANGED
@@ -26,6 +26,7 @@ tables:
|
|
26 |
state: 'pending_payment'
|
27 |
status: 'pending_payment'
|
28 |
quote_id: 24
|
|
|
29 |
|
30 |
- entity_id: 13
|
31 |
increment_id: 100000013
|
@@ -273,6 +274,34 @@ tables:
|
|
273 |
state: 'pending_payment'
|
274 |
status: 'pending_payment'
|
275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
sales/quote:
|
277 |
- entity_id: 1
|
278 |
base_grand_total: 119.00
|
@@ -306,6 +335,10 @@ tables:
|
|
306 |
store_id: 0
|
307 |
created_at: '2013-05-14 14:45:00'
|
308 |
|
|
|
|
|
|
|
|
|
309 |
sales/quote_payment:
|
310 |
- payment_id: 1
|
311 |
quote_id: 10
|
@@ -331,10 +364,16 @@ tables:
|
|
331 |
method: 'ops_paypal'
|
332 |
additional_information: a:7:{s:8:"CC_BRAND";s:4:"VISA";s:5:"CC_CN";s:10:"Max Muster";s:3:"cvc";s:3:"123";s:12:"saveOpsAlias";s:1:"0";s:5:"alias";s:4:"4714";s:12:"ops_response";a:22:{s:7:"orderID";s:11:"SER13041841";s:5:"PAYID";s:8:"20908736";s:8:"NCSTATUS";s:1:"0";s:7:"NCERROR";s:1:"0";s:10:"ACCEPTANCE";s:7:"test123";s:6:"STATUS";s:1:"5";s:5:"IPCTY";s:2:"AU";s:5:"CCCTY";s:2:"US";s:3:"ECI";s:2:"12";s:8:"CVCCheck";s:2:"NO";s:8:"AAVCheck";s:2:"NO";s:2:"VC";s:2:"NO";s:6:"AAVZIP";s:2:"NO";s:10:"AAVADDRESS";s:2:"NO";s:6:"amount";s:2:"35";s:8:"currency";s:3:"EUR";s:2:"PM";s:10:"CreditCard";s:5:"BRAND";s:4:"VISA";s:7:"SCORING";s:1:"3";s:12:"SCO_CATEGORY";s:1:"O";s:5:"ALIAS";s:12:"041907169941";s:11:"NCERRORPLUS";s:1:"!";}s:28:"checkoutFinishedSuccessfully";b:1;}
|
333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
sales/order_payment:
|
335 |
- entity_id: 1
|
336 |
parent_id: 11
|
337 |
-
additional_information: a:
|
338 |
method: 'ops_bankTransfer'
|
339 |
|
340 |
- entity_id: 2
|
@@ -426,6 +465,16 @@ tables:
|
|
426 |
additional_information: a:6:{s:8:"CC_BRAND";s:16:"PostFinance Card";s:5:"CC_CN";s:10:"Max Muster";s:12:"saveOpsAlias";s:1:"0";s:5:"alias";s:12:"041907169941";s:12:"ops_response";a:22:{s:7:"orderID";s:11:"SER13041841";s:5:"PAYID";s:8:"20908736";s:8:"NCSTATUS";s:1:"0";s:7:"NCERROR";s:1:"0";s:10:"ACCEPTANCE";s:7:"test123";s:6:"STATUS";s:1:"5";s:5:"IPCTY";s:2:"AU";s:5:"CCCTY";s:2:"US";s:3:"ECI";s:2:"12";s:8:"CVCCheck";s:2:"NO";s:8:"AAVCheck";s:2:"NO";s:2:"VC";s:2:"NO";s:6:"AAVZIP";s:2:"NO";s:10:"AAVADDRESS";s:2:"NO";s:6:"amount";s:2:"35";s:8:"currency";s:3:"EUR";s:2:"PM";s:10:"CreditCard";s:5:"BRAND";s:4:"VISA";s:7:"SCORING";s:1:"3";s:12:"SCO_CATEGORY";s:1:"O";s:5:"ALIAS";s:12:"041907169941";s:11:"NCERRORPLUS";s:1:"!";}s:28:"checkoutFinishedSuccessfully";b:1;}
|
427 |
method: 'checkmo'
|
428 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
429 |
sales/shipment:
|
430 |
- entity_id: 1
|
431 |
increment_id: 100000077
|
@@ -609,6 +658,21 @@ tables:
|
|
609 |
suffix: 'MdL'
|
610 |
company: ''
|
611 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
sales/order_item:
|
613 |
- item_id: 11
|
614 |
order_id: 11
|
26 |
state: 'pending_payment'
|
27 |
status: 'pending_payment'
|
28 |
quote_id: 24
|
29 |
+
store_id: 0
|
30 |
|
31 |
- entity_id: 13
|
32 |
increment_id: 100000013
|
274 |
state: 'pending_payment'
|
275 |
status: 'pending_payment'
|
276 |
|
277 |
+
- entity_id: 31
|
278 |
+
increment_id: 100000031
|
279 |
+
shipping_address_id: 42
|
280 |
+
base_grand_total: 177.55
|
281 |
+
grand_total: 177.55
|
282 |
+
currency: 'EUR'
|
283 |
+
customer_gender: 1
|
284 |
+
shipping_method: 'flatrate_flatrate'
|
285 |
+
customer_email: 'willi.usa.customer@trash-mail.com'
|
286 |
+
state: 'processing'
|
287 |
+
status: 'processing'
|
288 |
+
quote_id: 25
|
289 |
+
store_id: 0
|
290 |
+
|
291 |
+
- entity_id: 32
|
292 |
+
increment_id: 100000032
|
293 |
+
shipping_address_id: 42
|
294 |
+
base_grand_total: 177.55
|
295 |
+
grand_total: 177.55
|
296 |
+
currency: 'EUR'
|
297 |
+
customer_gender: 1
|
298 |
+
shipping_method: 'flatrate_flatrate'
|
299 |
+
customer_email: 'willi.usa.customer@trash-mail.com'
|
300 |
+
state: 'processing'
|
301 |
+
status: 'processing'
|
302 |
+
quote_id: 32
|
303 |
+
store_id: 0
|
304 |
+
|
305 |
sales/quote:
|
306 |
- entity_id: 1
|
307 |
base_grand_total: 119.00
|
335 |
store_id: 0
|
336 |
created_at: '2013-05-14 14:45:00'
|
337 |
|
338 |
+
- entity_id: 32
|
339 |
+
store_id: 0
|
340 |
+
created_at: '2013-05-14 14:45:00'
|
341 |
+
|
342 |
sales/quote_payment:
|
343 |
- payment_id: 1
|
344 |
quote_id: 10
|
364 |
method: 'ops_paypal'
|
365 |
additional_information: a:7:{s:8:"CC_BRAND";s:4:"VISA";s:5:"CC_CN";s:10:"Max Muster";s:3:"cvc";s:3:"123";s:12:"saveOpsAlias";s:1:"0";s:5:"alias";s:4:"4714";s:12:"ops_response";a:22:{s:7:"orderID";s:11:"SER13041841";s:5:"PAYID";s:8:"20908736";s:8:"NCSTATUS";s:1:"0";s:7:"NCERROR";s:1:"0";s:10:"ACCEPTANCE";s:7:"test123";s:6:"STATUS";s:1:"5";s:5:"IPCTY";s:2:"AU";s:5:"CCCTY";s:2:"US";s:3:"ECI";s:2:"12";s:8:"CVCCheck";s:2:"NO";s:8:"AAVCheck";s:2:"NO";s:2:"VC";s:2:"NO";s:6:"AAVZIP";s:2:"NO";s:10:"AAVADDRESS";s:2:"NO";s:6:"amount";s:2:"35";s:8:"currency";s:3:"EUR";s:2:"PM";s:10:"CreditCard";s:5:"BRAND";s:4:"VISA";s:7:"SCORING";s:1:"3";s:12:"SCO_CATEGORY";s:1:"O";s:5:"ALIAS";s:12:"041907169941";s:11:"NCERRORPLUS";s:1:"!";}s:28:"checkoutFinishedSuccessfully";b:1;}
|
366 |
|
367 |
+
- payment_id: 5
|
368 |
+
quote_id: 32
|
369 |
+
updated_at: '1970-01-01'
|
370 |
+
method: 'ops_BCMC'
|
371 |
+
additional_information: a:37:{s:5:"PSPID";s:10:"NRMAGENTO8";s:6:"AMOUNT";d:34500;s:8:"CURRENCY";s:3:"EUR";s:7:"ORDERID";s:10:"#145000120";s:8:"LANGUAGE";s:5:"de_DE";s:2:"PM";s:10:"CreditCard";s:5:"EMAIL";s:31:"sebastian.ertner@netresearch.de";s:9:"ACCEPTURL";s:56:"http://ser-ogone-de.magento.nrdev.de/ops/payment/accept/";s:10:"DECLINEURL";s:57:"http://ser-ogone-de.magento.nrdev.de/ops/payment/decline/";s:12:"EXCEPTIONURL";s:59:"http://ser-ogone-de.magento.nrdev.de/ops/payment/exception/";s:9:"CANCELURL";s:56:"http://ser-ogone-de.magento.nrdev.de/ops/payment/cancel/";s:7:"BACKURL";s:125:"http://ser-ogone-de.magento.nrdev.de/ops/payment/retry/?SHASIGN=AEF578B3ED129000FC779255DC04CA535ABB155F&orderID=%23145000120";s:8:"FP_ACTIV";s:1:"0";s:9:"OPERATION";s:3:"RES";s:4:"ORIG";s:10:"OGmg160526";s:5:"BRAND";s:4:"BCMC";s:2:"CN";s:16:"Sebastian Ertner";s:3:"COM";s:27:"Lafayette Convertible Dress";s:8:"ADDMATCH";i:1;s:29:"ECOM_BILLTO_POSTAL_POSTALCODE";s:5:"04229";s:12:"OWNERADDRESS";s:18:"Nonnenstraße 11 d";s:9:"OWNERTOWN";s:7:"Leipzig";s:8:"OWNERZIP";s:5:"04229";s:10:"OWNERTELNO";s:11:"23123123123";s:8:"OWNERCTY";s:2:"DE";s:4:"CUID";s:3:"140";s:6:"DEVICE";s:8:"computer";s:2:"TP";s:57:"http://ser-ogone-de.magento.nrdev.de/ops/payment/paypage/";s:23:"ECOM_SHIPTO_POSTAL_CITY";s:7:"Leipzig";s:29:"ECOM_SHIPTO_POSTAL_POSTALCODE";s:5:"04229";s:24:"ECOM_SHIPTO_POSTAL_STATE";s:2:"SN";s:30:"ECOM_SHIPTO_POSTAL_COUNTRYCODE";s:2:"DE";s:29:"ECOM_SHIPTO_POSTAL_NAME_FIRST";s:9:"Sebastian";s:28:"ECOM_SHIPTO_POSTAL_NAME_LAST";s:6:"Ertner";s:31:"ECOM_SHIPTO_POSTAL_STREET_LINE1";s:13:"Nonnenstraße";s:32:"ECOM_BILLTO_POSTAL_STREET_NUMBER";s:4:"11 d";s:31:"ECOM_SHIPTO_POSTAL_STREET_LINE2";s:0:"";}
|
372 |
+
|
373 |
sales/order_payment:
|
374 |
- entity_id: 1
|
375 |
parent_id: 11
|
376 |
+
additional_information: a:7:{s:8:"CC_BRAND";s:4:"VISA";s:5:"CC_CN";s:10:"Max Muster";s:12:"saveOpsAlias";s:1:"0";s:5:"alias";s:12:"041907169941";s:12:"ops_response";a:22:{s:7:"orderID";s:11:"SER13041841";s:5:"PAYID";s:8:"20908736";s:8:"NCSTATUS";s:1:"0";s:7:"NCERROR";s:1:"0";s:10:"ACCEPTANCE";s:7:"test123";s:6:"STATUS";s:1:"5";s:5:"IPCTY";s:2:"AU";s:5:"CCCTY";s:2:"US";s:3:"ECI";s:2:"12";s:8:"CVCCheck";s:2:"NO";s:8:"AAVCheck";s:2:"NO";s:2:"VC";s:2:"NO";s:6:"AAVZIP";s:2:"NO";s:10:"AAVADDRESS";s:2:"NO";s:6:"amount";s:2:"35";s:8:"currency";s:3:"EUR";s:2:"PM";s:10:"CreditCard";s:5:"BRAND";s:4:"VISA";s:7:"SCORING";s:1:"3";s:12:"SCO_CATEGORY";s:1:"O";s:5:"ALIAS";s:12:"041907169941";s:11:"NCERRORPLUS";s:1:"!";}s:28:"checkoutFinishedSuccessfully";b:1;s:6:"status";s:1:"0";}
|
377 |
method: 'ops_bankTransfer'
|
378 |
|
379 |
- entity_id: 2
|
465 |
additional_information: a:6:{s:8:"CC_BRAND";s:16:"PostFinance Card";s:5:"CC_CN";s:10:"Max Muster";s:12:"saveOpsAlias";s:1:"0";s:5:"alias";s:12:"041907169941";s:12:"ops_response";a:22:{s:7:"orderID";s:11:"SER13041841";s:5:"PAYID";s:8:"20908736";s:8:"NCSTATUS";s:1:"0";s:7:"NCERROR";s:1:"0";s:10:"ACCEPTANCE";s:7:"test123";s:6:"STATUS";s:1:"5";s:5:"IPCTY";s:2:"AU";s:5:"CCCTY";s:2:"US";s:3:"ECI";s:2:"12";s:8:"CVCCheck";s:2:"NO";s:8:"AAVCheck";s:2:"NO";s:2:"VC";s:2:"NO";s:6:"AAVZIP";s:2:"NO";s:10:"AAVADDRESS";s:2:"NO";s:6:"amount";s:2:"35";s:8:"currency";s:3:"EUR";s:2:"PM";s:10:"CreditCard";s:5:"BRAND";s:4:"VISA";s:7:"SCORING";s:1:"3";s:12:"SCO_CATEGORY";s:1:"O";s:5:"ALIAS";s:12:"041907169941";s:11:"NCERRORPLUS";s:1:"!";}s:28:"checkoutFinishedSuccessfully";b:1;}
|
466 |
method: 'checkmo'
|
467 |
|
468 |
+
- entity_id: 22
|
469 |
+
parent_id: 31
|
470 |
+
additional_information: a:3:{s:2:"PM";s:16:"Bank transfer DE";s:5:"BRAND";s:16:"Bank transfer DE";s:6:"status";s:2:"51";}
|
471 |
+
method: 'ops_bankTransfer'
|
472 |
+
|
473 |
+
- entity_id: 23
|
474 |
+
parent_id: 32
|
475 |
+
additional_information: a:29:{s:7:"orderID";s:10:"#145000119";s:8:"currency";s:3:"EUR";s:6:"amount";s:2:"80";s:2:"PM";s:10:"CreditCard";s:10:"ACCEPTANCE";s:7:"test123";s:6:"STATUS";s:1:"9";s:6:"CARDNO";s:18:"670300-XXXXXXXX-03";s:3:"BIN";s:6:"670300";s:2:"ED";s:4:"0926";s:2:"CN";s:16:"Sebastian Ertner";s:7:"TRXDATE";s:8:"09/15/16";s:5:"PAYID";s:10:"3009110929";s:7:"NCERROR";s:1:"0";s:5:"BRAND";s:22:"Bancontact/Mister Cash";s:11:"CREDITDEBIT";s:0:"";s:5:"IPCTY";s:2:"DE";s:5:"CCCTY";s:2:"BE";s:3:"ECI";s:1:"5";s:8:"CVCCheck";s:2:"NO";s:8:"AAVCheck";s:2:"NO";s:2:"VC";s:2:"NO";s:6:"AAVZIP";s:2:"NO";s:10:"AAVADDRESS";s:2:"NO";s:7:"AAVMAIL";s:2:"NO";s:7:"SCORING";s:1:"0";s:12:"SCO_CATEGORY";s:1:"G";s:2:"IP";s:13:"178.24.30.185";s:10:"MOBILEMODE";s:2:"QR";s:7:"SHASIGN";s:40:"76A28E77731F97339BB752509BBE46B8E464A8D6";}
|
476 |
+
method: 'ops_BCMC'
|
477 |
+
|
478 |
sales/shipment:
|
479 |
- entity_id: 1
|
480 |
increment_id: 100000077
|
658 |
suffix: 'MdL'
|
659 |
company: ''
|
660 |
|
661 |
+
- entity_id: 52
|
662 |
+
parent_id: 32
|
663 |
+
address_type: 'billing'
|
664 |
+
firstname: 'Hubertus'
|
665 |
+
postcode: '04227'
|
666 |
+
lastname: 'Fürstenberg'
|
667 |
+
street: '44 rue Parmentier'
|
668 |
+
city: 'Leipzig'
|
669 |
+
email: 'hubertus.von.fuerstenberg@trash-mail.com'
|
670 |
+
country_id: 'DE'
|
671 |
+
prefix: 'Prof. Dr.'
|
672 |
+
middlename: 'von'
|
673 |
+
suffix: 'MdL'
|
674 |
+
company: ''
|
675 |
+
|
676 |
sales/order_item:
|
677 |
- item_id: 11
|
678 |
order_id: 11
|
app/code/community/Netresearch/OPS/Trait/AliasController.php
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
trait Netresearch_OPS_Trait_AliasController
|
32 |
{
|
33 |
use Netresearch_OPS_Trait_PaymentHelper;
|
34 |
-
|
35 |
/**
|
36 |
* @return Netresearch_OPS_Model_Config
|
37 |
*/
|
@@ -39,7 +39,7 @@ trait Netresearch_OPS_Trait_AliasController
|
|
39 |
{
|
40 |
return Mage::getSingleton('ops/config');
|
41 |
}
|
42 |
-
|
43 |
/**
|
44 |
* accept-action for Alias-generating iframe-response
|
45 |
*
|
@@ -47,40 +47,41 @@ trait Netresearch_OPS_Trait_AliasController
|
|
47 |
public function acceptAction()
|
48 |
{
|
49 |
$params = $this->getRequest()->getParams();
|
50 |
-
$
|
51 |
-
$
|
52 |
-
|
53 |
-
"Incoming accepted Ingenico ePayments Alias Feedback\n\nRequest Path: %s\nParams: %s\n",
|
54 |
-
$this->getRequest()->getPathInfo(),
|
55 |
-
serialize($params)
|
56 |
-
)
|
57 |
-
);
|
58 |
-
Mage::helper('ops/alias')->saveAlias($params);
|
59 |
-
|
60 |
|
61 |
-
|
62 |
-
$quote = Mage::getModel('sales/quote')->load($params['Alias_OrderId']);
|
63 |
-
$this->updateAdditionalInformation($quote, $params);
|
64 |
} else {
|
65 |
-
$
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
-
// OGNH-7 special handling for admin orders
|
69 |
-
Mage::helper('ops/alias')->setAliasToPayment(
|
70 |
-
$quote->getPayment(),
|
71 |
-
array_change_key_case($params, CASE_LOWER),
|
72 |
-
false
|
73 |
-
);
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
80 |
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
|
|
83 |
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
* exception-action for Alias-generating iframe-response
|
86 |
*
|
@@ -89,13 +90,13 @@ trait Netresearch_OPS_Trait_AliasController
|
|
89 |
{
|
90 |
$params = $this->getRequest()->getParams();
|
91 |
$errors = array();
|
92 |
-
|
93 |
foreach ($params as $key => $value) {
|
94 |
if (stristr($key, 'error') && 0 != $value) {
|
95 |
$errors[] = $value;
|
96 |
}
|
97 |
}
|
98 |
-
|
99 |
$helper = Mage::helper('ops');
|
100 |
$helper->log(
|
101 |
$helper->__(
|
@@ -104,13 +105,10 @@ trait Netresearch_OPS_Trait_AliasController
|
|
104 |
serialize($params)
|
105 |
)
|
106 |
);
|
107 |
-
|
108 |
-
$
|
109 |
-
= "<script type='application/javascript'>window.onload = function() { top.document.fire('alias:failure'); };</script>";
|
110 |
-
|
111 |
-
return $this->getResponse()->setBody($result);
|
112 |
}
|
113 |
-
|
114 |
/**
|
115 |
* Generates the hash for the hosted tokenization page request
|
116 |
*
|
@@ -119,12 +117,12 @@ trait Netresearch_OPS_Trait_AliasController
|
|
119 |
public function generateHashAction()
|
120 |
{
|
121 |
$storeId = $this->getStoreId();
|
122 |
-
|
123 |
$result = $this->generateHash($storeId);
|
124 |
-
|
125 |
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
126 |
}
|
127 |
-
|
128 |
/**
|
129 |
* Get store id from quote or request
|
130 |
*
|
@@ -133,39 +131,39 @@ trait Netresearch_OPS_Trait_AliasController
|
|
133 |
protected function getStoreId()
|
134 |
{
|
135 |
$storeId = null;
|
136 |
-
|
137 |
if (Mage::app()->getStore()->isAdmin()) {
|
138 |
$quote = Mage::getSingleton('adminhtml/session_quote');
|
139 |
$storeId = $quote->getStoreId();
|
140 |
} else {
|
141 |
-
$quoteId = $this->
|
142 |
-
|
143 |
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
144 |
-
|
145 |
-
if (
|
146 |
$quote = Mage::getModel('sales/quote')->loadByIdWithoutStore($quoteId);
|
147 |
}
|
148 |
-
|
149 |
-
if (
|
150 |
$storeId = $quote->getStoreId();
|
151 |
}
|
152 |
-
if (
|
153 |
-
$storeId = $this->
|
154 |
}
|
155 |
}
|
156 |
-
|
157 |
return $storeId;
|
158 |
}
|
159 |
-
|
160 |
/**
|
161 |
* updates the additional information from payment, thats needed for backend reOrders
|
162 |
*
|
163 |
* @param Mage_Sales_Model_Quote $quote
|
164 |
-
* @param
|
165 |
*/
|
166 |
public function updateAdditionalInformation(Mage_Sales_Model_Quote $quote, $params)
|
167 |
{
|
168 |
-
if (
|
169 |
$payment = $quote->getPayment();
|
170 |
if (array_key_exists('Alias_AliasId', $params)) {
|
171 |
$payment->setAdditionalInformation('alias', $params['Alias_AliasId']);
|
@@ -183,7 +181,7 @@ trait Netresearch_OPS_Trait_AliasController
|
|
183 |
$quote->setDataChanges(true)->save();
|
184 |
}
|
185 |
}
|
186 |
-
|
187 |
/**
|
188 |
* Checks if checkout method is registering
|
189 |
*
|
@@ -194,7 +192,7 @@ trait Netresearch_OPS_Trait_AliasController
|
|
194 |
return Mage::getSingleton('checkout/type_onepage')->getCheckoutMethod()
|
195 |
=== Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER;
|
196 |
}
|
197 |
-
|
198 |
/**
|
199 |
* Generate hash from request parameters
|
200 |
*
|
@@ -205,14 +203,14 @@ trait Netresearch_OPS_Trait_AliasController
|
|
205 |
protected function generateHash($storeId)
|
206 |
{
|
207 |
$data = $this->cleanParamKeys();
|
208 |
-
|
209 |
$secret = $this->getConfig()->getShaOutCode($storeId);
|
210 |
$raw = $this->getPaymentHelper()->getSHAInSet($data, $secret);
|
211 |
$result = array('hash' => Mage::helper('ops/payment')->shaCrypt($raw));
|
212 |
-
|
213 |
return $result;
|
214 |
}
|
215 |
-
|
216 |
/**
|
217 |
* Cleans param array from magentos admin params, fixes underscored keys
|
218 |
*
|
@@ -221,13 +219,41 @@ trait Netresearch_OPS_Trait_AliasController
|
|
221 |
protected function cleanParamKeys()
|
222 |
{
|
223 |
$data = array();
|
224 |
-
foreach ($this->
|
225 |
if ($key == 'form_key' || $key == 'isAjax' || $key == 'key') {
|
226 |
continue;
|
227 |
}
|
228 |
$data[str_replace('_', '.', $key)] = $value;
|
229 |
}
|
230 |
-
|
231 |
return $data;
|
232 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
}
|
31 |
trait Netresearch_OPS_Trait_AliasController
|
32 |
{
|
33 |
use Netresearch_OPS_Trait_PaymentHelper;
|
34 |
+
|
35 |
/**
|
36 |
* @return Netresearch_OPS_Model_Config
|
37 |
*/
|
39 |
{
|
40 |
return Mage::getSingleton('ops/config');
|
41 |
}
|
42 |
+
|
43 |
/**
|
44 |
* accept-action for Alias-generating iframe-response
|
45 |
*
|
47 |
public function acceptAction()
|
48 |
{
|
49 |
$params = $this->getRequest()->getParams();
|
50 |
+
$requiredParams = array_fill_keys(array('Alias_OrderId', 'Alias_AliasId'), '');
|
51 |
+
$missingParams = count(array_diff_key($requiredParams, $params));
|
52 |
+
if ($missingParams) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
+
return $this->parseFrontendException();
|
|
|
|
|
55 |
} else {
|
56 |
+
$helper = Mage::helper('ops');
|
57 |
+
$helper->log(
|
58 |
+
$helper->__(
|
59 |
+
"Incoming accepted Ingenico ePayments Alias Feedback\n\nRequest Path: %s\nParams: %s\n",
|
60 |
+
$this->getRequest()->getPathInfo(),
|
61 |
+
serialize($params)
|
62 |
+
)
|
63 |
+
);
|
64 |
+
Mage::helper('ops/alias')->saveAlias($params);
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
+
if (array_key_exists('Alias_OrderId', $params)) {
|
68 |
+
$quote = Mage::getModel('sales/quote')->load($params['Alias_OrderId']);
|
69 |
+
$this->updateAdditionalInformation($quote, $params);
|
70 |
+
} else {
|
71 |
+
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
72 |
+
}
|
73 |
|
74 |
+
// OGNH-7 special handling for admin orders
|
75 |
+
Mage::helper('ops/alias')->setAliasToPayment(
|
76 |
+
$quote->getPayment(),
|
77 |
+
array_change_key_case($params, CASE_LOWER),
|
78 |
+
false
|
79 |
+
);
|
80 |
|
81 |
+
return $this->parseFrontendSuccess($params['Alias_AliasId']);
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
/**
|
86 |
* exception-action for Alias-generating iframe-response
|
87 |
*
|
90 |
{
|
91 |
$params = $this->getRequest()->getParams();
|
92 |
$errors = array();
|
93 |
+
|
94 |
foreach ($params as $key => $value) {
|
95 |
if (stristr($key, 'error') && 0 != $value) {
|
96 |
$errors[] = $value;
|
97 |
}
|
98 |
}
|
99 |
+
|
100 |
$helper = Mage::helper('ops');
|
101 |
$helper->log(
|
102 |
$helper->__(
|
105 |
serialize($params)
|
106 |
)
|
107 |
);
|
108 |
+
|
109 |
+
return $this->parseFrontendException();
|
|
|
|
|
|
|
110 |
}
|
111 |
+
|
112 |
/**
|
113 |
* Generates the hash for the hosted tokenization page request
|
114 |
*
|
117 |
public function generateHashAction()
|
118 |
{
|
119 |
$storeId = $this->getStoreId();
|
120 |
+
|
121 |
$result = $this->generateHash($storeId);
|
122 |
+
|
123 |
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
124 |
}
|
125 |
+
|
126 |
/**
|
127 |
* Get store id from quote or request
|
128 |
*
|
131 |
protected function getStoreId()
|
132 |
{
|
133 |
$storeId = null;
|
134 |
+
|
135 |
if (Mage::app()->getStore()->isAdmin()) {
|
136 |
$quote = Mage::getSingleton('adminhtml/session_quote');
|
137 |
$storeId = $quote->getStoreId();
|
138 |
} else {
|
139 |
+
$quoteId = $this->getRequest()->getParam('orderid');
|
140 |
+
|
141 |
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
142 |
+
|
143 |
+
if ($quote->getId() === null) {
|
144 |
$quote = Mage::getModel('sales/quote')->loadByIdWithoutStore($quoteId);
|
145 |
}
|
146 |
+
|
147 |
+
if ($quote->getId() !== null) {
|
148 |
$storeId = $quote->getStoreId();
|
149 |
}
|
150 |
+
if ($this->getRequest()->getParam('storeId') !== null) {
|
151 |
+
$storeId = $this->getRequest()->getParam('storeId');
|
152 |
}
|
153 |
}
|
154 |
+
|
155 |
return $storeId;
|
156 |
}
|
157 |
+
|
158 |
/**
|
159 |
* updates the additional information from payment, thats needed for backend reOrders
|
160 |
*
|
161 |
* @param Mage_Sales_Model_Quote $quote
|
162 |
+
* @param string[] $params
|
163 |
*/
|
164 |
public function updateAdditionalInformation(Mage_Sales_Model_Quote $quote, $params)
|
165 |
{
|
166 |
+
if ($quote->getId() !== null && $quote->getPayment() && $quote->getPayment()->getId() !== null) {
|
167 |
$payment = $quote->getPayment();
|
168 |
if (array_key_exists('Alias_AliasId', $params)) {
|
169 |
$payment->setAdditionalInformation('alias', $params['Alias_AliasId']);
|
181 |
$quote->setDataChanges(true)->save();
|
182 |
}
|
183 |
}
|
184 |
+
|
185 |
/**
|
186 |
* Checks if checkout method is registering
|
187 |
*
|
192 |
return Mage::getSingleton('checkout/type_onepage')->getCheckoutMethod()
|
193 |
=== Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER;
|
194 |
}
|
195 |
+
|
196 |
/**
|
197 |
* Generate hash from request parameters
|
198 |
*
|
203 |
protected function generateHash($storeId)
|
204 |
{
|
205 |
$data = $this->cleanParamKeys();
|
206 |
+
|
207 |
$secret = $this->getConfig()->getShaOutCode($storeId);
|
208 |
$raw = $this->getPaymentHelper()->getSHAInSet($data, $secret);
|
209 |
$result = array('hash' => Mage::helper('ops/payment')->shaCrypt($raw));
|
210 |
+
|
211 |
return $result;
|
212 |
}
|
213 |
+
|
214 |
/**
|
215 |
* Cleans param array from magentos admin params, fixes underscored keys
|
216 |
*
|
219 |
protected function cleanParamKeys()
|
220 |
{
|
221 |
$data = array();
|
222 |
+
foreach ($this->getRequest()->getParams() as $key => $value) {
|
223 |
if ($key == 'form_key' || $key == 'isAjax' || $key == 'key') {
|
224 |
continue;
|
225 |
}
|
226 |
$data[str_replace('_', '.', $key)] = $value;
|
227 |
}
|
228 |
+
|
229 |
return $data;
|
230 |
}
|
231 |
+
|
232 |
+
/**
|
233 |
+
* @return Mage_Core_Controller_Response_Http
|
234 |
+
*/
|
235 |
+
protected function parseFrontendException()
|
236 |
+
{
|
237 |
+
$result = "<script type='application/javascript'>" .
|
238 |
+
"window.onload = function() { top.document.fire('alias:failure'); };" .
|
239 |
+
"</script>";
|
240 |
+
|
241 |
+
return $this->getResponse()->setBody($result);
|
242 |
+
}
|
243 |
+
|
244 |
+
/**
|
245 |
+
* @param string $alias alias to be parsed in frontend javascript event
|
246 |
+
*
|
247 |
+
* @return Mage_Core_Controller_Response_Http
|
248 |
+
*/
|
249 |
+
protected function parseFrontendSuccess($alias)
|
250 |
+
{
|
251 |
+
$result = sprintf(
|
252 |
+
"<script type='application/javascript'>".
|
253 |
+
"window.onload = function() { top.document.fire('alias:success', '%s'); };</script>",
|
254 |
+
$alias
|
255 |
+
);
|
256 |
+
|
257 |
+
return $this->getResponse()->setBody($result);
|
258 |
+
}
|
259 |
}
|
app/code/community/Netresearch/OPS/Trait/PaymentHelper.php
CHANGED
@@ -37,7 +37,7 @@ trait Netresearch_OPS_Trait_PaymentHelper
|
|
37 |
*/
|
38 |
public function getPaymentHelper()
|
39 |
{
|
40 |
-
if (
|
41 |
$this->paymentHelper = Mage::helper('ops/payment');
|
42 |
}
|
43 |
|
37 |
*/
|
38 |
public function getPaymentHelper()
|
39 |
{
|
40 |
+
if (null === $this->paymentHelper) {
|
41 |
$this->paymentHelper = Mage::helper('ops/payment');
|
42 |
}
|
43 |
|
app/code/community/Netresearch/OPS/controllers/Adminhtml/AdminController.php
CHANGED
@@ -43,10 +43,12 @@ class Netresearch_OPS_Adminhtml_AdminController extends Mage_Adminhtml_Controlle
|
|
43 |
$message = Mage::helper('ops')->__('Log file could not be retrieved.');
|
44 |
$this->_getSession()->addError($message);
|
45 |
} else {
|
46 |
-
$this->_prepareDownloadResponse(
|
|
|
47 |
'value' => $fileToDownload,
|
48 |
'type' => 'filename'
|
49 |
-
|
|
|
50 |
}
|
51 |
$this->_redirectReferer();
|
52 |
}
|
43 |
$message = Mage::helper('ops')->__('Log file could not be retrieved.');
|
44 |
$this->_getSession()->addError($message);
|
45 |
} else {
|
46 |
+
$this->_prepareDownloadResponse(
|
47 |
+
'ops.log', array(
|
48 |
'value' => $fileToDownload,
|
49 |
'type' => 'filename'
|
50 |
+
)
|
51 |
+
);
|
52 |
}
|
53 |
$this->_redirectReferer();
|
54 |
}
|
app/code/community/Netresearch/OPS/controllers/Adminhtml/KwixocategoryController.php
CHANGED
@@ -12,8 +12,12 @@ class Netresearch_OPS_Adminhtml_KwixocategoryController
|
|
12 |
extends Mage_Adminhtml_Controller_Action
|
13 |
{
|
14 |
|
15 |
-
|
16 |
|
|
|
|
|
|
|
|
|
17 |
protected function _initCategory($getRootInstead = false)
|
18 |
{
|
19 |
$categoryId = (int)$this->getRequest()->getParam('id', false);
|
@@ -194,7 +198,8 @@ class Netresearch_OPS_Adminhtml_KwixocategoryController
|
|
194 |
} catch (Exception $e) {
|
195 |
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
196 |
}
|
197 |
-
$this->_redirect(
|
|
|
198 |
array('_current' => true, "id" => $post['category_id'], "store" => $post['storeId'])
|
199 |
);
|
200 |
}
|
12 |
extends Mage_Adminhtml_Controller_Action
|
13 |
{
|
14 |
|
15 |
+
protected $_block = 'ops/adminhtml_kwixocategory_edit';
|
16 |
|
17 |
+
/**
|
18 |
+
* @param bool $getRootInstead
|
19 |
+
* @return bool
|
20 |
+
*/
|
21 |
protected function _initCategory($getRootInstead = false)
|
22 |
{
|
23 |
$categoryId = (int)$this->getRequest()->getParam('id', false);
|
198 |
} catch (Exception $e) {
|
199 |
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
200 |
}
|
201 |
+
$this->_redirect(
|
202 |
+
'*/*/index/',
|
203 |
array('_current' => true, "id" => $post['category_id'], "store" => $post['storeId'])
|
204 |
);
|
205 |
}
|
app/code/community/Netresearch/OPS/controllers/Adminhtml/KwixoshippingController.php
CHANGED
@@ -21,10 +21,10 @@ class Netresearch_OPS_Adminhtml_KwixoshippingController
|
|
21 |
$this->loadLayout();
|
22 |
|
23 |
$storeId = $this->getRequest()->getParam('store', 0);
|
24 |
-
$this->getLayout()->
|
25 |
'store', $storeId
|
26 |
);
|
27 |
-
$this->getLayout()->
|
28 |
'postData',
|
29 |
Mage::getModel('adminhtml/session')->getData('errorneousData')
|
30 |
);
|
@@ -38,40 +38,26 @@ class Netresearch_OPS_Adminhtml_KwixoshippingController
|
|
38 |
public function saveAction()
|
39 |
{
|
40 |
if ($this->getRequest()->isPost()) {
|
41 |
-
$postData = $this->
|
42 |
-
$methodCodes = array_keys(
|
43 |
-
Mage::getSingleton('shipping/config')->getAllCarriers()
|
44 |
-
);
|
45 |
$validator = Mage::getModel('ops/validator_kwixo_shipping_setting');
|
46 |
if (true === $validator->isValid($postData)) {
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
$kwixoShippingModel
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
$kwixoShippingModel
|
56 |
-
->
|
57 |
-
->
|
58 |
-
|
59 |
-
)
|
60 |
-
->setKwixoShippingSpeed(
|
61 |
-
$kwixoData['kwixo_shipping_speed']
|
62 |
-
)
|
63 |
-
->setKwixoShippingDetails(
|
64 |
-
$kwixoData['kwixo_shipping_details']
|
65 |
-
)
|
66 |
-
->save();
|
67 |
}
|
|
|
68 |
} else {
|
69 |
-
$postData = array_merge_recursive(
|
70 |
-
|
71 |
-
);
|
72 |
-
Mage::getModel('adminhtml/session')->setData(
|
73 |
-
'errorneousData', $postData
|
74 |
-
);
|
75 |
}
|
76 |
|
77 |
}
|
@@ -83,5 +69,25 @@ class Netresearch_OPS_Adminhtml_KwixoshippingController
|
|
83 |
return Mage::getSingleton('admin/session')->isAllowed('sales/shipment');
|
84 |
}
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
}
|
21 |
$this->loadLayout();
|
22 |
|
23 |
$storeId = $this->getRequest()->getParam('store', 0);
|
24 |
+
$this->getLayout()->getBlock('kwixoshipping')->setData(
|
25 |
'store', $storeId
|
26 |
);
|
27 |
+
$this->getLayout()->getBlock('kwixoshipping')->setData(
|
28 |
'postData',
|
29 |
Mage::getModel('adminhtml/session')->getData('errorneousData')
|
30 |
);
|
38 |
public function saveAction()
|
39 |
{
|
40 |
if ($this->getRequest()->isPost()) {
|
41 |
+
$postData = $this->getCleanPostData();
|
|
|
|
|
|
|
42 |
$validator = Mage::getModel('ops/validator_kwixo_shipping_setting');
|
43 |
if (true === $validator->isValid($postData)) {
|
44 |
+
$collection = Mage::getModel('ops/kwixo_shipping_setting')->getCollection()
|
45 |
+
->addFieldToFilter('shipping_code', array('in' => array_keys($postData)));
|
46 |
+
/** @var Netresearch_OPS_Model_Kwixo_Shipping_Setting $kwixoShippingModel */
|
47 |
+
foreach ($collection->getItems() as $kwixoShippingModel) {
|
48 |
+
if (!array_key_exists($kwixoShippingModel->getShippingCode(), $postData)) {
|
49 |
+
continue;
|
50 |
+
}
|
51 |
+
$kwixoData = $postData[$kwixoShippingModel->getShippingCode()];
|
52 |
$kwixoShippingModel
|
53 |
+
->setKwixoShippingType($kwixoData['kwixo_shipping_type'])
|
54 |
+
->setKwixoShippingSpeed($kwixoData['kwixo_shipping_speed'])
|
55 |
+
->setKwixoShippingDetails($kwixoData['kwixo_shipping_details']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
+
$collection->save();
|
58 |
} else {
|
59 |
+
$postData = array_merge_recursive($postData, $validator->getMessages());
|
60 |
+
Mage::getModel('adminhtml/session')->setData('errorneousData', $postData);
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
|
63 |
}
|
69 |
return Mage::getSingleton('admin/session')->isAllowed('sales/shipment');
|
70 |
}
|
71 |
|
72 |
+
/**
|
73 |
+
* removes any methods not in the actual systems carrier list from the post parameters
|
74 |
+
*
|
75 |
+
* @return array
|
76 |
+
*/
|
77 |
+
protected function getCleanPostData()
|
78 |
+
{
|
79 |
+
$postData = $this->getRequest()->getPost();
|
80 |
+
$methodCodes = array_keys(
|
81 |
+
Mage::getSingleton('shipping/config')->getAllCarriers()
|
82 |
+
);
|
83 |
+
$invalidateShippingCodes = function ($key) use ($methodCodes) {
|
84 |
+
return !in_array($key, $methodCodes);
|
85 |
+
};
|
86 |
+
$validKeys = array_filter(array_keys($postData), $invalidateShippingCodes);
|
87 |
+
$cleanPostData = array_diff_key($postData, $validKeys);
|
88 |
+
|
89 |
+
return $cleanPostData;
|
90 |
+
}
|
91 |
+
|
92 |
|
93 |
}
|
app/code/community/Netresearch/OPS/controllers/AliasController.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* AliasController.php
|
5 |
-
*
|
6 |
-
* @author paul.siedler@netresearch.de
|
7 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
8 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
9 |
-
*/
|
10 |
-
class Netresearch_OPS_AliasController extends Netresearch_OPS_Controller_Abstract
|
11 |
-
{
|
12 |
-
use Netresearch_OPS_Trait_AliasController;
|
13 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* AliasController.php
|
5 |
+
*
|
6 |
+
* @author paul.siedler@netresearch.de
|
7 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
8 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
9 |
+
*/
|
10 |
+
class Netresearch_OPS_AliasController extends Netresearch_OPS_Controller_Abstract
|
11 |
+
{
|
12 |
+
use Netresearch_OPS_Trait_AliasController;
|
13 |
+
}
|
app/code/community/Netresearch/OPS/controllers/ApiController.php
CHANGED
@@ -69,12 +69,7 @@ class Netresearch_OPS_ApiController extends Netresearch_OPS_Controller_Abstract
|
|
69 |
{
|
70 |
|
71 |
$params = $this->getRequest()->getParams();
|
72 |
-
|
73 |
-
"Incoming Request on Directlink: " . serialize($params),
|
74 |
-
null,
|
75 |
-
'incoming.log',
|
76 |
-
true
|
77 |
-
);
|
78 |
try {
|
79 |
if (Mage::helper('ops/subscription')->isSubscriptionFeedback($params)) {
|
80 |
$this->getSubscriptionManager()->processSubscriptionFeedback($params);
|
69 |
{
|
70 |
|
71 |
$params = $this->getRequest()->getParams();
|
72 |
+
|
|
|
|
|
|
|
|
|
|
|
73 |
try {
|
74 |
if (Mage::helper('ops/subscription')->isSubscriptionFeedback($params)) {
|
75 |
$this->getSubscriptionManager()->processSubscriptionFeedback($params);
|
app/code/community/Netresearch/OPS/controllers/CustomerController.php
CHANGED
@@ -24,7 +24,6 @@ class Netresearch_OPS_CustomerController extends Mage_Core_Controller_Front_Acti
|
|
24 |
public function preDispatch()
|
25 |
{
|
26 |
parent::preDispatch();
|
27 |
-
$action = $this->getRequest()->getActionName();
|
28 |
$loginUrl = Mage::helper('customer')->getLoginUrl();
|
29 |
|
30 |
if (!Mage::getSingleton('customer/session')->authenticate($this, $loginUrl)) {
|
@@ -32,6 +31,9 @@ class Netresearch_OPS_CustomerController extends Mage_Core_Controller_Front_Acti
|
|
32 |
}
|
33 |
}
|
34 |
|
|
|
|
|
|
|
35 |
public function aliasesAction()
|
36 |
{
|
37 |
$this->loadLayout();
|
24 |
public function preDispatch()
|
25 |
{
|
26 |
parent::preDispatch();
|
|
|
27 |
$loginUrl = Mage::helper('customer')->getLoginUrl();
|
28 |
|
29 |
if (!Mage::getSingleton('customer/session')->authenticate($this, $loginUrl)) {
|
31 |
}
|
32 |
}
|
33 |
|
34 |
+
/**
|
35 |
+
*
|
36 |
+
*/
|
37 |
public function aliasesAction()
|
38 |
{
|
39 |
$this->loadLayout();
|
app/code/community/Netresearch/OPS/controllers/DeviceController.php
CHANGED
@@ -41,7 +41,7 @@ class Netresearch_OPS_DeviceController extends Mage_Core_Controller_Front_Action
|
|
41 |
*/
|
42 |
public function getConfig()
|
43 |
{
|
44 |
-
if (
|
45 |
$this->config = Mage::getModel('ops/config');
|
46 |
}
|
47 |
|
@@ -72,8 +72,9 @@ class Netresearch_OPS_DeviceController extends Mage_Core_Controller_Front_Action
|
|
72 |
$resultArray = array(self::CONSENT_PARAMETER_KEY => false);
|
73 |
|
74 |
if ($this->getConfig()->getDeviceFingerPrinting()) {
|
75 |
-
$resultArray[self::CONSENT_PARAMETER_KEY] =
|
76 |
-
|
|
|
77 |
}
|
78 |
|
79 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
41 |
*/
|
42 |
public function getConfig()
|
43 |
{
|
44 |
+
if (null === $this->config) {
|
45 |
$this->config = Mage::getModel('ops/config');
|
46 |
}
|
47 |
|
72 |
$resultArray = array(self::CONSENT_PARAMETER_KEY => false);
|
73 |
|
74 |
if ($this->getConfig()->getDeviceFingerPrinting()) {
|
75 |
+
$resultArray[self::CONSENT_PARAMETER_KEY] =
|
76 |
+
(bool)Mage::getSingleton('customer/session')
|
77 |
+
->getData(Netresearch_OPS_Model_Payment_Abstract::FINGERPRINT_CONSENT_SESSION_KEY);
|
78 |
}
|
79 |
|
80 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
app/code/community/Netresearch/OPS/controllers/PaymentController.php
CHANGED
@@ -1,37 +1,58 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
/**
|
4 |
* Netresearch_OPS_PaymentController
|
5 |
*
|
6 |
-
* @
|
7 |
-
* @
|
8 |
* @author Thomas Kappel <thomas.kappel@netresearch.de>
|
9 |
* @author André Herrn <andre.herrn@netresearch.de>
|
10 |
-
* @
|
11 |
*/
|
12 |
class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstract
|
13 |
{
|
14 |
-
|
15 |
/**
|
16 |
* Load place from layout to make POST on ops
|
17 |
*/
|
18 |
public function placeformAction()
|
19 |
{
|
20 |
|
21 |
-
|
22 |
$lastIncrementId = $this->_getCheckout()->getLastRealOrderId();
|
23 |
|
24 |
if ($lastIncrementId) {
|
25 |
$order = Mage::getModel('sales/order');
|
26 |
$order->loadByIncrementId($lastIncrementId);
|
|
|
|
|
27 |
}
|
28 |
|
29 |
-
$this->_getCheckout()->getQuote()
|
|
|
|
|
|
|
30 |
$this->_getCheckout()->setOPSQuoteId($this->_getCheckout()->getQuoteId());
|
31 |
$this->_getCheckout()->setOPSLastSuccessQuoteId($this->_getCheckout()->getLastSuccessQuoteId());
|
32 |
$this->_getCheckout()->clear();
|
33 |
|
34 |
-
|
35 |
$this->loadLayout();
|
36 |
$this->renderLayout();
|
37 |
}
|
@@ -65,7 +86,7 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
65 |
$redirect = '';
|
66 |
try {
|
67 |
$order = $this->_getOrder();
|
68 |
-
if($this->getQuote()){
|
69 |
$this->getQuote()->setIsActive(false)->save();
|
70 |
}
|
71 |
$this->_getCheckout()->setLastSuccessQuoteId($order->getQuoteId());
|
@@ -99,6 +120,10 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
99 |
$this->_getCheckout()->setLastQuoteId($order->getQuoteId());
|
100 |
$this->_getCheckout()->setLastOrderId($order->getId());
|
101 |
|
|
|
|
|
|
|
|
|
102 |
$this->redirectOpsRequest('checkout/onepage/success');
|
103 |
}
|
104 |
|
@@ -113,7 +138,7 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
113 |
try {
|
114 |
$this->_getCheckout()->setQuoteId($this->_getCheckout()->getOPSQuoteId());
|
115 |
} catch (Exception $e) {
|
116 |
-
|
117 |
}
|
118 |
|
119 |
$this->getPaymentHelper()->refillCart($this->_getOrder());
|
@@ -131,14 +156,13 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
131 |
* change order status to cancelled
|
132 |
* need to redirect user to shopping cart
|
133 |
*
|
134 |
-
* @return Netresearch_OPS_ApiController
|
135 |
*/
|
136 |
public function cancelAction()
|
137 |
{
|
138 |
try {
|
139 |
$this->_getCheckout()->setQuoteId($this->_getCheckout()->getOPSQuoteId());
|
140 |
} catch (Exception $e) {
|
141 |
-
|
142 |
}
|
143 |
if (false == $this->_getOrder()->getId()) {
|
144 |
$this->_order = null;
|
@@ -155,10 +179,10 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
155 |
/**
|
156 |
* when user cancel the payment and press on button "Back to Catalog" or "Back to Merchant Shop" in Orops
|
157 |
*
|
158 |
-
* @return Netresearch_OPS_ApiController
|
159 |
*/
|
160 |
public function continueAction()
|
161 |
{
|
|
|
162 |
$order = Mage::getModel('sales/order')->load(
|
163 |
$this->_getCheckout()->getLastOrderId()
|
164 |
);
|
@@ -175,11 +199,10 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
175 |
/*
|
176 |
* Check the validation of the request from OPS
|
177 |
*/
|
178 |
-
|
179 |
protected function checkRequestValidity()
|
180 |
{
|
181 |
if (!$this->_validateOPSData()) {
|
182 |
-
|
183 |
}
|
184 |
}
|
185 |
|
@@ -204,18 +227,22 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
204 |
$this->getResponse()->sendHeaders();
|
205 |
}
|
206 |
|
207 |
-
|
208 |
public function saveCcBrandAction()
|
209 |
{
|
210 |
-
$brand = $this->
|
211 |
-
$alias = $this->
|
212 |
-
$
|
213 |
-
$
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
|
221 |
/**
|
@@ -226,18 +253,32 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
226 |
{
|
227 |
|
228 |
$order = $this->_getOrder();
|
|
|
229 |
$payment = $order->getPayment();
|
230 |
$message = false;
|
231 |
|
232 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
$message = Mage::helper('ops')->__('Hash not valid');
|
234 |
|
235 |
} else {
|
236 |
|
237 |
-
if (
|
238 |
-
|
239 |
-
|
240 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
$this->loadLayout();
|
243 |
$this->renderLayout();
|
@@ -254,6 +295,62 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
254 |
}
|
255 |
}
|
256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
protected function wasIframeRequest()
|
258 |
{
|
259 |
return $this->getConfig()->getConfigData('template', $this->_getOrder()->getStoreId())
|
@@ -278,7 +375,6 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
278 |
return $javascript;
|
279 |
}
|
280 |
|
281 |
-
|
282 |
/**
|
283 |
* Redirects the customer to the given redirect path or inserts the js-snippet needed for iframe template mode into
|
284 |
* the response instead
|
@@ -293,4 +389,20 @@ class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstr
|
|
293 |
$this->_redirect($redirect);
|
294 |
}
|
295 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
|
22 |
/**
|
23 |
* Netresearch_OPS_PaymentController
|
24 |
*
|
25 |
+
* @category controller
|
26 |
+
* @package Netresearch_OPS
|
27 |
* @author Thomas Kappel <thomas.kappel@netresearch.de>
|
28 |
* @author André Herrn <andre.herrn@netresearch.de>
|
29 |
+
* @author Paul Siedler <paul.siedler@netresearch.de>
|
30 |
*/
|
31 |
class Netresearch_OPS_PaymentController extends Netresearch_OPS_Controller_Abstract
|
32 |
{
|
|
|
33 |
/**
|
34 |
* Load place from layout to make POST on ops
|
35 |
*/
|
36 |
public function placeformAction()
|
37 |
{
|
38 |
|
|
|
39 |
$lastIncrementId = $this->_getCheckout()->getLastRealOrderId();
|
40 |
|
41 |
if ($lastIncrementId) {
|
42 |
$order = Mage::getModel('sales/order');
|
43 |
$order->loadByIncrementId($lastIncrementId);
|
44 |
+
} else {
|
45 |
+
return $this->_redirect('checkout/cart');
|
46 |
}
|
47 |
|
48 |
+
$quote = $this->_getCheckout()->getQuote();
|
49 |
+
if ($quote) {
|
50 |
+
$quote->setIsActive(false)->save();
|
51 |
+
}
|
52 |
$this->_getCheckout()->setOPSQuoteId($this->_getCheckout()->getQuoteId());
|
53 |
$this->_getCheckout()->setOPSLastSuccessQuoteId($this->_getCheckout()->getLastSuccessQuoteId());
|
54 |
$this->_getCheckout()->clear();
|
55 |
|
|
|
56 |
$this->loadLayout();
|
57 |
$this->renderLayout();
|
58 |
}
|
86 |
$redirect = '';
|
87 |
try {
|
88 |
$order = $this->_getOrder();
|
89 |
+
if ($this->getQuote()) {
|
90 |
$this->getQuote()->setIsActive(false)->save();
|
91 |
}
|
92 |
$this->_getCheckout()->setLastSuccessQuoteId($order->getQuoteId());
|
120 |
$this->_getCheckout()->setLastQuoteId($order->getQuoteId());
|
121 |
$this->_getCheckout()->setLastOrderId($order->getId());
|
122 |
|
123 |
+
$msg = 'Your order has been registered, but your payment is still marked as pending.';
|
124 |
+
$msg .= ' Please have patience until the final status is known.';
|
125 |
+
$this->_getCheckout()->addError(Mage::helper('ops/data')->__($msg));
|
126 |
+
|
127 |
$this->redirectOpsRequest('checkout/onepage/success');
|
128 |
}
|
129 |
|
138 |
try {
|
139 |
$this->_getCheckout()->setQuoteId($this->_getCheckout()->getOPSQuoteId());
|
140 |
} catch (Exception $e) {
|
141 |
+
Mage::logException($e);
|
142 |
}
|
143 |
|
144 |
$this->getPaymentHelper()->refillCart($this->_getOrder());
|
156 |
* change order status to cancelled
|
157 |
* need to redirect user to shopping cart
|
158 |
*
|
|
|
159 |
*/
|
160 |
public function cancelAction()
|
161 |
{
|
162 |
try {
|
163 |
$this->_getCheckout()->setQuoteId($this->_getCheckout()->getOPSQuoteId());
|
164 |
} catch (Exception $e) {
|
165 |
+
Mage::logException($e);
|
166 |
}
|
167 |
if (false == $this->_getOrder()->getId()) {
|
168 |
$this->_order = null;
|
179 |
/**
|
180 |
* when user cancel the payment and press on button "Back to Catalog" or "Back to Merchant Shop" in Orops
|
181 |
*
|
|
|
182 |
*/
|
183 |
public function continueAction()
|
184 |
{
|
185 |
+
/** @var Mage_Sales_Model_Order $order */
|
186 |
$order = Mage::getModel('sales/order')->load(
|
187 |
$this->_getCheckout()->getLastOrderId()
|
188 |
);
|
199 |
/*
|
200 |
* Check the validation of the request from OPS
|
201 |
*/
|
|
|
202 |
protected function checkRequestValidity()
|
203 |
{
|
204 |
if (!$this->_validateOPSData()) {
|
205 |
+
Mage::throwException("Hash is not valid");
|
206 |
}
|
207 |
}
|
208 |
|
227 |
$this->getResponse()->sendHeaders();
|
228 |
}
|
229 |
|
|
|
230 |
public function saveCcBrandAction()
|
231 |
{
|
232 |
+
$brand = $this->getRequest()->getParam('brand');
|
233 |
+
$alias = $this->getRequest()->getParam('alias');
|
234 |
+
$quote = $this->getQuote();
|
235 |
+
if ($quote->getId() === null) {
|
236 |
+
$this->_redirect('checkout/cart');
|
237 |
+
} else {
|
238 |
+
$payment = $quote->getPayment();
|
239 |
+
$payment->setAdditionalInformation('CC_BRAND', $brand);
|
240 |
+
$payment->setAdditionalInformation('alias', $alias);
|
241 |
+
$payment->setDataChanges(true);
|
242 |
+
$payment->save();
|
243 |
+
Mage::helper('ops')->log('saved cc brand ' . $brand . ' for quote #' . $quote->getId());
|
244 |
+
$this->getResponse()->sendHeaders();
|
245 |
+
}
|
246 |
}
|
247 |
|
248 |
/**
|
253 |
{
|
254 |
|
255 |
$order = $this->_getOrder();
|
256 |
+
/** @var Mage_Sales_Model_Order_Payment $payment */
|
257 |
$payment = $order->getPayment();
|
258 |
$message = false;
|
259 |
|
260 |
+
// only validate the parameters we added to the BACKURL ourselves
|
261 |
+
$params = array(
|
262 |
+
'SHASIGN' => $this->getRequest()->getParam('SHASIGN'),
|
263 |
+
'orderID' => $this->getRequest()->getParam('orderID')
|
264 |
+
);
|
265 |
+
|
266 |
+
if ($this->_validateOPSData($params) === false) {
|
267 |
$message = Mage::helper('ops')->__('Hash not valid');
|
268 |
|
269 |
} else {
|
270 |
|
271 |
+
if ($this->canRetryPayment($payment)) {
|
272 |
+
|
273 |
+
// Add Quote to Session, for the payment methods
|
274 |
+
/** @var Mage_Sales_Model_Quote $quote */
|
275 |
+
$quote = Mage::getModel('sales/quote')->load($order->getQuoteId());
|
276 |
+
/** @var Mage_Checkout_Model_Session $checkoutSession */
|
277 |
+
$checkoutSession = Mage::getSingleton('checkout/session');
|
278 |
+
$checkoutSession->setQuoteId($quote->getId());
|
279 |
+
// Set Quote to Active, to be able to load quote data
|
280 |
+
$quote->setIsActive(1);
|
281 |
+
$quote->save();
|
282 |
|
283 |
$this->loadLayout();
|
284 |
$this->renderLayout();
|
295 |
}
|
296 |
}
|
297 |
|
298 |
+
public function updatePaymentAndPlaceFormAction()
|
299 |
+
{
|
300 |
+
// Save new payment method in order
|
301 |
+
/** @var Mage_Sales_Model_Order $order */
|
302 |
+
$order = $this->_getOrder();
|
303 |
+
/** @var Mage_Sales_Model_Order_Payment $payment */
|
304 |
+
$payment = $order->getPayment();
|
305 |
+
/** @var Mage_Sales_Model_Quote $quote */
|
306 |
+
$quote = Mage::getModel('sales/quote')->load($order->getQuoteId());
|
307 |
+
$quote->setIsActive(0);
|
308 |
+
$message = false;
|
309 |
+
|
310 |
+
try {
|
311 |
+
$newPayment = $this->getRequest()->getParam('payment');
|
312 |
+
$quote->getPayment()->importData($newPayment);
|
313 |
+
$payment->setMethod($newPayment['method'])->getMethodInstance()->assignData(new Varien_Object($newPayment));
|
314 |
+
$remoteAddr = Mage::helper('core/http')->getRemoteAddr();
|
315 |
+
$quote->setRemoteIp($remoteAddr);
|
316 |
+
$order->setRemoteIp($remoteAddr);
|
317 |
+
$quote->save();
|
318 |
+
$payment->save();
|
319 |
+
$order->save();
|
320 |
+
|
321 |
+
// Set Session Data for further process
|
322 |
+
/** @var Mage_Checkout_Model_Session $checkoutSession */
|
323 |
+
$checkoutSession = Mage::getSingleton('checkout/session');
|
324 |
+
$checkoutSession->replaceQuote($quote);
|
325 |
+
$checkoutSession->setLastOrderId($order->getId());
|
326 |
+
$checkoutSession->setLastRealOrderId($order->getIncrementId());
|
327 |
+
$checkoutSession->setLastQuoteId($quote->getId());
|
328 |
+
$checkoutSession->setLastSuccessQuoteId($quote->getId());
|
329 |
+
|
330 |
+
$redirectUrl = $payment->getMethodInstance()->getOrderPlaceRedirectUrl();
|
331 |
+
|
332 |
+
// Place order or rather in this case, send the inline payment method to Ingenico ePayments
|
333 |
+
if (empty($redirectUrl)) {
|
334 |
+
$checkoutSession->setRedirectUrl($redirectUrl);
|
335 |
+
$order->place();
|
336 |
+
$order->save();
|
337 |
+
}
|
338 |
+
} catch (Exception $e) {
|
339 |
+
$message = $e->getMessage();
|
340 |
+
}
|
341 |
+
|
342 |
+
if ($message) {
|
343 |
+
Mage::getSingleton('core/session')->addNotice($message);
|
344 |
+
$this->_redirect('checkout/cart');
|
345 |
+
} else {
|
346 |
+
if (empty($redirectUrl)) {
|
347 |
+
$this->_redirect('checkout/onepage/success');
|
348 |
+
} else {
|
349 |
+
$this->_redirectUrl($redirectUrl);
|
350 |
+
}
|
351 |
+
}
|
352 |
+
}
|
353 |
+
|
354 |
protected function wasIframeRequest()
|
355 |
{
|
356 |
return $this->getConfig()->getConfigData('template', $this->_getOrder()->getStoreId())
|
375 |
return $javascript;
|
376 |
}
|
377 |
|
|
|
378 |
/**
|
379 |
* Redirects the customer to the given redirect path or inserts the js-snippet needed for iframe template mode into
|
380 |
* the response instead
|
389 |
$this->_redirect($redirect);
|
390 |
}
|
391 |
}
|
392 |
+
|
393 |
+
/**
|
394 |
+
* @param Mage_Sales_Model_Order_Payment $payment
|
395 |
+
*
|
396 |
+
* @return bool
|
397 |
+
*/
|
398 |
+
protected function canRetryPayment($payment)
|
399 |
+
{
|
400 |
+
$additionalInformation = $payment->getAdditionalInformation();
|
401 |
+
if (is_array($additionalInformation) && array_key_exists('status', $additionalInformation)) {
|
402 |
+
$status = $additionalInformation['status'];
|
403 |
+
return Netresearch_OPS_Model_Status::canResendPaymentInfo($status);
|
404 |
+
}
|
405 |
+
|
406 |
+
return true;
|
407 |
+
}
|
408 |
}
|
app/code/community/Netresearch/OPS/data/ops_setup/data-install-14.02.05.php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* data-install-14.02.05.php
|
4 |
-
* @author paul.siedler@netresearch.de
|
5 |
-
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
-
*/
|
8 |
-
|
9 |
-
/* @var $installer Mage_Core_Model_Resource_Setup */
|
10 |
-
$installer = $this;
|
11 |
-
// for new installations set the default mode to test instead of custom
|
12 |
-
$installer->setConfigData(Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH . 'mode', Netresearch_OPS_Model_Source_Mode::TEST);
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* data-install-14.02.05.php
|
4 |
+
* @author paul.siedler@netresearch.de
|
5 |
+
* @copyright Copyright (c) 2015 Netresearch GmbH & Co. KG
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License
|
7 |
+
*/
|
8 |
+
|
9 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
10 |
+
$installer = $this;
|
11 |
+
// for new installations set the default mode to test instead of custom
|
12 |
+
$installer->setConfigData(Netresearch_OPS_Model_Config::OPS_PAYMENT_PATH . 'mode', Netresearch_OPS_Model_Source_Mode::TEST);
|
app/code/community/Netresearch/OPS/etc/config.xml
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Netresearch_OPS>
|
31 |
-
<version>16.
|
32 |
</Netresearch_OPS>
|
33 |
</modules>
|
34 |
<global>
|
@@ -157,6 +157,11 @@
|
|
157 |
<file>ops/suspend_subscription.html</file>
|
158 |
<type>html</type>
|
159 |
</payment_services_ops_suspendSubscription_template>
|
|
|
|
|
|
|
|
|
|
|
160 |
</email>
|
161 |
</template>
|
162 |
</global>
|
@@ -222,6 +227,14 @@
|
|
222 |
</append_resend_payment_info_button>
|
223 |
</observers>
|
224 |
</core_block_abstract_prepare_layout_before>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
</events>
|
226 |
<translate>
|
227 |
<modules>
|
@@ -334,6 +347,7 @@
|
|
334 |
<ECOM_SHIPTO_POSTAL_POSTALCODE>10</ECOM_SHIPTO_POSTAL_POSTALCODE>
|
335 |
<ECOM_SHIPTO_POSTAL_CITY>25</ECOM_SHIPTO_POSTAL_CITY>
|
336 |
<ECOM_SHIPTO_POSTAL_STREET_NUMBER>10</ECOM_SHIPTO_POSTAL_STREET_NUMBER>
|
|
|
337 |
<CN>35</CN>
|
338 |
<OWNERZIP>10</OWNERZIP>
|
339 |
<OWNERCTY>2</OWNERCTY>
|
@@ -341,6 +355,8 @@
|
|
341 |
<OWNERTELNO>30</OWNERTELNO>
|
342 |
<OWNERADDRESS>35</OWNERADDRESS>
|
343 |
<ECOM_BILLTO_POSTAL_POSTALCODE>10</ECOM_BILLTO_POSTAL_POSTALCODE>
|
|
|
|
|
344 |
</paramLength>
|
345 |
<frontendFieldMapping>
|
346 |
<CN>
|
@@ -352,21 +368,24 @@
|
|
352 |
<OWNERTOWN>billing:city</OWNERTOWN>
|
353 |
<OWNERTELNO>OWNERTELNO</OWNERTELNO>
|
354 |
<OWNERADDRESS>billing:street1</OWNERADDRESS>
|
|
|
|
|
355 |
<ECOM_BILLTO_POSTAL_POSTALCODE>billing:postcode</ECOM_BILLTO_POSTAL_POSTALCODE>
|
356 |
<ECOM_SHIPTO_POSTAL_NAME_FIRST>shipping:firstname</ECOM_SHIPTO_POSTAL_NAME_FIRST>
|
357 |
<ECOM_SHIPTO_POSTAL_NAME_LAST>shipping:lastname</ECOM_SHIPTO_POSTAL_NAME_LAST>
|
358 |
-
<
|
359 |
-
<
|
360 |
-
<
|
361 |
<ECOM_SHIPTO_POSTAL_COUNTRYCODE>shipping:country_id</ECOM_SHIPTO_POSTAL_COUNTRYCODE>
|
362 |
<ECOM_SHIPTO_POSTAL_COUNTY>shipping:region_id</ECOM_SHIPTO_POSTAL_COUNTY>
|
363 |
<ECOM_SHIPTO_POSTAL_POSTALCODE>shipping:postcode</ECOM_SHIPTO_POSTAL_POSTALCODE>
|
364 |
<ECOM_SHIPTO_POSTAL_CITY>shipping:city</ECOM_SHIPTO_POSTAL_CITY>
|
365 |
<ECOM_SHIPTO_POSTAL_STREET_NUMBER>shipping:street</ECOM_SHIPTO_POSTAL_STREET_NUMBER>
|
366 |
-
<
|
367 |
</frontendFieldMapping>
|
368 |
<resendPaymentInfo_identity>sales</resendPaymentInfo_identity>
|
369 |
<resendPaymentInfo_template>payment_services_ops_resendPaymentInfo_template</resendPaymentInfo_template>
|
|
|
370 |
<billing_day_month>15</billing_day_month>
|
371 |
<billing_day_week>0</billing_day_week>
|
372 |
<suspendSubscription_identity>sales</suspendSubscription_identity>
|
@@ -457,10 +476,6 @@
|
|
457 |
<title>Ingenico ePayments CashU</title>
|
458 |
<model>ops/payment_cashU</model>
|
459 |
</ops_cashU>
|
460 |
-
<ops_mpass>
|
461 |
-
<title>Ingenico ePayments Mpass</title>
|
462 |
-
<model>ops/payment_mpass</model>
|
463 |
-
</ops_mpass>
|
464 |
<ops_paypal>
|
465 |
<title>Ingenico ePayments Paypal</title>
|
466 |
<model>ops/payment_paypal</model>
|
@@ -530,9 +545,11 @@
|
|
530 |
<additional_params_required>
|
531 |
<capture>
|
532 |
<OpenInvoiceNl>Netresearch_OPS_Model_Payment_OpenInvoiceNl</OpenInvoiceNl>
|
|
|
533 |
</capture>
|
534 |
<refund>
|
535 |
<OpenInvoiceNl>Netresearch_OPS_Model_Payment_OpenInvoiceNl</OpenInvoiceNl>
|
|
|
536 |
</refund>
|
537 |
</additional_params_required>
|
538 |
<ops_chinaUnionPay>
|
@@ -552,6 +569,11 @@
|
|
552 |
<title><![CDATA[Ingenico ePayments Bancontact/MisterCash]]></title>
|
553 |
<model>ops/payment_bancontact</model>
|
554 |
</ops_BCMC>
|
|
|
|
|
|
|
|
|
|
|
555 |
</payment>
|
556 |
|
557 |
</default>
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Netresearch_OPS>
|
31 |
+
<version>16.12.14</version>
|
32 |
</Netresearch_OPS>
|
33 |
</modules>
|
34 |
<global>
|
157 |
<file>ops/suspend_subscription.html</file>
|
158 |
<type>html</type>
|
159 |
</payment_services_ops_suspendSubscription_template>
|
160 |
+
<payment_services_ops_payPerMail_template>
|
161 |
+
<label>Ingenico ePayments payPerMail template</label>
|
162 |
+
<file>ops/ops_pay_per_mail_info.html</file>
|
163 |
+
<type>html</type>
|
164 |
+
</payment_services_ops_payPerMail_template>
|
165 |
</email>
|
166 |
</template>
|
167 |
</global>
|
227 |
</append_resend_payment_info_button>
|
228 |
</observers>
|
229 |
</core_block_abstract_prepare_layout_before>
|
230 |
+
<sales_order_place_after>
|
231 |
+
<observers>
|
232 |
+
<send_payPerMail_info>
|
233 |
+
<class>ops/observer</class>
|
234 |
+
<method>sendPayPerMailInfo</method>
|
235 |
+
</send_payPerMail_info>
|
236 |
+
</observers>
|
237 |
+
</sales_order_place_after>
|
238 |
</events>
|
239 |
<translate>
|
240 |
<modules>
|
347 |
<ECOM_SHIPTO_POSTAL_POSTALCODE>10</ECOM_SHIPTO_POSTAL_POSTALCODE>
|
348 |
<ECOM_SHIPTO_POSTAL_CITY>25</ECOM_SHIPTO_POSTAL_CITY>
|
349 |
<ECOM_SHIPTO_POSTAL_STREET_NUMBER>10</ECOM_SHIPTO_POSTAL_STREET_NUMBER>
|
350 |
+
<ECOM_SHIPTO_POSTAL_STATE>35</ECOM_SHIPTO_POSTAL_STATE>
|
351 |
<CN>35</CN>
|
352 |
<OWNERZIP>10</OWNERZIP>
|
353 |
<OWNERCTY>2</OWNERCTY>
|
355 |
<OWNERTELNO>30</OWNERTELNO>
|
356 |
<OWNERADDRESS>35</OWNERADDRESS>
|
357 |
<ECOM_BILLTO_POSTAL_POSTALCODE>10</ECOM_BILLTO_POSTAL_POSTALCODE>
|
358 |
+
<ECOM_BILLTO_POSTAL_NAME_FIRST>50</ECOM_BILLTO_POSTAL_NAME_FIRST>
|
359 |
+
<ECOM_BILLTO_POSTAL_NAME_LAST>50</ECOM_BILLTO_POSTAL_NAME_LAST>
|
360 |
</paramLength>
|
361 |
<frontendFieldMapping>
|
362 |
<CN>
|
368 |
<OWNERTOWN>billing:city</OWNERTOWN>
|
369 |
<OWNERTELNO>OWNERTELNO</OWNERTELNO>
|
370 |
<OWNERADDRESS>billing:street1</OWNERADDRESS>
|
371 |
+
<ECOM_BILLTO_POSTAL_NAME_FIRST>billing:firstname</ECOM_BILLTO_POSTAL_NAME_FIRST>
|
372 |
+
<ECOM_BILLTO_POSTAL_NAME_LAST>billing:lastname</ECOM_BILLTO_POSTAL_NAME_LAST>
|
373 |
<ECOM_BILLTO_POSTAL_POSTALCODE>billing:postcode</ECOM_BILLTO_POSTAL_POSTALCODE>
|
374 |
<ECOM_SHIPTO_POSTAL_NAME_FIRST>shipping:firstname</ECOM_SHIPTO_POSTAL_NAME_FIRST>
|
375 |
<ECOM_SHIPTO_POSTAL_NAME_LAST>shipping:lastname</ECOM_SHIPTO_POSTAL_NAME_LAST>
|
376 |
+
<ECOM_SHIPTO_POSTAL_STREET_LINE1>shipping:street1</ECOM_SHIPTO_POSTAL_STREET_LINE1>
|
377 |
+
<ECOM_SHIPTO_POSTAL_STREET_LINE2>shipping:street2</ECOM_SHIPTO_POSTAL_STREET_LINE2>
|
378 |
+
<ECOM_SHIPTO_POSTAL_STREET_LINE3>shipping:street3</ECOM_SHIPTO_POSTAL_STREET_LINE3>
|
379 |
<ECOM_SHIPTO_POSTAL_COUNTRYCODE>shipping:country_id</ECOM_SHIPTO_POSTAL_COUNTRYCODE>
|
380 |
<ECOM_SHIPTO_POSTAL_COUNTY>shipping:region_id</ECOM_SHIPTO_POSTAL_COUNTY>
|
381 |
<ECOM_SHIPTO_POSTAL_POSTALCODE>shipping:postcode</ECOM_SHIPTO_POSTAL_POSTALCODE>
|
382 |
<ECOM_SHIPTO_POSTAL_CITY>shipping:city</ECOM_SHIPTO_POSTAL_CITY>
|
383 |
<ECOM_SHIPTO_POSTAL_STREET_NUMBER>shipping:street</ECOM_SHIPTO_POSTAL_STREET_NUMBER>
|
384 |
+
<ECOM_SHIPTO_POSTAL_STATE>shipping:region_id</ECOM_SHIPTO_POSTAL_STATE>
|
385 |
</frontendFieldMapping>
|
386 |
<resendPaymentInfo_identity>sales</resendPaymentInfo_identity>
|
387 |
<resendPaymentInfo_template>payment_services_ops_resendPaymentInfo_template</resendPaymentInfo_template>
|
388 |
+
<payPerMail_template>payment_services_ops_payPerMail_template</payPerMail_template>
|
389 |
<billing_day_month>15</billing_day_month>
|
390 |
<billing_day_week>0</billing_day_week>
|
391 |
<suspendSubscription_identity>sales</suspendSubscription_identity>
|
476 |
<title>Ingenico ePayments CashU</title>
|
477 |
<model>ops/payment_cashU</model>
|
478 |
</ops_cashU>
|
|
|
|
|
|
|
|
|
479 |
<ops_paypal>
|
480 |
<title>Ingenico ePayments Paypal</title>
|
481 |
<model>ops/payment_paypal</model>
|
545 |
<additional_params_required>
|
546 |
<capture>
|
547 |
<OpenInvoiceNl>Netresearch_OPS_Model_Payment_OpenInvoiceNl</OpenInvoiceNl>
|
548 |
+
<OpenInvoiceAt>Netresearch_OPS_Model_Payment_OpenInvoiceAt</OpenInvoiceAt>
|
549 |
</capture>
|
550 |
<refund>
|
551 |
<OpenInvoiceNl>Netresearch_OPS_Model_Payment_OpenInvoiceNl</OpenInvoiceNl>
|
552 |
+
<OpenInvoiceAt>Netresearch_OPS_Model_Payment_OpenInvoiceAt</OpenInvoiceAt>
|
553 |
</refund>
|
554 |
</additional_params_required>
|
555 |
<ops_chinaUnionPay>
|
569 |
<title><![CDATA[Ingenico ePayments Bancontact/MisterCash]]></title>
|
570 |
<model>ops/payment_bancontact</model>
|
571 |
</ops_BCMC>
|
572 |
+
<ops_payPerMail>
|
573 |
+
<title><![CDATA[Ingenico ePayments PayPerMail]]></title>
|
574 |
+
<model>ops/payment_payPerMail</model>
|
575 |
+
<backend_enabled>1</backend_enabled>
|
576 |
+
</ops_payPerMail>
|
577 |
</payment>
|
578 |
|
579 |
</default>
|
app/code/community/Netresearch/OPS/etc/jstranslator.xml
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8" ?>
|
2 |
+
<jstranslator>
|
3 |
+
<ops-payment-failed-switch-method translate="message" module="ops">
|
4 |
+
<message>Payment failed. Please select another payment method.</message>
|
5 |
+
</ops-payment-failed-switch-method>
|
6 |
+
<ops-payment-failed-review-input translate="message" module="ops">
|
7 |
+
<message>Payment failed. Please review your input or select another payment method.</message>
|
8 |
+
</ops-payment-failed-review-input>
|
9 |
+
<ops-htp-load-token translate="message" module="ops">
|
10 |
+
<message>LOAD_TOKEN</message>
|
11 |
+
</ops-htp-load-token>
|
12 |
+
<ops-htp-success-token translate="message" module="ops">
|
13 |
+
<message>SUCCESS_TOKEN</message>
|
14 |
+
</ops-htp-success-token>
|
15 |
+
<ops-htp-success-token-frontend translate="message" module="ops">
|
16 |
+
<message>SUCCESS_TOKEN_FRONTEND</message>
|
17 |
+
</ops-htp-success-token-frontend>
|
18 |
+
<ops-htp-failure-token translate="message" module="ops">
|
19 |
+
<message>FAILURE_TOKEN</message>
|
20 |
+
</ops-htp-failure-token>
|
21 |
+
<ops-htp-failure-token-frontend translate="message" module="ops">
|
22 |
+
<message>FAILURE_TOKEN_FRONTEND</message>
|
23 |
+
</ops-htp-failure-token-frontend>
|
24 |
+
<ops-required-field translate="message" module="ops">
|
25 |
+
<message>This is a required field.</message>
|
26 |
+
</ops-required-field>
|
27 |
+
</jstranslator>
|
app/code/community/Netresearch/OPS/etc/system.xml
CHANGED
@@ -93,7 +93,7 @@
|
|
93 |
</secret_key_type>
|
94 |
<secret_key_in translate="label comment tooltip">
|
95 |
<label>SHA-IN Pass phrase</label>
|
96 |
-
<comment><![CDATA[Refer to Ingenico ePayments's backend in section <em>Technical Information</em> on tab <em>Data and origin verification</em>.]]></comment>
|
97 |
<tooltip><![CDATA[This must be identical to the value in the Ingenico ePayments backend in section <em>Technical information</em> on tab <em>Data and origin verification</em>.]]></tooltip>
|
98 |
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
99 |
<frontend_type>obscure</frontend_type>
|
@@ -104,7 +104,7 @@
|
|
104 |
</secret_key_in>
|
105 |
<secret_key_out translate="label comment tooltip">
|
106 |
<label>SHA-OUT Pass phrase</label>
|
107 |
-
<comment><![CDATA[Refer to Ingenico ePayments's backend in section <em>Technical Information</em> on tab <em>Transaction feedback</em>.]]></comment>
|
108 |
<tooltip><![CDATA[This must be identical to the value in the Ingenico ePayments backend in section <em>Technical information</em> on tab <em>Transaction feedback</em>.]]></tooltip>
|
109 |
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
110 |
<frontend_type>obscure</frontend_type>
|
@@ -133,9 +133,7 @@
|
|
133 |
<show_in_default>1</show_in_default>
|
134 |
<show_in_website>1</show_in_website>
|
135 |
<show_in_store>1</show_in_store>
|
136 |
-
<depends>
|
137 |
-
<mode>custom</mode>
|
138 |
-
</depends>
|
139 |
</frontend_gateway>
|
140 |
<ops_alias_gateway translate="label comment">
|
141 |
<label>Alias Gateway URL</label>
|
@@ -145,9 +143,7 @@
|
|
145 |
<show_in_default>1</show_in_default>
|
146 |
<show_in_website>1</show_in_website>
|
147 |
<show_in_store>1</show_in_store>
|
148 |
-
<depends>
|
149 |
-
<mode>custom</mode>
|
150 |
-
</depends>
|
151 |
</ops_alias_gateway>
|
152 |
<directlink_gateway translate="label comment">
|
153 |
<label>DirectLink Gateway URL</label>
|
@@ -157,9 +153,7 @@
|
|
157 |
<show_in_default>1</show_in_default>
|
158 |
<show_in_website>1</show_in_website>
|
159 |
<show_in_store>1</show_in_store>
|
160 |
-
<depends>
|
161 |
-
<mode>custom</mode>
|
162 |
-
</depends>
|
163 |
</directlink_gateway>
|
164 |
<directlink_gateway_order translate="label comment">
|
165 |
<label>DirectLink Gateway Order URL</label>
|
@@ -169,9 +163,7 @@
|
|
169 |
<show_in_default>1</show_in_default>
|
170 |
<show_in_website>1</show_in_website>
|
171 |
<show_in_store>1</show_in_store>
|
172 |
-
<depends>
|
173 |
-
<mode>custom</mode>
|
174 |
-
</depends>
|
175 |
</directlink_gateway_order>
|
176 |
<directlink_maintenance_api translate="label comment">
|
177 |
<label>DirectLink Maintenance API URL</label>
|
@@ -181,9 +173,7 @@
|
|
181 |
<show_in_default>1</show_in_default>
|
182 |
<show_in_website>1</show_in_website>
|
183 |
<show_in_store>1</show_in_store>
|
184 |
-
<depends>
|
185 |
-
<mode>custom</mode>
|
186 |
-
</depends>
|
187 |
</directlink_maintenance_api>
|
188 |
<api_userid translate="label tooltip">
|
189 |
<label>API User</label>
|
@@ -218,9 +208,7 @@
|
|
218 |
<label>Send Invoice to Customer</label>
|
219 |
<frontend_type>select</frontend_type>
|
220 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
221 |
-
<depends>
|
222 |
-
<payment_action>authorize_capture</payment_action>
|
223 |
-
</depends>
|
224 |
<sort_order>95</sort_order>
|
225 |
<show_in_default>1</show_in_default>
|
226 |
<show_in_website>1</show_in_website>
|
@@ -237,7 +225,7 @@
|
|
237 |
<show_in_default>1</show_in_default>
|
238 |
<show_in_website>1</show_in_website>
|
239 |
<show_in_store>1</show_in_store>
|
240 |
-
<tooltip><![CDATA[For an easier PCI compliance we recommend redirect mode, iFrame mode or dynamic template with the template hosted on Ingenico ePayments servers.]]></tooltip>
|
241 |
</template>
|
242 |
<template_identifier translate="label comment">
|
243 |
<label>Template Identifier/Url</label>
|
@@ -247,9 +235,7 @@
|
|
247 |
<show_in_default>1</show_in_default>
|
248 |
<show_in_website>1</show_in_website>
|
249 |
<show_in_store>1</show_in_store>
|
250 |
-
<depends>
|
251 |
-
<template>ops_template</template>
|
252 |
-
</depends>
|
253 |
<validate>required-entry</validate>
|
254 |
</template_identifier>
|
255 |
<html_title translate="label comment">
|
@@ -259,9 +245,7 @@
|
|
259 |
<show_in_default>1</show_in_default>
|
260 |
<show_in_website>1</show_in_website>
|
261 |
<show_in_store>1</show_in_store>
|
262 |
-
<depends>
|
263 |
-
<template separator=",">ops,ops_iframe</template>
|
264 |
-
</depends>
|
265 |
<validate>required-entry</validate>
|
266 |
</html_title>
|
267 |
<bgcolor translate="label comment">
|
@@ -272,9 +256,7 @@
|
|
272 |
<show_in_default>1</show_in_default>
|
273 |
<show_in_website>1</show_in_website>
|
274 |
<show_in_store>1</show_in_store>
|
275 |
-
<depends>
|
276 |
-
<template separator=",">ops,ops_iframe</template>
|
277 |
-
</depends>
|
278 |
<validate>required-entry</validate>
|
279 |
</bgcolor>
|
280 |
<txtcolor translate="label comment">
|
@@ -285,9 +267,7 @@
|
|
285 |
<show_in_default>1</show_in_default>
|
286 |
<show_in_website>1</show_in_website>
|
287 |
<show_in_store>1</show_in_store>
|
288 |
-
<depends>
|
289 |
-
<template separator=",">ops,ops_iframe</template>
|
290 |
-
</depends>
|
291 |
<validate>required-entry</validate>
|
292 |
</txtcolor>
|
293 |
<tblbgcolor translate="label comment">
|
@@ -298,9 +278,7 @@
|
|
298 |
<show_in_default>1</show_in_default>
|
299 |
<show_in_website>1</show_in_website>
|
300 |
<show_in_store>1</show_in_store>
|
301 |
-
<depends>
|
302 |
-
<template separator=",">ops,ops_iframe</template>
|
303 |
-
</depends>
|
304 |
<validate>required-entry</validate>
|
305 |
</tblbgcolor>
|
306 |
<tbltxtcolor translate="label comment">
|
@@ -311,9 +289,7 @@
|
|
311 |
<show_in_default>1</show_in_default>
|
312 |
<show_in_website>1</show_in_website>
|
313 |
<show_in_store>1</show_in_store>
|
314 |
-
<depends>
|
315 |
-
<template separator=",">ops,ops_iframe</template>
|
316 |
-
</depends>
|
317 |
<validate>required-entry</validate>
|
318 |
</tbltxtcolor>
|
319 |
<showcatalogbutton translate="label">
|
@@ -324,9 +300,7 @@
|
|
324 |
<show_in_default>1</show_in_default>
|
325 |
<show_in_website>1</show_in_website>
|
326 |
<show_in_store>1</show_in_store>
|
327 |
-
<depends>
|
328 |
-
<template separator=",">ops,ops_iframe</template>
|
329 |
-
</depends>
|
330 |
<validate>required-entry</validate>
|
331 |
</showcatalogbutton>
|
332 |
<showhomebutton translate="label">
|
@@ -337,9 +311,7 @@
|
|
337 |
<show_in_default>1</show_in_default>
|
338 |
<show_in_website>1</show_in_website>
|
339 |
<show_in_store>1</show_in_store>
|
340 |
-
<depends>
|
341 |
-
<template separator=",">ops,ops_iframe</template>
|
342 |
-
</depends>
|
343 |
<validate>required-entry</validate>
|
344 |
</showhomebutton>
|
345 |
<buttonbgcolor translate="label">
|
@@ -349,9 +321,7 @@
|
|
349 |
<show_in_default>1</show_in_default>
|
350 |
<show_in_website>1</show_in_website>
|
351 |
<show_in_store>1</show_in_store>
|
352 |
-
<depends>
|
353 |
-
<template separator=",">ops,ops_iframe</template>
|
354 |
-
</depends>
|
355 |
<validate>required-entry</validate>
|
356 |
</buttonbgcolor>
|
357 |
<buttontxtcolor translate="label comment">
|
@@ -362,9 +332,7 @@
|
|
362 |
<show_in_default>1</show_in_default>
|
363 |
<show_in_website>1</show_in_website>
|
364 |
<show_in_store>1</show_in_store>
|
365 |
-
<depends>
|
366 |
-
<template separator=",">ops,ops_iframe</template>
|
367 |
-
</depends>
|
368 |
<validate>required-entry</validate>
|
369 |
</buttontxtcolor>
|
370 |
<fonttype translate="label comment">
|
@@ -375,9 +343,7 @@
|
|
375 |
<show_in_default>1</show_in_default>
|
376 |
<show_in_website>1</show_in_website>
|
377 |
<show_in_store>1</show_in_store>
|
378 |
-
<depends>
|
379 |
-
<template separator=",">ops,ops_iframe</template>
|
380 |
-
</depends>
|
381 |
<validate>required-entry</validate>
|
382 |
</fonttype>
|
383 |
<logo translate="label comment">
|
@@ -388,27 +354,24 @@
|
|
388 |
<show_in_default>1</show_in_default>
|
389 |
<show_in_website>1</show_in_website>
|
390 |
<show_in_store>1</show_in_store>
|
391 |
-
<depends>
|
392 |
-
<template separator=",">ops,ops_iframe</template>
|
393 |
-
</depends>
|
394 |
<validate>required-entry</validate>
|
395 |
</logo>
|
396 |
<pmlist translate="label comment">
|
397 |
<label>Layout of Payment Methods</label>
|
|
|
398 |
<frontend_type>select</frontend_type>
|
399 |
<source_model>ops/source_pmlist</source_model>
|
400 |
<sort_order>210</sort_order>
|
401 |
<show_in_default>1</show_in_default>
|
402 |
<show_in_website>1</show_in_website>
|
403 |
<show_in_store>1</show_in_store>
|
404 |
-
<depends>
|
405 |
-
<template separator=",">ops,ops_iframe</template>
|
406 |
-
</depends>
|
407 |
<validate>required-entry</validate>
|
408 |
</pmlist>
|
409 |
<redirectOrderReference translate="label comment">
|
410 |
<label>Order reference in case of redirect payments</label>
|
411 |
-
<comment>See chapter '
|
412 |
<frontend_type>select</frontend_type>
|
413 |
<source_model>ops/source_orderReference</source_model>
|
414 |
<sort_order>220</sort_order>
|
@@ -418,7 +381,7 @@
|
|
418 |
</redirectOrderReference>
|
419 |
<inlineOrderReference translate="label comment">
|
420 |
<label>Order reference in case of inline payments</label>
|
421 |
-
<comment>See chapter '
|
422 |
<frontend_type>select</frontend_type>
|
423 |
<source_model>ops/source_orderReference</source_model>
|
424 |
<sort_order>221</sort_order>
|
@@ -479,7 +442,7 @@
|
|
479 |
</device_fingerprinting>
|
480 |
<ops_rtimeout translate="label tooltip comment">
|
481 |
<label>Timeout for transactions</label>
|
482 |
-
<comment>This value specifies the request timeout for that transaction. A value between 30 and 60 is possible.</comment>
|
483 |
<frontend_type>text</frontend_type>
|
484 |
<validate>validate-digits-range digits-range-30-60</validate>
|
485 |
<sort_order>290</sort_order>
|
@@ -543,11 +506,11 @@
|
|
543 |
</groups>
|
544 |
</payment_services>
|
545 |
<payment>
|
|
|
546 |
<groups>
|
547 |
-
|
548 |
<ops_directDebit translate="label">
|
549 |
<label>Ingenico ePayments DirectDebit</label>
|
550 |
-
<sort_order>
|
551 |
<show_in_default>1</show_in_default>
|
552 |
<show_in_website>1</show_in_website>
|
553 |
<show_in_store>1</show_in_store>
|
@@ -582,15 +545,54 @@
|
|
582 |
<label>Countries</label>
|
583 |
<frontend_type>multiselect</frontend_type>
|
584 |
<validate>required-entry</validate>
|
585 |
-
<depends>
|
586 |
-
<active>1</active>
|
587 |
-
</depends>
|
588 |
<sort_order>30</sort_order>
|
589 |
<source_model>ops/source_directDebit_countries</source_model>
|
590 |
<show_in_default>1</show_in_default>
|
591 |
<show_in_website>1</show_in_website>
|
592 |
<show_in_store>1</show_in_store>
|
593 |
</countryIds>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
594 |
<backend_enabled>
|
595 |
<label>Enable for backend</label>
|
596 |
<frontend_type>select</frontend_type>
|
@@ -600,11 +602,21 @@
|
|
600 |
<show_in_website>1</show_in_website>
|
601 |
<show_in_store>1</show_in_store>
|
602 |
</backend_enabled>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
</fields>
|
604 |
</ops_directDebit>
|
605 |
<ops_postFinanceEFinance translate="label">
|
606 |
<label>Ingenico ePayments PostFinanceEFinance</label>
|
607 |
-
<sort_order>
|
608 |
<show_in_default>1</show_in_default>
|
609 |
<show_in_website>1</show_in_website>
|
610 |
<show_in_store>1</show_in_store>
|
@@ -635,11 +647,52 @@
|
|
635 |
<show_in_website>1</show_in_website>
|
636 |
<show_in_store>1</show_in_store>
|
637 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
638 |
</fields>
|
639 |
</ops_postFinanceEFinance>
|
640 |
<ops_eDankort translate="label">
|
641 |
<label>Ingenico ePayments EDankort</label>
|
642 |
-
<sort_order>
|
643 |
<show_in_default>1</show_in_default>
|
644 |
<show_in_website>1</show_in_website>
|
645 |
<show_in_store>1</show_in_store>
|
@@ -670,11 +723,52 @@
|
|
670 |
<show_in_website>1</show_in_website>
|
671 |
<show_in_store>1</show_in_store>
|
672 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
673 |
</fields>
|
674 |
</ops_eDankort>
|
675 |
<ops_kbcOnline translate="label">
|
676 |
<label>Ingenico ePayments KbcOnline</label>
|
677 |
-
<sort_order>
|
678 |
<show_in_default>1</show_in_default>
|
679 |
<show_in_website>1</show_in_website>
|
680 |
<show_in_store>1</show_in_store>
|
@@ -705,11 +799,52 @@
|
|
705 |
<show_in_website>1</show_in_website>
|
706 |
<show_in_store>1</show_in_store>
|
707 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
708 |
</fields>
|
709 |
</ops_kbcOnline>
|
710 |
<ops_iDeal translate="label">
|
711 |
<label>Ingenico ePayments iDEAL</label>
|
712 |
-
<sort_order>
|
713 |
<show_in_default>1</show_in_default>
|
714 |
<show_in_website>1</show_in_website>
|
715 |
<show_in_store>1</show_in_store>
|
@@ -740,11 +875,52 @@
|
|
740 |
<show_in_website>1</show_in_website>
|
741 |
<show_in_store>1</show_in_store>
|
742 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
743 |
</fields>
|
744 |
</ops_iDeal>
|
745 |
<ops_belfiusDirectNet translate="label">
|
746 |
<label>Ingenico ePayments Belfius Direct Net</label>
|
747 |
-
<sort_order>
|
748 |
<show_in_default>1</show_in_default>
|
749 |
<show_in_website>1</show_in_website>
|
750 |
<show_in_store>1</show_in_store>
|
@@ -775,11 +951,52 @@
|
|
775 |
<show_in_website>1</show_in_website>
|
776 |
<show_in_store>1</show_in_store>
|
777 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
778 |
</fields>
|
779 |
</ops_belfiusDirectNet>
|
780 |
<ops_bankTransfer translate="label">
|
781 |
<label>Ingenico ePayments BankTransfer</label>
|
782 |
-
<sort_order>
|
783 |
<show_in_default>1</show_in_default>
|
784 |
<show_in_website>1</show_in_website>
|
785 |
<show_in_store>1</show_in_store>
|
@@ -814,20 +1031,59 @@
|
|
814 |
<label>Countries</label>
|
815 |
<frontend_type>multiselect</frontend_type>
|
816 |
<validate>required-entry</validate>
|
817 |
-
<depends>
|
818 |
-
<active>1</active>
|
819 |
-
</depends>
|
820 |
<sort_order>30</sort_order>
|
821 |
<source_model>ops/source_bankTransfer_countries</source_model>
|
822 |
<show_in_default>1</show_in_default>
|
823 |
<show_in_website>1</show_in_website>
|
824 |
<show_in_store>1</show_in_store>
|
825 |
</countryIds>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
826 |
</fields>
|
827 |
</ops_bankTransfer>
|
828 |
<ops_openInvoiceDe translate="label">
|
829 |
<label>Ingenico ePayments Open Invoice DE</label>
|
830 |
-
<sort_order>
|
831 |
<show_in_default>1</show_in_default>
|
832 |
<show_in_website>1</show_in_website>
|
833 |
<show_in_store>1</show_in_store>
|
@@ -869,12 +1125,78 @@
|
|
869 |
<show_in_website>1</show_in_website>
|
870 |
<show_in_store>1</show_in_store>
|
871 |
</sort_order>
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
878 |
<show_in_website>1</show_in_website>
|
879 |
<show_in_store>1</show_in_store>
|
880 |
<fields>
|
@@ -915,11 +1237,77 @@
|
|
915 |
<show_in_website>1</show_in_website>
|
916 |
<show_in_store>1</show_in_store>
|
917 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
918 |
</fields>
|
919 |
</ops_openInvoiceAt>
|
920 |
<ops_openInvoiceNl translate="label">
|
921 |
<label>Ingenico ePayments Open Invoice NL</label>
|
922 |
-
<sort_order>
|
923 |
<show_in_default>1</show_in_default>
|
924 |
<show_in_website>1</show_in_website>
|
925 |
<show_in_store>1</show_in_store>
|
@@ -951,11 +1339,77 @@
|
|
951 |
<show_in_website>1</show_in_website>
|
952 |
<show_in_store>1</show_in_store>
|
953 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
954 |
</fields>
|
955 |
</ops_openInvoiceNl>
|
956 |
<ops_cbcOnline translate="label">
|
957 |
<label>Ingenico ePayments CbcOnline</label>
|
958 |
-
<sort_order>
|
959 |
<show_in_default>1</show_in_default>
|
960 |
<show_in_website>1</show_in_website>
|
961 |
<show_in_store>1</show_in_store>
|
@@ -986,11 +1440,52 @@
|
|
986 |
<show_in_website>1</show_in_website>
|
987 |
<show_in_store>1</show_in_store>
|
988 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
989 |
</fields>
|
990 |
</ops_cbcOnline>
|
991 |
<ops_giroPay translate="label">
|
992 |
<label>Ingenico ePayments GiroPay</label>
|
993 |
-
<sort_order>
|
994 |
<show_in_default>1</show_in_default>
|
995 |
<show_in_website>1</show_in_website>
|
996 |
<show_in_store>1</show_in_store>
|
@@ -1021,11 +1516,52 @@
|
|
1021 |
<show_in_website>1</show_in_website>
|
1022 |
<show_in_store>1</show_in_store>
|
1023 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1024 |
</fields>
|
1025 |
</ops_giroPay>
|
1026 |
<ops_Masterpass translate="label">
|
1027 |
<label>Ingenico ePayments Masterpass</label>
|
1028 |
-
<sort_order>
|
1029 |
<show_in_default>1</show_in_default>
|
1030 |
<show_in_website>1</show_in_website>
|
1031 |
<show_in_store>1</show_in_store>
|
@@ -1056,14 +1592,55 @@
|
|
1056 |
<show_in_website>1</show_in_website>
|
1057 |
<show_in_store>1</show_in_store>
|
1058 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1059 |
</fields>
|
1060 |
</ops_Masterpass>
|
1061 |
<ops_interSolve translate="label">
|
1062 |
<label>Ingenico ePayments InterSolve</label>
|
1063 |
-
<sort_order>
|
1064 |
<show_in_default>1</show_in_default>
|
1065 |
<show_in_website>1</show_in_website>
|
1066 |
-
<show_in_store>1</show_in_store>
|
1067 |
<fields>
|
1068 |
<active translate="label">
|
1069 |
<label>Enabled</label>
|
@@ -1091,11 +1668,52 @@
|
|
1091 |
<show_in_website>1</show_in_website>
|
1092 |
<show_in_store>1</show_in_store>
|
1093 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1094 |
<brands translate="label comment">
|
1095 |
<label>Brand</label>
|
1096 |
<frontend_model>ops/system_config_form_field_brand</frontend_model>
|
1097 |
<backend_model>ops/system_config_backend_intersolve_brands</backend_model>
|
1098 |
-
<sort_order>
|
1099 |
<show_in_default>1</show_in_default>
|
1100 |
<show_in_website>1</show_in_website>
|
1101 |
<show_in_store>1</show_in_store>
|
@@ -1105,7 +1723,7 @@
|
|
1105 |
</ops_interSolve>
|
1106 |
<ops_cashU translate="label">
|
1107 |
<label>Ingenico ePayments CashU</label>
|
1108 |
-
<sort_order>
|
1109 |
<show_in_default>1</show_in_default>
|
1110 |
<show_in_website>1</show_in_website>
|
1111 |
<show_in_store>1</show_in_store>
|
@@ -1136,11 +1754,52 @@
|
|
1136 |
<show_in_website>1</show_in_website>
|
1137 |
<show_in_store>1</show_in_store>
|
1138 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1139 |
</fields>
|
1140 |
</ops_cashU>
|
1141 |
-
<
|
1142 |
-
<label>Ingenico ePayments
|
1143 |
-
<sort_order>
|
1144 |
<show_in_default>1</show_in_default>
|
1145 |
<show_in_website>1</show_in_website>
|
1146 |
<show_in_store>1</show_in_store>
|
@@ -1171,46 +1830,52 @@
|
|
1171 |
<show_in_website>1</show_in_website>
|
1172 |
<show_in_store>1</show_in_store>
|
1173 |
</sort_order>
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
<show_in_default>1</show_in_default>
|
1180 |
-
<show_in_website>1</show_in_website>
|
1181 |
-
<show_in_store>1</show_in_store>
|
1182 |
-
<fields>
|
1183 |
-
<active translate="label">
|
1184 |
-
<label>Enabled</label>
|
1185 |
-
<frontend_type>select</frontend_type>
|
1186 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1187 |
-
<sort_order>1</sort_order>
|
1188 |
<show_in_default>1</show_in_default>
|
1189 |
<show_in_website>1</show_in_website>
|
1190 |
<show_in_store>0</show_in_store>
|
1191 |
-
</
|
1192 |
-
<
|
1193 |
-
<label>
|
1194 |
-
<frontend_type>
|
1195 |
-
<sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1196 |
<show_in_default>1</show_in_default>
|
1197 |
<show_in_website>1</show_in_website>
|
1198 |
<show_in_store>1</show_in_store>
|
1199 |
-
<
|
1200 |
-
</
|
1201 |
-
<
|
1202 |
-
<label>
|
1203 |
-
<
|
1204 |
-
<
|
|
|
1205 |
<show_in_default>1</show_in_default>
|
1206 |
<show_in_website>1</show_in_website>
|
1207 |
<show_in_store>1</show_in_store>
|
1208 |
-
</
|
1209 |
</fields>
|
1210 |
</ops_paypal>
|
1211 |
<ops_eps translate="label">
|
1212 |
<label>Ingenico ePayments Eps</label>
|
1213 |
-
<sort_order>
|
1214 |
<show_in_default>1</show_in_default>
|
1215 |
<show_in_website>1</show_in_website>
|
1216 |
<show_in_store>1</show_in_store>
|
@@ -1241,11 +1906,52 @@
|
|
1241 |
<show_in_website>1</show_in_website>
|
1242 |
<show_in_store>1</show_in_store>
|
1243 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1244 |
</fields>
|
1245 |
</ops_eps>
|
1246 |
<ops_pingPing translate="label">
|
1247 |
<label>Ingenico ePayments PingPing</label>
|
1248 |
-
<sort_order>
|
1249 |
<show_in_default>1</show_in_default>
|
1250 |
<show_in_website>1</show_in_website>
|
1251 |
<show_in_store>1</show_in_store>
|
@@ -1276,11 +1982,52 @@
|
|
1276 |
<show_in_website>1</show_in_website>
|
1277 |
<show_in_store>1</show_in_store>
|
1278 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1279 |
</fields>
|
1280 |
</ops_pingPing>
|
1281 |
<ops_fortisPayButton translate="label">
|
1282 |
<label>Ingenico ePayments FortisPayButton</label>
|
1283 |
-
<sort_order>
|
1284 |
<show_in_default>1</show_in_default>
|
1285 |
<show_in_website>1</show_in_website>
|
1286 |
<show_in_store>1</show_in_store>
|
@@ -1311,11 +2058,52 @@
|
|
1311 |
<show_in_website>1</show_in_website>
|
1312 |
<show_in_store>1</show_in_store>
|
1313 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1314 |
</fields>
|
1315 |
</ops_fortisPayButton>
|
1316 |
<ops_directEbanking translate="label">
|
1317 |
<label>Ingenico ePaymentsSofortÜberweisung</label>
|
1318 |
-
<sort_order>
|
1319 |
<show_in_default>1</show_in_default>
|
1320 |
<show_in_website>1</show_in_website>
|
1321 |
<show_in_store>1</show_in_store>
|
@@ -1342,9 +2130,7 @@
|
|
1342 |
<label>Brands</label>
|
1343 |
<frontend_type>multiselect</frontend_type>
|
1344 |
<validate>required-entry</validate>
|
1345 |
-
<depends>
|
1346 |
-
<active>1</active>
|
1347 |
-
</depends>
|
1348 |
<sort_order>20</sort_order>
|
1349 |
<source_model>ops/source_directEbanking_brands</source_model>
|
1350 |
<show_in_default>1</show_in_default>
|
@@ -1359,11 +2145,52 @@
|
|
1359 |
<show_in_website>1</show_in_website>
|
1360 |
<show_in_store>1</show_in_store>
|
1361 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1362 |
</fields>
|
1363 |
</ops_directEbanking>
|
1364 |
<ops_cc translate="label">
|
1365 |
<label>Ingenico ePayments Cc</label>
|
1366 |
-
<sort_order>
|
1367 |
<show_in_default>1</show_in_default>
|
1368 |
<show_in_website>1</show_in_website>
|
1369 |
<show_in_store>1</show_in_store>
|
@@ -1395,7 +2222,7 @@
|
|
1395 |
<show_in_store>1</show_in_store>
|
1396 |
</sort_order>
|
1397 |
<types translate="label">
|
1398 |
-
<label>Card Types</label>
|
1399 |
<frontend_type>multiselect</frontend_type>
|
1400 |
<sort_order>30</sort_order>
|
1401 |
<source_model>ops/source_cc_types</source_model>
|
@@ -1405,7 +2232,7 @@
|
|
1405 |
</types>
|
1406 |
<redirect_all translate="label comment">
|
1407 |
<label>Enable redirect payment for all card types</label>
|
1408 |
-
<comment><![CDATA[If set to <em>Yes
|
1409 |
<frontend_type>select</frontend_type>
|
1410 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1411 |
<sort_order>40</sort_order>
|
@@ -1414,14 +2241,12 @@
|
|
1414 |
<show_in_store>1</show_in_store>
|
1415 |
</redirect_all>
|
1416 |
<inline_types translate="label tooltip">
|
1417 |
-
<label>Enable inline payment for these card types</label>
|
1418 |
<tooltip><![CDATA[For the selected card types, the customer can enter the credit card details directly in the checkout.]]></tooltip>
|
1419 |
<frontend_type>multiselect</frontend_type>
|
1420 |
<source_model>ops/source_cc_aliasInterfaceEnabledTypes</source_model>
|
1421 |
<sort_order>41</sort_order>
|
1422 |
-
<depends>
|
1423 |
-
<redirect_all>0</redirect_all>
|
1424 |
-
</depends>
|
1425 |
<show_in_default>1</show_in_default>
|
1426 |
<show_in_website>1</show_in_website>
|
1427 |
<show_in_store>1</show_in_store>
|
@@ -1436,6 +2261,27 @@
|
|
1436 |
<show_in_website>1</show_in_website>
|
1437 |
<show_in_store>0</show_in_store>
|
1438 |
</enabled_3dsecure>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1439 |
<backend_enabled translate="label tooltip">
|
1440 |
<label>Enable for backend</label>
|
1441 |
<tooltip><![CDATA[This sets if this payment method should also be available for orders from the Magento backend.]]></tooltip>
|
@@ -1456,6 +2302,24 @@
|
|
1456 |
<show_in_website>1</show_in_website>
|
1457 |
<show_in_store>1</show_in_store>
|
1458 |
</active_alias>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1459 |
<zero_amount_checkout>
|
1460 |
<label>Allow zero amount authorization</label>
|
1461 |
<comment>Only if payment action is authorize.</comment>
|
@@ -1468,9 +2332,9 @@
|
|
1468 |
</zero_amount_checkout>
|
1469 |
</fields>
|
1470 |
</ops_cc>
|
1471 |
-
<
|
1472 |
-
<label>Ingenico ePayments
|
1473 |
-
<sort_order>
|
1474 |
<show_in_default>1</show_in_default>
|
1475 |
<show_in_website>1</show_in_website>
|
1476 |
<show_in_store>1</show_in_store>
|
@@ -1479,7 +2343,7 @@
|
|
1479 |
<label>Enabled</label>
|
1480 |
<frontend_type>select</frontend_type>
|
1481 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1482 |
-
<sort_order>
|
1483 |
<show_in_default>1</show_in_default>
|
1484 |
<show_in_website>1</show_in_website>
|
1485 |
<show_in_store>0</show_in_store>
|
@@ -1487,7 +2351,7 @@
|
|
1487 |
<title translate="label">
|
1488 |
<label>Title</label>
|
1489 |
<frontend_type>text</frontend_type>
|
1490 |
-
<sort_order>
|
1491 |
<show_in_default>1</show_in_default>
|
1492 |
<show_in_website>1</show_in_website>
|
1493 |
<show_in_store>1</show_in_store>
|
@@ -1501,72 +2365,307 @@
|
|
1501 |
<show_in_website>1</show_in_website>
|
1502 |
<show_in_store>1</show_in_store>
|
1503 |
</sort_order>
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
<show_in_default>1</show_in_default>
|
1510 |
-
<show_in_website>1</show_in_website>
|
1511 |
-
<show_in_store>1</show_in_store>
|
1512 |
-
<fields>
|
1513 |
-
<active translate="label">
|
1514 |
-
<label>Enabled</label>
|
1515 |
-
<frontend_type>select</frontend_type>
|
1516 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1517 |
-
<sort_order>1</sort_order>
|
1518 |
-
<show_in_default>1</show_in_default>
|
1519 |
-
<show_in_website>1</show_in_website>
|
1520 |
-
<show_in_store>0</show_in_store>
|
1521 |
-
</active>
|
1522 |
-
<title translate="label">
|
1523 |
-
<label>Title</label>
|
1524 |
-
<frontend_type>text</frontend_type>
|
1525 |
-
<sort_order>10</sort_order>
|
1526 |
<show_in_default>1</show_in_default>
|
1527 |
<show_in_website>1</show_in_website>
|
1528 |
<show_in_store>1</show_in_store>
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
<
|
1533 |
-
<frontend_type>
|
1534 |
-
<
|
|
|
1535 |
<show_in_default>1</show_in_default>
|
1536 |
<show_in_website>1</show_in_website>
|
1537 |
<show_in_store>1</show_in_store>
|
1538 |
-
</
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
<show_in_store>1</show_in_store>
|
1547 |
-
<fields>
|
1548 |
-
<kwixo_config translate="label">
|
1549 |
-
<label>Kwixxo Config</label>
|
1550 |
-
<frontend_type>text</frontend_type>
|
1551 |
-
<frontend_model>ops/system_config_kwixoconfiguration</frontend_model>
|
1552 |
-
<sort_order>0</sort_order>
|
1553 |
<show_in_default>1</show_in_default>
|
1554 |
<show_in_website>1</show_in_website>
|
1555 |
<show_in_store>1</show_in_store>
|
1556 |
-
</
|
1557 |
-
<
|
1558 |
-
<label>
|
|
|
1559 |
<frontend_type>select</frontend_type>
|
1560 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1561 |
-
<sort_order>
|
1562 |
<show_in_default>1</show_in_default>
|
1563 |
<show_in_website>1</show_in_website>
|
1564 |
<show_in_store>0</show_in_store>
|
1565 |
-
</
|
1566 |
-
<
|
1567 |
-
<label>
|
1568 |
-
<
|
1569 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1570 |
<show_in_default>1</show_in_default>
|
1571 |
<show_in_website>1</show_in_website>
|
1572 |
<show_in_store>1</show_in_store>
|
@@ -1588,9 +2687,7 @@
|
|
1588 |
<show_in_default>1</show_in_default>
|
1589 |
<show_in_website>1</show_in_website>
|
1590 |
<show_in_store>1</show_in_store>
|
1591 |
-
<depends>
|
1592 |
-
<active>1</active>
|
1593 |
-
</depends>
|
1594 |
</delivery_date>
|
1595 |
<rnp_fee translate="label">
|
1596 |
<label>RNP Fee</label>
|
@@ -1600,9 +2697,7 @@
|
|
1600 |
<show_in_default>1</show_in_default>
|
1601 |
<show_in_website>1</show_in_website>
|
1602 |
<show_in_store>1</show_in_store>
|
1603 |
-
<depends>
|
1604 |
-
<active>1</active>
|
1605 |
-
</depends>
|
1606 |
</rnp_fee>
|
1607 |
<ecom_shipMethodType>
|
1608 |
<label>Default Shipping Method Type</label>
|
@@ -1625,9 +2720,7 @@
|
|
1625 |
<show_in_default>1</show_in_default>
|
1626 |
<show_in_website>1</show_in_website>
|
1627 |
<show_in_store>1</show_in_store>
|
1628 |
-
<depends>
|
1629 |
-
<active>1</active>
|
1630 |
-
</depends>
|
1631 |
</ecom_shipMethodSpeed>
|
1632 |
<shiping_method_details>
|
1633 |
<label>Default Shipping Method Details</label>
|
@@ -1637,15 +2730,54 @@
|
|
1637 |
<show_in_default>1</show_in_default>
|
1638 |
<show_in_website>1</show_in_website>
|
1639 |
<show_in_store>1</show_in_store>
|
1640 |
-
<depends>
|
1641 |
-
<active>1</active>
|
1642 |
-
</depends>
|
1643 |
</shiping_method_details>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1644 |
</fields>
|
1645 |
</ops_kwixoCredit>
|
1646 |
<ops_kwixoApresReception translate="label">
|
1647 |
<label>Ingenico ePayments KwixoApresReception</label>
|
1648 |
-
<sort_order>
|
1649 |
<show_in_default>1</show_in_default>
|
1650 |
<show_in_website>1</show_in_website>
|
1651 |
<show_in_store>1</show_in_store>
|
@@ -1693,9 +2825,7 @@
|
|
1693 |
<show_in_default>1</show_in_default>
|
1694 |
<show_in_website>1</show_in_website>
|
1695 |
<show_in_store>1</show_in_store>
|
1696 |
-
<depends>
|
1697 |
-
<active>1</active>
|
1698 |
-
</depends>
|
1699 |
</delivery_date>
|
1700 |
<rnp_fee translate="label">
|
1701 |
<label>RNP Fee</label>
|
@@ -1705,9 +2835,7 @@
|
|
1705 |
<show_in_default>1</show_in_default>
|
1706 |
<show_in_website>1</show_in_website>
|
1707 |
<show_in_store>1</show_in_store>
|
1708 |
-
<depends>
|
1709 |
-
<active>1</active>
|
1710 |
-
</depends>
|
1711 |
</rnp_fee>
|
1712 |
<ecom_shipMethodType>
|
1713 |
<label>Default Shipping Method Type</label>
|
@@ -1717,9 +2845,7 @@
|
|
1717 |
<show_in_default>1</show_in_default>
|
1718 |
<show_in_website>1</show_in_website>
|
1719 |
<show_in_store>1</show_in_store>
|
1720 |
-
<depends>
|
1721 |
-
<active>1</active>
|
1722 |
-
</depends>
|
1723 |
</ecom_shipMethodType>
|
1724 |
<ecom_shipMethodSpeed>
|
1725 |
<label>Default Shipping Speed (in hours)</label>
|
@@ -1729,9 +2855,7 @@
|
|
1729 |
<show_in_default>1</show_in_default>
|
1730 |
<show_in_website>1</show_in_website>
|
1731 |
<show_in_store>1</show_in_store>
|
1732 |
-
<depends>
|
1733 |
-
<active>1</active>
|
1734 |
-
</depends>
|
1735 |
</ecom_shipMethodSpeed>
|
1736 |
<shiping_method_details>
|
1737 |
<label>Default Shipping Method Details</label>
|
@@ -1741,15 +2865,54 @@
|
|
1741 |
<show_in_default>1</show_in_default>
|
1742 |
<show_in_website>1</show_in_website>
|
1743 |
<show_in_store>1</show_in_store>
|
1744 |
-
<depends>
|
1745 |
-
<active>1</active>
|
1746 |
-
</depends>
|
1747 |
</shiping_method_details>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1748 |
</fields>
|
1749 |
</ops_kwixoApresReception>
|
1750 |
<ops_kwixoComptant translate="label">
|
1751 |
<label>Ingenico ePayments KwixoComptant</label>
|
1752 |
-
<sort_order>
|
1753 |
<show_in_default>1</show_in_default>
|
1754 |
<show_in_website>1</show_in_website>
|
1755 |
<show_in_store>1</show_in_store>
|
@@ -1797,9 +2960,7 @@
|
|
1797 |
<show_in_default>1</show_in_default>
|
1798 |
<show_in_website>1</show_in_website>
|
1799 |
<show_in_store>1</show_in_store>
|
1800 |
-
<depends>
|
1801 |
-
<active>1</active>
|
1802 |
-
</depends>
|
1803 |
</delivery_date>
|
1804 |
<rnp_fee translate="label">
|
1805 |
<label>RNP Fee</label>
|
@@ -1809,9 +2970,7 @@
|
|
1809 |
<show_in_default>1</show_in_default>
|
1810 |
<show_in_website>1</show_in_website>
|
1811 |
<show_in_store>1</show_in_store>
|
1812 |
-
<depends>
|
1813 |
-
<active>1</active>
|
1814 |
-
</depends>
|
1815 |
</rnp_fee>
|
1816 |
<ecom_shipMethodType>
|
1817 |
<label>Default Shipping Method Type</label>
|
@@ -1822,9 +2981,7 @@
|
|
1822 |
<show_in_default>1</show_in_default>
|
1823 |
<show_in_website>1</show_in_website>
|
1824 |
<show_in_store>1</show_in_store>
|
1825 |
-
<depends>
|
1826 |
-
<active>1</active>
|
1827 |
-
</depends>
|
1828 |
</ecom_shipMethodType>
|
1829 |
<ecom_shipMethodSpeed>
|
1830 |
<label>Default Shipping Speed (in hours)</label>
|
@@ -1834,9 +2991,7 @@
|
|
1834 |
<show_in_default>1</show_in_default>
|
1835 |
<show_in_website>1</show_in_website>
|
1836 |
<show_in_store>1</show_in_store>
|
1837 |
-
<depends>
|
1838 |
-
<active>1</active>
|
1839 |
-
</depends>
|
1840 |
</ecom_shipMethodSpeed>
|
1841 |
<shiping_method_details>
|
1842 |
<label>Default Shipping Method Details</label>
|
@@ -1846,15 +3001,54 @@
|
|
1846 |
<show_in_default>1</show_in_default>
|
1847 |
<show_in_website>1</show_in_website>
|
1848 |
<show_in_store>1</show_in_store>
|
1849 |
-
<depends>
|
1850 |
-
<active>1</active>
|
1851 |
-
</depends>
|
1852 |
</shiping_method_details>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1853 |
</fields>
|
1854 |
</ops_kwixoComptant>
|
1855 |
<ops_opsid translate="label">
|
1856 |
<label>Existing Ingenico ePayments Transaction</label>
|
1857 |
-
<sort_order>
|
1858 |
<show_in_default>1</show_in_default>
|
1859 |
<show_in_website>0</show_in_website>
|
1860 |
<show_in_store>0</show_in_store>
|
@@ -1884,15 +3078,54 @@
|
|
1884 |
<show_in_default>1</show_in_default>
|
1885 |
<show_in_website>0</show_in_website>
|
1886 |
<show_in_store>0</show_in_store>
|
1887 |
-
<depends>
|
1888 |
-
<active>1</active>
|
1889 |
-
</depends>
|
1890 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1891 |
</fields>
|
1892 |
</ops_opsid>
|
1893 |
<ops_flex translate="label comment">
|
1894 |
<label>Ingenico ePayments Flex payment method</label>
|
1895 |
-
<sort_order>
|
1896 |
<show_in_default>1</show_in_default>
|
1897 |
<show_in_website>1</show_in_website>
|
1898 |
<show_in_store>1</show_in_store>
|
@@ -1914,9 +3147,7 @@
|
|
1914 |
<show_in_website>1</show_in_website>
|
1915 |
<show_in_store>1</show_in_store>
|
1916 |
<validate>required-entry</validate>
|
1917 |
-
<depends>
|
1918 |
-
<active>1</active>
|
1919 |
-
</depends>
|
1920 |
</title>
|
1921 |
<sort_order translate="label">
|
1922 |
<label>Sort Order</label>
|
@@ -1925,9 +3156,7 @@
|
|
1925 |
<show_in_default>1</show_in_default>
|
1926 |
<show_in_website>1</show_in_website>
|
1927 |
<show_in_store>1</show_in_store>
|
1928 |
-
<depends>
|
1929 |
-
<active>1</active>
|
1930 |
-
</depends>
|
1931 |
</sort_order>
|
1932 |
<default translate="label tooltip">
|
1933 |
<label>Show empty default option</label>
|
@@ -1938,9 +3167,7 @@
|
|
1938 |
<show_in_website>1</show_in_website>
|
1939 |
<show_in_store>1</show_in_store>
|
1940 |
<tooltip><![CDATA[A generic option, that lets the customer choose the exact method on Ingenico ePayments side.]]></tooltip>
|
1941 |
-
<depends>
|
1942 |
-
<active>1</active>
|
1943 |
-
</depends>
|
1944 |
</default>
|
1945 |
<default_title translate="label comment">
|
1946 |
<label>Default option title</label>
|
@@ -1951,9 +3178,7 @@
|
|
1951 |
<show_in_store>1</show_in_store>
|
1952 |
<validate>required-entry</validate>
|
1953 |
<tooltip>Title to display for the default option.</tooltip>
|
1954 |
-
<depends>
|
1955 |
-
<default>1</default>
|
1956 |
-
</depends>
|
1957 |
</default_title>
|
1958 |
<methods translate="label comment">
|
1959 |
<label>Methods</label>
|
@@ -1964,15 +3189,54 @@
|
|
1964 |
<show_in_website>1</show_in_website>
|
1965 |
<show_in_store>1</show_in_store>
|
1966 |
<comment>Add one or more methods. In field 'PM' you will have to enter the PM value you got from Ingenico ePayments, same goes for the field 'BRAND'.</comment>
|
1967 |
-
<depends>
|
1968 |
-
<active>1</active>
|
1969 |
-
</depends>
|
1970 |
</methods>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1971 |
</fields>
|
1972 |
</ops_flex>
|
1973 |
<ops_chinaUnionPay translate="label">
|
1974 |
<label>Ingenico ePayments ChinaUnionPay</label>
|
1975 |
-
<sort_order>
|
1976 |
<show_in_default>1</show_in_default>
|
1977 |
<show_in_website>1</show_in_website>
|
1978 |
<show_in_store>1</show_in_store>
|
@@ -2004,11 +3268,52 @@
|
|
2004 |
<show_in_website>1</show_in_website>
|
2005 |
<show_in_store>1</show_in_store>
|
2006 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007 |
</fields>
|
2008 |
</ops_chinaUnionPay>
|
2009 |
<ops_recurring_cc translate="label">
|
2010 |
<label>Ingenico ePayments Subscription Manager via Cc</label>
|
2011 |
-
<sort_order>
|
2012 |
<show_in_default>1</show_in_default>
|
2013 |
<show_in_website>1</show_in_website>
|
2014 |
<show_in_store>1</show_in_store>
|
@@ -2026,16 +3331,14 @@
|
|
2026 |
<show_in_store>1</show_in_store>
|
2027 |
</active>
|
2028 |
<acceptedTypes translate="label">
|
2029 |
-
<label>Card Types</label>
|
2030 |
<frontend_type>multiselect</frontend_type>
|
2031 |
<sort_order>30</sort_order>
|
2032 |
<source_model>ops/source_cc_recurringTypes</source_model>
|
2033 |
<show_in_default>1</show_in_default>
|
2034 |
<show_in_website>1</show_in_website>
|
2035 |
<show_in_store>1</show_in_store>
|
2036 |
-
<depends>
|
2037 |
-
<active>1</active>
|
2038 |
-
</depends>
|
2039 |
</acceptedTypes>
|
2040 |
<enabled_3dsecure translate="label tooltip">
|
2041 |
<label>Enable 3D secure</label>
|
@@ -2046,40 +3349,34 @@
|
|
2046 |
<show_in_default>1</show_in_default>
|
2047 |
<show_in_website>1</show_in_website>
|
2048 |
<show_in_store>0</show_in_store>
|
2049 |
-
<depends>
|
2050 |
-
<active>1</active>
|
2051 |
-
</depends>
|
2052 |
</enabled_3dsecure>
|
2053 |
-
<
|
2054 |
-
<label>Payment
|
2055 |
-
<
|
2056 |
-
<
|
2057 |
-
<
|
|
|
|
|
2058 |
<show_in_default>1</show_in_default>
|
2059 |
<show_in_website>1</show_in_website>
|
2060 |
-
<show_in_store>
|
2061 |
-
<
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
<
|
2067 |
-
<
|
2068 |
-
<sort_order>61</sort_order>
|
2069 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
2070 |
<show_in_default>1</show_in_default>
|
2071 |
<show_in_website>1</show_in_website>
|
2072 |
-
<show_in_store>
|
2073 |
-
|
2074 |
-
<depends>
|
2075 |
-
<active>1</active>
|
2076 |
-
</depends>
|
2077 |
-
</specificcountry>
|
2078 |
</fields>
|
2079 |
</ops_recurring_cc>
|
2080 |
<ops_BCMC translate="label">
|
2081 |
<label>Ingenico ePayments BCMC</label>
|
2082 |
-
<sort_order>
|
2083 |
<show_in_default>1</show_in_default>
|
2084 |
<show_in_website>1</show_in_website>
|
2085 |
<show_in_store>1</show_in_store>
|
@@ -2109,25 +3406,52 @@
|
|
2109 |
<show_in_website>1</show_in_website>
|
2110 |
<show_in_store>1</show_in_store>
|
2111 |
</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2112 |
</fields>
|
2113 |
</ops_BCMC>
|
2114 |
-
|
2115 |
-
|
2116 |
-
<
|
2117 |
-
<show_in_website>0</show_in_website>
|
2118 |
-
<show_in_store>0</show_in_store>
|
2119 |
-
</pbridge_ogone_direct>
|
2120 |
-
<ogone>
|
2121 |
-
<show_in_default>0</show_in_default>
|
2122 |
-
<show_in_website>0</show_in_website>
|
2123 |
-
<show_in_store>0</show_in_store>
|
2124 |
-
</ogone>
|
2125 |
-
<ccsave>
|
2126 |
-
<sort_order>27</sort_order>
|
2127 |
-
</ccsave>
|
2128 |
-
<ops_dc translate="label">
|
2129 |
-
<label>Ingenico ePayments Dc</label>
|
2130 |
-
<sort_order>11</sort_order>
|
2131 |
<show_in_default>1</show_in_default>
|
2132 |
<show_in_website>1</show_in_website>
|
2133 |
<show_in_store>1</show_in_store>
|
@@ -2136,7 +3460,7 @@
|
|
2136 |
<label>Enabled</label>
|
2137 |
<frontend_type>select</frontend_type>
|
2138 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2139 |
-
<sort_order>
|
2140 |
<show_in_default>1</show_in_default>
|
2141 |
<show_in_website>1</show_in_website>
|
2142 |
<show_in_store>0</show_in_store>
|
@@ -2144,11 +3468,14 @@
|
|
2144 |
<title translate="label">
|
2145 |
<label>Title</label>
|
2146 |
<frontend_type>text</frontend_type>
|
2147 |
-
<sort_order>
|
2148 |
<show_in_default>1</show_in_default>
|
2149 |
<show_in_website>1</show_in_website>
|
2150 |
<show_in_store>1</show_in_store>
|
2151 |
<validate>required-entry</validate>
|
|
|
|
|
|
|
2152 |
</title>
|
2153 |
<sort_order translate="label">
|
2154 |
<label>Sort Order</label>
|
@@ -2157,92 +3484,58 @@
|
|
2157 |
<show_in_default>1</show_in_default>
|
2158 |
<show_in_website>1</show_in_website>
|
2159 |
<show_in_store>1</show_in_store>
|
2160 |
-
|
2161 |
-
<types translate="label">
|
2162 |
-
<label>Card Types</label>
|
2163 |
-
<frontend_type>multiselect</frontend_type>
|
2164 |
-
<sort_order>30</sort_order>
|
2165 |
-
<source_model>ops/source_debitCard_types</source_model>
|
2166 |
-
<show_in_default>1</show_in_default>
|
2167 |
-
<show_in_website>1</show_in_website>
|
2168 |
-
<show_in_store>1</show_in_store>
|
2169 |
-
</types>
|
2170 |
-
<redirect_all translate="label comment">
|
2171 |
-
<label>Enable redirect payment for all card types</label>
|
2172 |
-
<comment><![CDATA[If set to <em>Yes></em>, customers will be redirected to the external Ingenico ePayments payment page.]]></comment>
|
2173 |
-
<frontend_type>select</frontend_type>
|
2174 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2175 |
-
<sort_order>40</sort_order>
|
2176 |
-
<show_in_default>1</show_in_default>
|
2177 |
-
<show_in_website>1</show_in_website>
|
2178 |
-
<show_in_store>1</show_in_store>
|
2179 |
-
</redirect_all>
|
2180 |
-
<inline_types translate="label tooltip">
|
2181 |
-
<label>Enable inline payment for these card types</label>
|
2182 |
-
<tooltip><![CDATA[For the selected card types, the customer can enter the credit card details directly in the checkout.]]></tooltip>
|
2183 |
-
<frontend_type>multiselect</frontend_type>
|
2184 |
-
<source_model>ops/source_debitCard_aliasInterfaceEnabledTypes</source_model>
|
2185 |
-
<sort_order>41</sort_order>
|
2186 |
<depends>
|
2187 |
-
<
|
2188 |
</depends>
|
2189 |
-
|
2190 |
-
|
2191 |
-
<
|
2192 |
-
|
2193 |
-
<enabled_3dsecure translate="label tooltip">
|
2194 |
-
<label>Enable 3D secure</label>
|
2195 |
-
<tooltip><![CDATA[If the customer's credit card supports 3D Secure, he will be redirected to an external page to enter his password.]]></tooltip>
|
2196 |
-
<frontend_type>select</frontend_type>
|
2197 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2198 |
<sort_order>50</sort_order>
|
|
|
2199 |
<show_in_default>1</show_in_default>
|
2200 |
<show_in_website>1</show_in_website>
|
2201 |
<show_in_store>0</show_in_store>
|
2202 |
-
</
|
2203 |
-
<
|
2204 |
-
<label>
|
2205 |
-
<
|
2206 |
-
<
|
2207 |
-
<source_model>adminhtml/
|
2208 |
-
<sort_order>100</sort_order>
|
2209 |
-
<show_in_default>1</show_in_default>
|
2210 |
-
<show_in_website>1</show_in_website>
|
2211 |
-
<show_in_store>1</show_in_store>
|
2212 |
-
</backend_enabled>
|
2213 |
-
<active_alias translate="label">
|
2214 |
-
<label>Enabled Alias Manager</label>
|
2215 |
-
<frontend_type>select</frontend_type>
|
2216 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2217 |
-
<sort_order>110</sort_order>
|
2218 |
-
<show_in_default>1</show_in_default>
|
2219 |
-
<show_in_website>1</show_in_website>
|
2220 |
-
<show_in_store>1</show_in_store>
|
2221 |
-
</active_alias>
|
2222 |
-
<show_alias_manager_info_for_guests translate="label">
|
2223 |
-
<label>Show Alias Manager information for guests</label>
|
2224 |
-
<frontend_type>select</frontend_type>
|
2225 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2226 |
-
<sort_order>120</sort_order>
|
2227 |
<show_in_default>1</show_in_default>
|
2228 |
<show_in_website>1</show_in_website>
|
2229 |
-
<show_in_store>
|
2230 |
-
<
|
2231 |
-
|
2232 |
-
|
2233 |
-
|
2234 |
-
|
2235 |
-
<label>Allow zero amount authorization</label>
|
2236 |
-
<comment>Only if payment action is authorize.</comment>
|
2237 |
<frontend_type>select</frontend_type>
|
2238 |
-
<source_model>adminhtml/
|
2239 |
-
<sort_order>
|
2240 |
<show_in_default>1</show_in_default>
|
2241 |
<show_in_website>1</show_in_website>
|
2242 |
<show_in_store>1</show_in_store>
|
2243 |
-
|
|
|
2244 |
</fields>
|
2245 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2246 |
</groups>
|
2247 |
</payment>
|
2248 |
</sections>
|
93 |
</secret_key_type>
|
94 |
<secret_key_in translate="label comment tooltip">
|
95 |
<label>SHA-IN Pass phrase</label>
|
96 |
+
<comment><![CDATA[Only alphanumeric characters, not longer than 20 characters. Refer to Ingenico ePayments's backend in section <em>Technical Information</em> on tab <em>Data and origin verification</em>.]]></comment>
|
97 |
<tooltip><![CDATA[This must be identical to the value in the Ingenico ePayments backend in section <em>Technical information</em> on tab <em>Data and origin verification</em>.]]></tooltip>
|
98 |
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
99 |
<frontend_type>obscure</frontend_type>
|
104 |
</secret_key_in>
|
105 |
<secret_key_out translate="label comment tooltip">
|
106 |
<label>SHA-OUT Pass phrase</label>
|
107 |
+
<comment><![CDATA[Only alphanumeric characters, not longer than 20 characters. Refer to Ingenico ePayments's backend in section <em>Technical Information</em> on tab <em>Transaction feedback</em>.]]></comment>
|
108 |
<tooltip><![CDATA[This must be identical to the value in the Ingenico ePayments backend in section <em>Technical information</em> on tab <em>Transaction feedback</em>.]]></tooltip>
|
109 |
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
110 |
<frontend_type>obscure</frontend_type>
|
133 |
<show_in_default>1</show_in_default>
|
134 |
<show_in_website>1</show_in_website>
|
135 |
<show_in_store>1</show_in_store>
|
136 |
+
<depends><mode>custom</mode></depends>
|
|
|
|
|
137 |
</frontend_gateway>
|
138 |
<ops_alias_gateway translate="label comment">
|
139 |
<label>Alias Gateway URL</label>
|
143 |
<show_in_default>1</show_in_default>
|
144 |
<show_in_website>1</show_in_website>
|
145 |
<show_in_store>1</show_in_store>
|
146 |
+
<depends><mode>custom</mode></depends>
|
|
|
|
|
147 |
</ops_alias_gateway>
|
148 |
<directlink_gateway translate="label comment">
|
149 |
<label>DirectLink Gateway URL</label>
|
153 |
<show_in_default>1</show_in_default>
|
154 |
<show_in_website>1</show_in_website>
|
155 |
<show_in_store>1</show_in_store>
|
156 |
+
<depends><mode>custom</mode></depends>
|
|
|
|
|
157 |
</directlink_gateway>
|
158 |
<directlink_gateway_order translate="label comment">
|
159 |
<label>DirectLink Gateway Order URL</label>
|
163 |
<show_in_default>1</show_in_default>
|
164 |
<show_in_website>1</show_in_website>
|
165 |
<show_in_store>1</show_in_store>
|
166 |
+
<depends><mode>custom</mode></depends>
|
|
|
|
|
167 |
</directlink_gateway_order>
|
168 |
<directlink_maintenance_api translate="label comment">
|
169 |
<label>DirectLink Maintenance API URL</label>
|
173 |
<show_in_default>1</show_in_default>
|
174 |
<show_in_website>1</show_in_website>
|
175 |
<show_in_store>1</show_in_store>
|
176 |
+
<depends><mode>custom</mode></depends>
|
|
|
|
|
177 |
</directlink_maintenance_api>
|
178 |
<api_userid translate="label tooltip">
|
179 |
<label>API User</label>
|
208 |
<label>Send Invoice to Customer</label>
|
209 |
<frontend_type>select</frontend_type>
|
210 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
211 |
+
<depends><payment_action>authorize_capture</payment_action></depends>
|
|
|
|
|
212 |
<sort_order>95</sort_order>
|
213 |
<show_in_default>1</show_in_default>
|
214 |
<show_in_website>1</show_in_website>
|
225 |
<show_in_default>1</show_in_default>
|
226 |
<show_in_website>1</show_in_website>
|
227 |
<show_in_store>1</show_in_store>
|
228 |
+
<tooltip><![CDATA[For an easier PCI compliance we recommend redirect mode, iFrame mode or dynamic template with the template hosted on Ingenico ePayments servers. This does NOT affect the Hosted Tokenization iFrame (HTP).]]></tooltip>
|
229 |
</template>
|
230 |
<template_identifier translate="label comment">
|
231 |
<label>Template Identifier/Url</label>
|
235 |
<show_in_default>1</show_in_default>
|
236 |
<show_in_website>1</show_in_website>
|
237 |
<show_in_store>1</show_in_store>
|
238 |
+
<depends><template>ops_template</template></depends>
|
|
|
|
|
239 |
<validate>required-entry</validate>
|
240 |
</template_identifier>
|
241 |
<html_title translate="label comment">
|
245 |
<show_in_default>1</show_in_default>
|
246 |
<show_in_website>1</show_in_website>
|
247 |
<show_in_store>1</show_in_store>
|
248 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
249 |
<validate>required-entry</validate>
|
250 |
</html_title>
|
251 |
<bgcolor translate="label comment">
|
256 |
<show_in_default>1</show_in_default>
|
257 |
<show_in_website>1</show_in_website>
|
258 |
<show_in_store>1</show_in_store>
|
259 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
260 |
<validate>required-entry</validate>
|
261 |
</bgcolor>
|
262 |
<txtcolor translate="label comment">
|
267 |
<show_in_default>1</show_in_default>
|
268 |
<show_in_website>1</show_in_website>
|
269 |
<show_in_store>1</show_in_store>
|
270 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
271 |
<validate>required-entry</validate>
|
272 |
</txtcolor>
|
273 |
<tblbgcolor translate="label comment">
|
278 |
<show_in_default>1</show_in_default>
|
279 |
<show_in_website>1</show_in_website>
|
280 |
<show_in_store>1</show_in_store>
|
281 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
282 |
<validate>required-entry</validate>
|
283 |
</tblbgcolor>
|
284 |
<tbltxtcolor translate="label comment">
|
289 |
<show_in_default>1</show_in_default>
|
290 |
<show_in_website>1</show_in_website>
|
291 |
<show_in_store>1</show_in_store>
|
292 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
293 |
<validate>required-entry</validate>
|
294 |
</tbltxtcolor>
|
295 |
<showcatalogbutton translate="label">
|
300 |
<show_in_default>1</show_in_default>
|
301 |
<show_in_website>1</show_in_website>
|
302 |
<show_in_store>1</show_in_store>
|
303 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
304 |
<validate>required-entry</validate>
|
305 |
</showcatalogbutton>
|
306 |
<showhomebutton translate="label">
|
311 |
<show_in_default>1</show_in_default>
|
312 |
<show_in_website>1</show_in_website>
|
313 |
<show_in_store>1</show_in_store>
|
314 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
315 |
<validate>required-entry</validate>
|
316 |
</showhomebutton>
|
317 |
<buttonbgcolor translate="label">
|
321 |
<show_in_default>1</show_in_default>
|
322 |
<show_in_website>1</show_in_website>
|
323 |
<show_in_store>1</show_in_store>
|
324 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
325 |
<validate>required-entry</validate>
|
326 |
</buttonbgcolor>
|
327 |
<buttontxtcolor translate="label comment">
|
332 |
<show_in_default>1</show_in_default>
|
333 |
<show_in_website>1</show_in_website>
|
334 |
<show_in_store>1</show_in_store>
|
335 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
336 |
<validate>required-entry</validate>
|
337 |
</buttontxtcolor>
|
338 |
<fonttype translate="label comment">
|
343 |
<show_in_default>1</show_in_default>
|
344 |
<show_in_website>1</show_in_website>
|
345 |
<show_in_store>1</show_in_store>
|
346 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
347 |
<validate>required-entry</validate>
|
348 |
</fonttype>
|
349 |
<logo translate="label comment">
|
354 |
<show_in_default>1</show_in_default>
|
355 |
<show_in_website>1</show_in_website>
|
356 |
<show_in_store>1</show_in_store>
|
357 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
358 |
<validate>required-entry</validate>
|
359 |
</logo>
|
360 |
<pmlist translate="label comment">
|
361 |
<label>Layout of Payment Methods</label>
|
362 |
+
<tooltip><![CDATA[Layout on the external payment page (for redirect payment methods).]]></tooltip>
|
363 |
<frontend_type>select</frontend_type>
|
364 |
<source_model>ops/source_pmlist</source_model>
|
365 |
<sort_order>210</sort_order>
|
366 |
<show_in_default>1</show_in_default>
|
367 |
<show_in_website>1</show_in_website>
|
368 |
<show_in_store>1</show_in_store>
|
369 |
+
<depends><template separator=",">ops,ops_iframe</template></depends>
|
|
|
|
|
370 |
<validate>required-entry</validate>
|
371 |
</pmlist>
|
372 |
<redirectOrderReference translate="label comment">
|
373 |
<label>Order reference in case of redirect payments</label>
|
374 |
+
<comment>See chapter 'Configuration', section 'Magento - Backend' in the documentation. Please note that the option 'orderId' is not used for the Kwixo payment methods.</comment>
|
375 |
<frontend_type>select</frontend_type>
|
376 |
<source_model>ops/source_orderReference</source_model>
|
377 |
<sort_order>220</sort_order>
|
381 |
</redirectOrderReference>
|
382 |
<inlineOrderReference translate="label comment">
|
383 |
<label>Order reference in case of inline payments</label>
|
384 |
+
<comment>See chapter 'Configuration', section 'Magento - Backend' in the documentation.</comment>
|
385 |
<frontend_type>select</frontend_type>
|
386 |
<source_model>ops/source_orderReference</source_model>
|
387 |
<sort_order>221</sort_order>
|
442 |
</device_fingerprinting>
|
443 |
<ops_rtimeout translate="label tooltip comment">
|
444 |
<label>Timeout for transactions</label>
|
445 |
+
<comment>This value specifies the request timeout for that transaction. A value between 30 and 60 seconds is possible.</comment>
|
446 |
<frontend_type>text</frontend_type>
|
447 |
<validate>validate-digits-range digits-range-30-60</validate>
|
448 |
<sort_order>290</sort_order>
|
506 |
</groups>
|
507 |
</payment_services>
|
508 |
<payment>
|
509 |
+
<frontend_model>ops/system_config_paymentForm</frontend_model>
|
510 |
<groups>
|
|
|
511 |
<ops_directDebit translate="label">
|
512 |
<label>Ingenico ePayments DirectDebit</label>
|
513 |
+
<sort_order>40</sort_order>
|
514 |
<show_in_default>1</show_in_default>
|
515 |
<show_in_website>1</show_in_website>
|
516 |
<show_in_store>1</show_in_store>
|
545 |
<label>Countries</label>
|
546 |
<frontend_type>multiselect</frontend_type>
|
547 |
<validate>required-entry</validate>
|
548 |
+
<depends><active>1</active></depends>
|
|
|
|
|
549 |
<sort_order>30</sort_order>
|
550 |
<source_model>ops/source_directDebit_countries</source_model>
|
551 |
<show_in_default>1</show_in_default>
|
552 |
<show_in_website>1</show_in_website>
|
553 |
<show_in_store>1</show_in_store>
|
554 |
</countryIds>
|
555 |
+
<allowspecific translate="label">
|
556 |
+
<label>Payment from Applicable Countries</label>
|
557 |
+
<sort_order>40</sort_order>
|
558 |
+
<frontend_type>allowspecific</frontend_type>
|
559 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
560 |
+
<show_in_default>1</show_in_default>
|
561 |
+
<show_in_website>1</show_in_website>
|
562 |
+
<show_in_store>0</show_in_store>
|
563 |
+
</allowspecific>
|
564 |
+
<specificcountry translate="label">
|
565 |
+
<label>Payment from Specific Countries</label>
|
566 |
+
<sort_order>50</sort_order>
|
567 |
+
<frontend_type>multiselect</frontend_type>
|
568 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
569 |
+
<show_in_default>1</show_in_default>
|
570 |
+
<show_in_website>1</show_in_website>
|
571 |
+
<show_in_store>0</show_in_store>
|
572 |
+
<can_be_empty>1</can_be_empty>
|
573 |
+
<depends><allowspecific>1</allowspecific></depends>
|
574 |
+
</specificcountry>
|
575 |
+
<image translate="label comment">
|
576 |
+
<label>Payment Logo</label>
|
577 |
+
<sort_order>60</sort_order>
|
578 |
+
<frontend_type>paymentLogo</frontend_type>
|
579 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
580 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
581 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
582 |
+
<show_in_default>1</show_in_default>
|
583 |
+
<show_in_website>1</show_in_website>
|
584 |
+
<show_in_store>1</show_in_store>
|
585 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
586 |
+
</image>
|
587 |
+
<position translate="label">
|
588 |
+
<label>Payment Logo Visibility</label>
|
589 |
+
<sort_order>70</sort_order>
|
590 |
+
<frontend_type>select</frontend_type>
|
591 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
592 |
+
<show_in_default>1</show_in_default>
|
593 |
+
<show_in_website>1</show_in_website>
|
594 |
+
<show_in_store>1</show_in_store>
|
595 |
+
</position>
|
596 |
<backend_enabled>
|
597 |
<label>Enable for backend</label>
|
598 |
<frontend_type>select</frontend_type>
|
602 |
<show_in_website>1</show_in_website>
|
603 |
<show_in_store>1</show_in_store>
|
604 |
</backend_enabled>
|
605 |
+
<active_alias translate="label comment">
|
606 |
+
<label>Enabled Alias Manager</label>
|
607 |
+
<frontend_type>select</frontend_type>
|
608 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
609 |
+
<sort_order>110</sort_order>
|
610 |
+
<comment>If this option is enabled, the customer's alias data will be saved in the shop. The data can then be used again later if the buyer has stored them permanently on Ingenico ePayments side.</comment>
|
611 |
+
<show_in_default>1</show_in_default>
|
612 |
+
<show_in_website>1</show_in_website>
|
613 |
+
<show_in_store>1</show_in_store>
|
614 |
+
</active_alias>
|
615 |
</fields>
|
616 |
</ops_directDebit>
|
617 |
<ops_postFinanceEFinance translate="label">
|
618 |
<label>Ingenico ePayments PostFinanceEFinance</label>
|
619 |
+
<sort_order>50</sort_order>
|
620 |
<show_in_default>1</show_in_default>
|
621 |
<show_in_website>1</show_in_website>
|
622 |
<show_in_store>1</show_in_store>
|
647 |
<show_in_website>1</show_in_website>
|
648 |
<show_in_store>1</show_in_store>
|
649 |
</sort_order>
|
650 |
+
<allowspecific translate="label">
|
651 |
+
<label>Payment from Applicable Countries</label>
|
652 |
+
<frontend_type>allowspecific</frontend_type>
|
653 |
+
<sort_order>30</sort_order>
|
654 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
655 |
+
<show_in_default>1</show_in_default>
|
656 |
+
<show_in_website>1</show_in_website>
|
657 |
+
<show_in_store>0</show_in_store>
|
658 |
+
</allowspecific>
|
659 |
+
<specificcountry translate="label">
|
660 |
+
<label>Payment from Specific Countries</label>
|
661 |
+
<frontend_type>multiselect</frontend_type>
|
662 |
+
<sort_order>40</sort_order>
|
663 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
664 |
+
<show_in_default>1</show_in_default>
|
665 |
+
<show_in_website>1</show_in_website>
|
666 |
+
<show_in_store>0</show_in_store>
|
667 |
+
<can_be_empty>1</can_be_empty>
|
668 |
+
<depends><allowspecific>1</allowspecific></depends>
|
669 |
+
</specificcountry>
|
670 |
+
<image translate="label comment">
|
671 |
+
<label>Payment Logo</label>
|
672 |
+
<sort_order>50</sort_order>
|
673 |
+
<frontend_type>paymentLogo</frontend_type>
|
674 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
675 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
676 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
677 |
+
<show_in_default>1</show_in_default>
|
678 |
+
<show_in_website>1</show_in_website>
|
679 |
+
<show_in_store>1</show_in_store>
|
680 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
681 |
+
</image>
|
682 |
+
<position translate="label">
|
683 |
+
<label>Payment Logo Visibility</label>
|
684 |
+
<sort_order>60</sort_order>
|
685 |
+
<frontend_type>select</frontend_type>
|
686 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
687 |
+
<show_in_default>1</show_in_default>
|
688 |
+
<show_in_website>1</show_in_website>
|
689 |
+
<show_in_store>1</show_in_store>
|
690 |
+
</position>
|
691 |
</fields>
|
692 |
</ops_postFinanceEFinance>
|
693 |
<ops_eDankort translate="label">
|
694 |
<label>Ingenico ePayments EDankort</label>
|
695 |
+
<sort_order>60</sort_order>
|
696 |
<show_in_default>1</show_in_default>
|
697 |
<show_in_website>1</show_in_website>
|
698 |
<show_in_store>1</show_in_store>
|
723 |
<show_in_website>1</show_in_website>
|
724 |
<show_in_store>1</show_in_store>
|
725 |
</sort_order>
|
726 |
+
<allowspecific translate="label">
|
727 |
+
<label>Payment from Applicable Countries</label>
|
728 |
+
<frontend_type>allowspecific</frontend_type>
|
729 |
+
<sort_order>30</sort_order>
|
730 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
731 |
+
<show_in_default>1</show_in_default>
|
732 |
+
<show_in_website>1</show_in_website>
|
733 |
+
<show_in_store>0</show_in_store>
|
734 |
+
</allowspecific>
|
735 |
+
<specificcountry translate="label">
|
736 |
+
<label>Payment from Specific Countries</label>
|
737 |
+
<frontend_type>multiselect</frontend_type>
|
738 |
+
<sort_order>40</sort_order>
|
739 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
740 |
+
<show_in_default>1</show_in_default>
|
741 |
+
<show_in_website>1</show_in_website>
|
742 |
+
<show_in_store>0</show_in_store>
|
743 |
+
<can_be_empty>1</can_be_empty>
|
744 |
+
<depends><allowspecific>1</allowspecific></depends>
|
745 |
+
</specificcountry>
|
746 |
+
<image translate="label comment">
|
747 |
+
<label>Payment Logo</label>
|
748 |
+
<sort_order>50</sort_order>
|
749 |
+
<frontend_type>paymentLogo</frontend_type>
|
750 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
751 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
752 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
753 |
+
<show_in_default>1</show_in_default>
|
754 |
+
<show_in_website>1</show_in_website>
|
755 |
+
<show_in_store>1</show_in_store>
|
756 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
757 |
+
</image>
|
758 |
+
<position translate="label">
|
759 |
+
<label>Payment Logo Visibility</label>
|
760 |
+
<sort_order>60</sort_order>
|
761 |
+
<frontend_type>select</frontend_type>
|
762 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
763 |
+
<show_in_default>1</show_in_default>
|
764 |
+
<show_in_website>1</show_in_website>
|
765 |
+
<show_in_store>1</show_in_store>
|
766 |
+
</position>
|
767 |
</fields>
|
768 |
</ops_eDankort>
|
769 |
<ops_kbcOnline translate="label">
|
770 |
<label>Ingenico ePayments KbcOnline</label>
|
771 |
+
<sort_order>70</sort_order>
|
772 |
<show_in_default>1</show_in_default>
|
773 |
<show_in_website>1</show_in_website>
|
774 |
<show_in_store>1</show_in_store>
|
799 |
<show_in_website>1</show_in_website>
|
800 |
<show_in_store>1</show_in_store>
|
801 |
</sort_order>
|
802 |
+
<allowspecific translate="label">
|
803 |
+
<label>Payment from Applicable Countries</label>
|
804 |
+
<frontend_type>allowspecific</frontend_type>
|
805 |
+
<sort_order>30</sort_order>
|
806 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
807 |
+
<show_in_default>1</show_in_default>
|
808 |
+
<show_in_website>1</show_in_website>
|
809 |
+
<show_in_store>0</show_in_store>
|
810 |
+
</allowspecific>
|
811 |
+
<specificcountry translate="label">
|
812 |
+
<label>Payment from Specific Countries</label>
|
813 |
+
<frontend_type>multiselect</frontend_type>
|
814 |
+
<sort_order>40</sort_order>
|
815 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
816 |
+
<show_in_default>1</show_in_default>
|
817 |
+
<show_in_website>1</show_in_website>
|
818 |
+
<show_in_store>0</show_in_store>
|
819 |
+
<can_be_empty>1</can_be_empty>
|
820 |
+
<depends><allowspecific>1</allowspecific></depends>
|
821 |
+
</specificcountry>
|
822 |
+
<image translate="label comment">
|
823 |
+
<label>Payment Logo</label>
|
824 |
+
<sort_order>50</sort_order>
|
825 |
+
<frontend_type>paymentLogo</frontend_type>
|
826 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
827 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
828 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
829 |
+
<show_in_default>1</show_in_default>
|
830 |
+
<show_in_website>1</show_in_website>
|
831 |
+
<show_in_store>1</show_in_store>
|
832 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
833 |
+
</image>
|
834 |
+
<position translate="label">
|
835 |
+
<label>Payment Logo Visibility</label>
|
836 |
+
<sort_order>60</sort_order>
|
837 |
+
<frontend_type>select</frontend_type>
|
838 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
839 |
+
<show_in_default>1</show_in_default>
|
840 |
+
<show_in_website>1</show_in_website>
|
841 |
+
<show_in_store>1</show_in_store>
|
842 |
+
</position>
|
843 |
</fields>
|
844 |
</ops_kbcOnline>
|
845 |
<ops_iDeal translate="label">
|
846 |
<label>Ingenico ePayments iDEAL</label>
|
847 |
+
<sort_order>80</sort_order>
|
848 |
<show_in_default>1</show_in_default>
|
849 |
<show_in_website>1</show_in_website>
|
850 |
<show_in_store>1</show_in_store>
|
875 |
<show_in_website>1</show_in_website>
|
876 |
<show_in_store>1</show_in_store>
|
877 |
</sort_order>
|
878 |
+
<allowspecific translate="label">
|
879 |
+
<label>Payment from Applicable Countries</label>
|
880 |
+
<frontend_type>allowspecific</frontend_type>
|
881 |
+
<sort_order>30</sort_order>
|
882 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
883 |
+
<show_in_default>1</show_in_default>
|
884 |
+
<show_in_website>1</show_in_website>
|
885 |
+
<show_in_store>0</show_in_store>
|
886 |
+
</allowspecific>
|
887 |
+
<specificcountry translate="label">
|
888 |
+
<label>Payment from Specific Countries</label>
|
889 |
+
<frontend_type>multiselect</frontend_type>
|
890 |
+
<sort_order>40</sort_order>
|
891 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
892 |
+
<show_in_default>1</show_in_default>
|
893 |
+
<show_in_website>1</show_in_website>
|
894 |
+
<show_in_store>0</show_in_store>
|
895 |
+
<can_be_empty>1</can_be_empty>
|
896 |
+
<depends><allowspecific>1</allowspecific></depends>
|
897 |
+
</specificcountry>
|
898 |
+
<image translate="label comment">
|
899 |
+
<label>Payment Logo</label>
|
900 |
+
<sort_order>50</sort_order>
|
901 |
+
<frontend_type>paymentLogo</frontend_type>
|
902 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
903 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
904 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
905 |
+
<show_in_default>1</show_in_default>
|
906 |
+
<show_in_website>1</show_in_website>
|
907 |
+
<show_in_store>1</show_in_store>
|
908 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
909 |
+
</image>
|
910 |
+
<position translate="label">
|
911 |
+
<label>Payment Logo Visibility</label>
|
912 |
+
<sort_order>60</sort_order>
|
913 |
+
<frontend_type>select</frontend_type>
|
914 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
915 |
+
<show_in_default>1</show_in_default>
|
916 |
+
<show_in_website>1</show_in_website>
|
917 |
+
<show_in_store>1</show_in_store>
|
918 |
+
</position>
|
919 |
</fields>
|
920 |
</ops_iDeal>
|
921 |
<ops_belfiusDirectNet translate="label">
|
922 |
<label>Ingenico ePayments Belfius Direct Net</label>
|
923 |
+
<sort_order>90</sort_order>
|
924 |
<show_in_default>1</show_in_default>
|
925 |
<show_in_website>1</show_in_website>
|
926 |
<show_in_store>1</show_in_store>
|
951 |
<show_in_website>1</show_in_website>
|
952 |
<show_in_store>1</show_in_store>
|
953 |
</sort_order>
|
954 |
+
<allowspecific translate="label">
|
955 |
+
<label>Payment from Applicable Countries</label>
|
956 |
+
<frontend_type>allowspecific</frontend_type>
|
957 |
+
<sort_order>30</sort_order>
|
958 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
959 |
+
<show_in_default>1</show_in_default>
|
960 |
+
<show_in_website>1</show_in_website>
|
961 |
+
<show_in_store>0</show_in_store>
|
962 |
+
</allowspecific>
|
963 |
+
<specificcountry translate="label">
|
964 |
+
<label>Payment from Specific Countries</label>
|
965 |
+
<frontend_type>multiselect</frontend_type>
|
966 |
+
<sort_order>40</sort_order>
|
967 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
968 |
+
<show_in_default>1</show_in_default>
|
969 |
+
<show_in_website>1</show_in_website>
|
970 |
+
<show_in_store>0</show_in_store>
|
971 |
+
<can_be_empty>1</can_be_empty>
|
972 |
+
<depends><allowspecific>1</allowspecific></depends>
|
973 |
+
</specificcountry>
|
974 |
+
<image translate="label comment">
|
975 |
+
<label>Payment Logo</label>
|
976 |
+
<sort_order>50</sort_order>
|
977 |
+
<frontend_type>paymentLogo</frontend_type>
|
978 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
979 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
980 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
981 |
+
<show_in_default>1</show_in_default>
|
982 |
+
<show_in_website>1</show_in_website>
|
983 |
+
<show_in_store>1</show_in_store>
|
984 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
985 |
+
</image>
|
986 |
+
<position translate="label">
|
987 |
+
<label>Payment Logo Visibility</label>
|
988 |
+
<sort_order>60</sort_order>
|
989 |
+
<frontend_type>select</frontend_type>
|
990 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
991 |
+
<show_in_default>1</show_in_default>
|
992 |
+
<show_in_website>1</show_in_website>
|
993 |
+
<show_in_store>1</show_in_store>
|
994 |
+
</position>
|
995 |
</fields>
|
996 |
</ops_belfiusDirectNet>
|
997 |
<ops_bankTransfer translate="label">
|
998 |
<label>Ingenico ePayments BankTransfer</label>
|
999 |
+
<sort_order>100</sort_order>
|
1000 |
<show_in_default>1</show_in_default>
|
1001 |
<show_in_website>1</show_in_website>
|
1002 |
<show_in_store>1</show_in_store>
|
1031 |
<label>Countries</label>
|
1032 |
<frontend_type>multiselect</frontend_type>
|
1033 |
<validate>required-entry</validate>
|
1034 |
+
<depends><active>1</active></depends>
|
|
|
|
|
1035 |
<sort_order>30</sort_order>
|
1036 |
<source_model>ops/source_bankTransfer_countries</source_model>
|
1037 |
<show_in_default>1</show_in_default>
|
1038 |
<show_in_website>1</show_in_website>
|
1039 |
<show_in_store>1</show_in_store>
|
1040 |
</countryIds>
|
1041 |
+
<allowspecific translate="label">
|
1042 |
+
<label>Payment from Applicable Countries</label>
|
1043 |
+
<frontend_type>allowspecific</frontend_type>
|
1044 |
+
<sort_order>40</sort_order>
|
1045 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1046 |
+
<show_in_default>1</show_in_default>
|
1047 |
+
<show_in_website>1</show_in_website>
|
1048 |
+
<show_in_store>0</show_in_store>
|
1049 |
+
</allowspecific>
|
1050 |
+
<specificcountry translate="label">
|
1051 |
+
<label>Payment from Specific Countries</label>
|
1052 |
+
<frontend_type>multiselect</frontend_type>
|
1053 |
+
<sort_order>50</sort_order>
|
1054 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1055 |
+
<show_in_default>1</show_in_default>
|
1056 |
+
<show_in_website>1</show_in_website>
|
1057 |
+
<show_in_store>0</show_in_store>
|
1058 |
+
<can_be_empty>1</can_be_empty>
|
1059 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1060 |
+
</specificcountry>
|
1061 |
+
<image translate="label comment">
|
1062 |
+
<label>Payment Logo</label>
|
1063 |
+
<sort_order>60</sort_order>
|
1064 |
+
<frontend_type>paymentLogo</frontend_type>
|
1065 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1066 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1067 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1068 |
+
<show_in_default>1</show_in_default>
|
1069 |
+
<show_in_website>1</show_in_website>
|
1070 |
+
<show_in_store>1</show_in_store>
|
1071 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1072 |
+
</image>
|
1073 |
+
<position translate="label">
|
1074 |
+
<label>Payment Logo Visibility</label>
|
1075 |
+
<sort_order>70</sort_order>
|
1076 |
+
<frontend_type>select</frontend_type>
|
1077 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1078 |
+
<show_in_default>1</show_in_default>
|
1079 |
+
<show_in_website>1</show_in_website>
|
1080 |
+
<show_in_store>1</show_in_store>
|
1081 |
+
</position>
|
1082 |
</fields>
|
1083 |
</ops_bankTransfer>
|
1084 |
<ops_openInvoiceDe translate="label">
|
1085 |
<label>Ingenico ePayments Open Invoice DE</label>
|
1086 |
+
<sort_order>110</sort_order>
|
1087 |
<show_in_default>1</show_in_default>
|
1088 |
<show_in_website>1</show_in_website>
|
1089 |
<show_in_store>1</show_in_store>
|
1125 |
<show_in_website>1</show_in_website>
|
1126 |
<show_in_store>1</show_in_store>
|
1127 |
</sort_order>
|
1128 |
+
<image translate="label comment">
|
1129 |
+
<label>Payment Logo</label>
|
1130 |
+
<sort_order>30</sort_order>
|
1131 |
+
<frontend_type>paymentLogo</frontend_type>
|
1132 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1133 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1134 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1135 |
+
<show_in_default>1</show_in_default>
|
1136 |
+
<show_in_website>1</show_in_website>
|
1137 |
+
<show_in_store>1</show_in_store>
|
1138 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1139 |
+
</image>
|
1140 |
+
<position translate="label">
|
1141 |
+
<label>Payment Logo Visibility</label>
|
1142 |
+
<sort_order>40</sort_order>
|
1143 |
+
<frontend_type>select</frontend_type>
|
1144 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1145 |
+
<show_in_default>1</show_in_default>
|
1146 |
+
<show_in_website>1</show_in_website>
|
1147 |
+
<show_in_store>1</show_in_store>
|
1148 |
+
</position>
|
1149 |
+
<encoding translate="label comment tooltip">
|
1150 |
+
<label>Request Data Encoding</label>
|
1151 |
+
<sort_order>50</sort_order>
|
1152 |
+
<frontend_type>select</frontend_type>
|
1153 |
+
<source_model>ops/system_config_backend_encoding</source_model>
|
1154 |
+
<comment><![CDATA[When using Klarna as your aquirer you will need to switch to the option 'Other'.]]></comment>
|
1155 |
+
<tooltip><![CDATA[When the option 'Other' is selected the request data will get converted to ASCII chararcters by using the appropriate transliterations for the given locale of the store.]]></tooltip>
|
1156 |
+
<show_in_default>1</show_in_default>
|
1157 |
+
<show_in_website>1</show_in_website>
|
1158 |
+
<show_in_store>1</show_in_store>
|
1159 |
+
</encoding>
|
1160 |
+
<show_invoice_terms translate="label tooltip">
|
1161 |
+
<label>Show invoice terms link</label>
|
1162 |
+
<sort_order>60</sort_order>
|
1163 |
+
<frontend_type>select</frontend_type>
|
1164 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1165 |
+
<tooltip><![CDATA[Allows you to display a configurable link to your aquirers invoicing terms and conditions.]]></tooltip>
|
1166 |
+
<show_in_default>1</show_in_default>
|
1167 |
+
<show_in_website>1</show_in_website>
|
1168 |
+
<show_in_store>1</show_in_store>
|
1169 |
+
</show_invoice_terms>
|
1170 |
+
<invoice_terms_title translate="label">
|
1171 |
+
<label>Invoice terms title</label>
|
1172 |
+
<sort_order>61</sort_order>
|
1173 |
+
<frontend_type>text</frontend_type>
|
1174 |
+
<show_in_default>1</show_in_default>
|
1175 |
+
<show_in_website>1</show_in_website>
|
1176 |
+
<show_in_store>1</show_in_store>
|
1177 |
+
<depends>
|
1178 |
+
<show_invoice_terms>1</show_invoice_terms>
|
1179 |
+
</depends>
|
1180 |
+
<validate>required-entry</validate>
|
1181 |
+
</invoice_terms_title>
|
1182 |
+
<invoice_terms_url translate="label">
|
1183 |
+
<label>Invoice terms URL</label>
|
1184 |
+
<sort_order>62</sort_order>
|
1185 |
+
<frontend_type>text</frontend_type>
|
1186 |
+
<show_in_default>1</show_in_default>
|
1187 |
+
<show_in_website>1</show_in_website>
|
1188 |
+
<show_in_store>1</show_in_store>
|
1189 |
+
<depends>
|
1190 |
+
<show_invoice_terms>1</show_invoice_terms>
|
1191 |
+
</depends>
|
1192 |
+
<validate>required-entry</validate>
|
1193 |
+
</invoice_terms_url>
|
1194 |
+
</fields>
|
1195 |
+
</ops_openInvoiceDe>
|
1196 |
+
<ops_openInvoiceAt translate="label">
|
1197 |
+
<label>Ingenico ePayments Open Invoice AT</label>
|
1198 |
+
<sort_order>120</sort_order>
|
1199 |
+
<show_in_default>1</show_in_default>
|
1200 |
<show_in_website>1</show_in_website>
|
1201 |
<show_in_store>1</show_in_store>
|
1202 |
<fields>
|
1237 |
<show_in_website>1</show_in_website>
|
1238 |
<show_in_store>1</show_in_store>
|
1239 |
</sort_order>
|
1240 |
+
<image translate="label comment">
|
1241 |
+
<label>Payment Logo</label>
|
1242 |
+
<sort_order>30</sort_order>
|
1243 |
+
<frontend_type>paymentLogo</frontend_type>
|
1244 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1245 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1246 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1247 |
+
<show_in_default>1</show_in_default>
|
1248 |
+
<show_in_website>1</show_in_website>
|
1249 |
+
<show_in_store>1</show_in_store>
|
1250 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1251 |
+
</image>
|
1252 |
+
<position translate="label">
|
1253 |
+
<label>Payment Logo Visibility</label>
|
1254 |
+
<sort_order>40</sort_order>
|
1255 |
+
<frontend_type>select</frontend_type>
|
1256 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1257 |
+
<show_in_default>1</show_in_default>
|
1258 |
+
<show_in_website>1</show_in_website>
|
1259 |
+
<show_in_store>1</show_in_store>
|
1260 |
+
</position>
|
1261 |
+
<encoding translate="label comment tooltip">
|
1262 |
+
<label>Request Data Encoding</label>
|
1263 |
+
<sort_order>50</sort_order>
|
1264 |
+
<frontend_type>select</frontend_type>
|
1265 |
+
<source_model>ops/system_config_backend_encoding</source_model>
|
1266 |
+
<comment><![CDATA[When using Klarna as your aquirer you will need to switch to the option 'Other'.]]></comment>
|
1267 |
+
<tooltip><![CDATA[When the option 'Other' is selected the request data will get converted to ASCII chararcters by using the appropriate transliterations for the given locale of the store.]]></tooltip>
|
1268 |
+
<show_in_default>1</show_in_default>
|
1269 |
+
<show_in_website>1</show_in_website>
|
1270 |
+
<show_in_store>1</show_in_store>
|
1271 |
+
</encoding>
|
1272 |
+
<show_invoice_terms translate="label tooltip">
|
1273 |
+
<label>Show invoice terms link</label>
|
1274 |
+
<sort_order>60</sort_order>
|
1275 |
+
<frontend_type>select</frontend_type>
|
1276 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1277 |
+
<tooltip><![CDATA[Allows you to display a configurable link to your aquirers invoicing terms and conditions.]]></tooltip>
|
1278 |
+
<show_in_default>1</show_in_default>
|
1279 |
+
<show_in_website>1</show_in_website>
|
1280 |
+
<show_in_store>1</show_in_store>
|
1281 |
+
</show_invoice_terms>
|
1282 |
+
<invoice_terms_title translate="label">
|
1283 |
+
<label>Invoice terms title</label>
|
1284 |
+
<sort_order>61</sort_order>
|
1285 |
+
<frontend_type>text</frontend_type>
|
1286 |
+
<show_in_default>1</show_in_default>
|
1287 |
+
<show_in_website>1</show_in_website>
|
1288 |
+
<show_in_store>1</show_in_store>
|
1289 |
+
<depends>
|
1290 |
+
<show_invoice_terms>1</show_invoice_terms>
|
1291 |
+
</depends>
|
1292 |
+
<validate>required-entry</validate>
|
1293 |
+
</invoice_terms_title>
|
1294 |
+
<invoice_terms_url translate="label">
|
1295 |
+
<label>Invoice terms URL</label>
|
1296 |
+
<sort_order>62</sort_order>
|
1297 |
+
<frontend_type>text</frontend_type>
|
1298 |
+
<show_in_default>1</show_in_default>
|
1299 |
+
<show_in_website>1</show_in_website>
|
1300 |
+
<show_in_store>1</show_in_store>
|
1301 |
+
<depends>
|
1302 |
+
<show_invoice_terms>1</show_invoice_terms>
|
1303 |
+
</depends>
|
1304 |
+
<validate>required-entry</validate>
|
1305 |
+
</invoice_terms_url>
|
1306 |
</fields>
|
1307 |
</ops_openInvoiceAt>
|
1308 |
<ops_openInvoiceNl translate="label">
|
1309 |
<label>Ingenico ePayments Open Invoice NL</label>
|
1310 |
+
<sort_order>130</sort_order>
|
1311 |
<show_in_default>1</show_in_default>
|
1312 |
<show_in_website>1</show_in_website>
|
1313 |
<show_in_store>1</show_in_store>
|
1339 |
<show_in_website>1</show_in_website>
|
1340 |
<show_in_store>1</show_in_store>
|
1341 |
</sort_order>
|
1342 |
+
<image translate="label comment">
|
1343 |
+
<label>Payment Logo</label>
|
1344 |
+
<sort_order>30</sort_order>
|
1345 |
+
<frontend_type>paymentLogo</frontend_type>
|
1346 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1347 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1348 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1349 |
+
<show_in_default>1</show_in_default>
|
1350 |
+
<show_in_website>1</show_in_website>
|
1351 |
+
<show_in_store>1</show_in_store>
|
1352 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1353 |
+
</image>
|
1354 |
+
<position translate="label">
|
1355 |
+
<label>Payment Logo Visibility</label>
|
1356 |
+
<sort_order>40</sort_order>
|
1357 |
+
<frontend_type>select</frontend_type>
|
1358 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1359 |
+
<show_in_default>1</show_in_default>
|
1360 |
+
<show_in_website>1</show_in_website>
|
1361 |
+
<show_in_store>1</show_in_store>
|
1362 |
+
</position>
|
1363 |
+
<encoding translate="label comment tooltip">
|
1364 |
+
<label>Request Data Encoding</label>
|
1365 |
+
<sort_order>50</sort_order>
|
1366 |
+
<frontend_type>select</frontend_type>
|
1367 |
+
<source_model>ops/system_config_backend_encoding</source_model>
|
1368 |
+
<comment><![CDATA[When using Klarna as your aquirer you will need to switch to the option 'Other'.]]></comment>
|
1369 |
+
<tooltip><![CDATA[When the option 'Other' is selected the request data will get converted to ASCII chararcters by using the appropriate transliterations for the given locale of the store.]]></tooltip>
|
1370 |
+
<show_in_default>1</show_in_default>
|
1371 |
+
<show_in_website>1</show_in_website>
|
1372 |
+
<show_in_store>1</show_in_store>
|
1373 |
+
</encoding>
|
1374 |
+
<show_invoice_terms translate="label tooltip">
|
1375 |
+
<label>Show invoice terms link</label>
|
1376 |
+
<sort_order>60</sort_order>
|
1377 |
+
<frontend_type>select</frontend_type>
|
1378 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1379 |
+
<show_in_default>1</show_in_default>
|
1380 |
+
<show_in_website>1</show_in_website>
|
1381 |
+
<show_in_store>1</show_in_store>
|
1382 |
+
<tooltip><![CDATA[Allows you to display a configurable link to your aquirers invoicing terms and conditions.]]></tooltip>
|
1383 |
+
</show_invoice_terms>
|
1384 |
+
<invoice_terms_title translate="label">
|
1385 |
+
<label>Invoice terms title</label>
|
1386 |
+
<sort_order>61</sort_order>
|
1387 |
+
<frontend_type>text</frontend_type>
|
1388 |
+
<show_in_default>1</show_in_default>
|
1389 |
+
<show_in_website>1</show_in_website>
|
1390 |
+
<show_in_store>1</show_in_store>
|
1391 |
+
<depends>
|
1392 |
+
<show_invoice_terms>1</show_invoice_terms>
|
1393 |
+
</depends>
|
1394 |
+
<validate>required-entry</validate>
|
1395 |
+
</invoice_terms_title>
|
1396 |
+
<invoice_terms_url translate="label">
|
1397 |
+
<label>Invoice terms URL</label>
|
1398 |
+
<sort_order>62</sort_order>
|
1399 |
+
<frontend_type>text</frontend_type>
|
1400 |
+
<show_in_default>1</show_in_default>
|
1401 |
+
<show_in_website>1</show_in_website>
|
1402 |
+
<show_in_store>1</show_in_store>
|
1403 |
+
<depends>
|
1404 |
+
<show_invoice_terms>1</show_invoice_terms>
|
1405 |
+
</depends>
|
1406 |
+
<validate>required-entry</validate>
|
1407 |
+
</invoice_terms_url>
|
1408 |
</fields>
|
1409 |
</ops_openInvoiceNl>
|
1410 |
<ops_cbcOnline translate="label">
|
1411 |
<label>Ingenico ePayments CbcOnline</label>
|
1412 |
+
<sort_order>140</sort_order>
|
1413 |
<show_in_default>1</show_in_default>
|
1414 |
<show_in_website>1</show_in_website>
|
1415 |
<show_in_store>1</show_in_store>
|
1440 |
<show_in_website>1</show_in_website>
|
1441 |
<show_in_store>1</show_in_store>
|
1442 |
</sort_order>
|
1443 |
+
<allowspecific translate="label">
|
1444 |
+
<label>Payment from Applicable Countries</label>
|
1445 |
+
<frontend_type>allowspecific</frontend_type>
|
1446 |
+
<sort_order>30</sort_order>
|
1447 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1448 |
+
<show_in_default>1</show_in_default>
|
1449 |
+
<show_in_website>1</show_in_website>
|
1450 |
+
<show_in_store>0</show_in_store>
|
1451 |
+
</allowspecific>
|
1452 |
+
<specificcountry translate="label">
|
1453 |
+
<label>Payment from Specific Countries</label>
|
1454 |
+
<frontend_type>multiselect</frontend_type>
|
1455 |
+
<sort_order>40</sort_order>
|
1456 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1457 |
+
<show_in_default>1</show_in_default>
|
1458 |
+
<show_in_website>1</show_in_website>
|
1459 |
+
<show_in_store>0</show_in_store>
|
1460 |
+
<can_be_empty>1</can_be_empty>
|
1461 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1462 |
+
</specificcountry>
|
1463 |
+
<image translate="label comment">
|
1464 |
+
<label>Payment Logo</label>
|
1465 |
+
<sort_order>50</sort_order>
|
1466 |
+
<frontend_type>paymentLogo</frontend_type>
|
1467 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1468 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1469 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1470 |
+
<show_in_default>1</show_in_default>
|
1471 |
+
<show_in_website>1</show_in_website>
|
1472 |
+
<show_in_store>1</show_in_store>
|
1473 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1474 |
+
</image>
|
1475 |
+
<position translate="label">
|
1476 |
+
<label>Payment Logo Visibility</label>
|
1477 |
+
<sort_order>60</sort_order>
|
1478 |
+
<frontend_type>select</frontend_type>
|
1479 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1480 |
+
<show_in_default>1</show_in_default>
|
1481 |
+
<show_in_website>1</show_in_website>
|
1482 |
+
<show_in_store>1</show_in_store>
|
1483 |
+
</position>
|
1484 |
</fields>
|
1485 |
</ops_cbcOnline>
|
1486 |
<ops_giroPay translate="label">
|
1487 |
<label>Ingenico ePayments GiroPay</label>
|
1488 |
+
<sort_order>150</sort_order>
|
1489 |
<show_in_default>1</show_in_default>
|
1490 |
<show_in_website>1</show_in_website>
|
1491 |
<show_in_store>1</show_in_store>
|
1516 |
<show_in_website>1</show_in_website>
|
1517 |
<show_in_store>1</show_in_store>
|
1518 |
</sort_order>
|
1519 |
+
<allowspecific translate="label">
|
1520 |
+
<label>Payment from Applicable Countries</label>
|
1521 |
+
<frontend_type>allowspecific</frontend_type>
|
1522 |
+
<sort_order>30</sort_order>
|
1523 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1524 |
+
<show_in_default>1</show_in_default>
|
1525 |
+
<show_in_website>1</show_in_website>
|
1526 |
+
<show_in_store>0</show_in_store>
|
1527 |
+
</allowspecific>
|
1528 |
+
<specificcountry translate="label">
|
1529 |
+
<label>Payment from Specific Countries</label>
|
1530 |
+
<frontend_type>multiselect</frontend_type>
|
1531 |
+
<sort_order>40</sort_order>
|
1532 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1533 |
+
<show_in_default>1</show_in_default>
|
1534 |
+
<show_in_website>1</show_in_website>
|
1535 |
+
<show_in_store>0</show_in_store>
|
1536 |
+
<can_be_empty>1</can_be_empty>
|
1537 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1538 |
+
</specificcountry>
|
1539 |
+
<image translate="label comment">
|
1540 |
+
<label>Payment Logo</label>
|
1541 |
+
<sort_order>50</sort_order>
|
1542 |
+
<frontend_type>paymentLogo</frontend_type>
|
1543 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1544 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1545 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1546 |
+
<show_in_default>1</show_in_default>
|
1547 |
+
<show_in_website>1</show_in_website>
|
1548 |
+
<show_in_store>1</show_in_store>
|
1549 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1550 |
+
</image>
|
1551 |
+
<position translate="label">
|
1552 |
+
<label>Payment Logo Visibility</label>
|
1553 |
+
<sort_order>60</sort_order>
|
1554 |
+
<frontend_type>select</frontend_type>
|
1555 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1556 |
+
<show_in_default>1</show_in_default>
|
1557 |
+
<show_in_website>1</show_in_website>
|
1558 |
+
<show_in_store>1</show_in_store>
|
1559 |
+
</position>
|
1560 |
</fields>
|
1561 |
</ops_giroPay>
|
1562 |
<ops_Masterpass translate="label">
|
1563 |
<label>Ingenico ePayments Masterpass</label>
|
1564 |
+
<sort_order>160</sort_order>
|
1565 |
<show_in_default>1</show_in_default>
|
1566 |
<show_in_website>1</show_in_website>
|
1567 |
<show_in_store>1</show_in_store>
|
1592 |
<show_in_website>1</show_in_website>
|
1593 |
<show_in_store>1</show_in_store>
|
1594 |
</sort_order>
|
1595 |
+
<allowspecific translate="label">
|
1596 |
+
<label>Payment from Applicable Countries</label>
|
1597 |
+
<frontend_type>allowspecific</frontend_type>
|
1598 |
+
<sort_order>30</sort_order>
|
1599 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1600 |
+
<show_in_default>1</show_in_default>
|
1601 |
+
<show_in_website>1</show_in_website>
|
1602 |
+
<show_in_store>0</show_in_store>
|
1603 |
+
</allowspecific>
|
1604 |
+
<specificcountry translate="label">
|
1605 |
+
<label>Payment from Specific Countries</label>
|
1606 |
+
<frontend_type>multiselect</frontend_type>
|
1607 |
+
<sort_order>40</sort_order>
|
1608 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1609 |
+
<show_in_default>1</show_in_default>
|
1610 |
+
<show_in_website>1</show_in_website>
|
1611 |
+
<show_in_store>0</show_in_store>
|
1612 |
+
<can_be_empty>1</can_be_empty>
|
1613 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1614 |
+
</specificcountry>
|
1615 |
+
<image translate="label comment">
|
1616 |
+
<label>Payment Logo</label>
|
1617 |
+
<sort_order>50</sort_order>
|
1618 |
+
<frontend_type>paymentLogo</frontend_type>
|
1619 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1620 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1621 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1622 |
+
<show_in_default>1</show_in_default>
|
1623 |
+
<show_in_website>1</show_in_website>
|
1624 |
+
<show_in_store>1</show_in_store>
|
1625 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1626 |
+
</image>
|
1627 |
+
<position translate="label">
|
1628 |
+
<label>Payment Logo Visibility</label>
|
1629 |
+
<sort_order>60</sort_order>
|
1630 |
+
<frontend_type>select</frontend_type>
|
1631 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1632 |
+
<show_in_default>1</show_in_default>
|
1633 |
+
<show_in_website>1</show_in_website>
|
1634 |
+
<show_in_store>1</show_in_store>
|
1635 |
+
</position>
|
1636 |
</fields>
|
1637 |
</ops_Masterpass>
|
1638 |
<ops_interSolve translate="label">
|
1639 |
<label>Ingenico ePayments InterSolve</label>
|
1640 |
+
<sort_order>170</sort_order>
|
1641 |
<show_in_default>1</show_in_default>
|
1642 |
<show_in_website>1</show_in_website>
|
1643 |
+
<show_in_store>1</show_in_store>fkbc
|
1644 |
<fields>
|
1645 |
<active translate="label">
|
1646 |
<label>Enabled</label>
|
1668 |
<show_in_website>1</show_in_website>
|
1669 |
<show_in_store>1</show_in_store>
|
1670 |
</sort_order>
|
1671 |
+
<allowspecific translate="label">
|
1672 |
+
<label>Payment from Applicable Countries</label>
|
1673 |
+
<frontend_type>allowspecific</frontend_type>
|
1674 |
+
<sort_order>30</sort_order>
|
1675 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1676 |
+
<show_in_default>1</show_in_default>
|
1677 |
+
<show_in_website>1</show_in_website>
|
1678 |
+
<show_in_store>0</show_in_store>
|
1679 |
+
</allowspecific>
|
1680 |
+
<specificcountry translate="label">
|
1681 |
+
<label>Payment from Specific Countries</label>
|
1682 |
+
<frontend_type>multiselect</frontend_type>
|
1683 |
+
<sort_order>40</sort_order>
|
1684 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1685 |
+
<show_in_default>1</show_in_default>
|
1686 |
+
<show_in_website>1</show_in_website>
|
1687 |
+
<show_in_store>0</show_in_store>
|
1688 |
+
<can_be_empty>1</can_be_empty>
|
1689 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1690 |
+
</specificcountry>
|
1691 |
+
<image translate="label comment">
|
1692 |
+
<label>Payment Logo</label>
|
1693 |
+
<sort_order>50</sort_order>
|
1694 |
+
<frontend_type>paymentLogo</frontend_type>
|
1695 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1696 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1697 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1698 |
+
<show_in_default>1</show_in_default>
|
1699 |
+
<show_in_website>1</show_in_website>
|
1700 |
+
<show_in_store>1</show_in_store>
|
1701 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1702 |
+
</image>
|
1703 |
+
<position translate="label">
|
1704 |
+
<label>Payment Logo Visibility</label>
|
1705 |
+
<sort_order>60</sort_order>
|
1706 |
+
<frontend_type>select</frontend_type>
|
1707 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1708 |
+
<show_in_default>1</show_in_default>
|
1709 |
+
<show_in_website>1</show_in_website>
|
1710 |
+
<show_in_store>1</show_in_store>
|
1711 |
+
</position>
|
1712 |
<brands translate="label comment">
|
1713 |
<label>Brand</label>
|
1714 |
<frontend_model>ops/system_config_form_field_brand</frontend_model>
|
1715 |
<backend_model>ops/system_config_backend_intersolve_brands</backend_model>
|
1716 |
+
<sort_order>70</sort_order>
|
1717 |
<show_in_default>1</show_in_default>
|
1718 |
<show_in_website>1</show_in_website>
|
1719 |
<show_in_store>1</show_in_store>
|
1723 |
</ops_interSolve>
|
1724 |
<ops_cashU translate="label">
|
1725 |
<label>Ingenico ePayments CashU</label>
|
1726 |
+
<sort_order>180</sort_order>
|
1727 |
<show_in_default>1</show_in_default>
|
1728 |
<show_in_website>1</show_in_website>
|
1729 |
<show_in_store>1</show_in_store>
|
1754 |
<show_in_website>1</show_in_website>
|
1755 |
<show_in_store>1</show_in_store>
|
1756 |
</sort_order>
|
1757 |
+
<allowspecific translate="label">
|
1758 |
+
<label>Payment from Applicable Countries</label>
|
1759 |
+
<frontend_type>allowspecific</frontend_type>
|
1760 |
+
<sort_order>30</sort_order>
|
1761 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1762 |
+
<show_in_default>1</show_in_default>
|
1763 |
+
<show_in_website>1</show_in_website>
|
1764 |
+
<show_in_store>0</show_in_store>
|
1765 |
+
</allowspecific>
|
1766 |
+
<specificcountry translate="label">
|
1767 |
+
<label>Payment from Specific Countries</label>
|
1768 |
+
<frontend_type>multiselect</frontend_type>
|
1769 |
+
<sort_order>40</sort_order>
|
1770 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1771 |
+
<show_in_default>1</show_in_default>
|
1772 |
+
<show_in_website>1</show_in_website>
|
1773 |
+
<show_in_store>0</show_in_store>
|
1774 |
+
<can_be_empty>1</can_be_empty>
|
1775 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1776 |
+
</specificcountry>
|
1777 |
+
<image translate="label comment">
|
1778 |
+
<label>Payment Logo</label>
|
1779 |
+
<sort_order>50</sort_order>
|
1780 |
+
<frontend_type>paymentLogo</frontend_type>
|
1781 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1782 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1783 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1784 |
+
<show_in_default>1</show_in_default>
|
1785 |
+
<show_in_website>1</show_in_website>
|
1786 |
+
<show_in_store>1</show_in_store>
|
1787 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1788 |
+
</image>
|
1789 |
+
<position translate="label">
|
1790 |
+
<label>Payment Logo Visibility</label>
|
1791 |
+
<sort_order>60</sort_order>
|
1792 |
+
<frontend_type>select</frontend_type>
|
1793 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1794 |
+
<show_in_default>1</show_in_default>
|
1795 |
+
<show_in_website>1</show_in_website>
|
1796 |
+
<show_in_store>1</show_in_store>
|
1797 |
+
</position>
|
1798 |
</fields>
|
1799 |
</ops_cashU>
|
1800 |
+
<ops_paypal translate="label">
|
1801 |
+
<label>Ingenico ePayments Paypal</label>
|
1802 |
+
<sort_order>200</sort_order>
|
1803 |
<show_in_default>1</show_in_default>
|
1804 |
<show_in_website>1</show_in_website>
|
1805 |
<show_in_store>1</show_in_store>
|
1830 |
<show_in_website>1</show_in_website>
|
1831 |
<show_in_store>1</show_in_store>
|
1832 |
</sort_order>
|
1833 |
+
<allowspecific translate="label">
|
1834 |
+
<label>Payment from Applicable Countries</label>
|
1835 |
+
<frontend_type>allowspecific</frontend_type>
|
1836 |
+
<sort_order>30</sort_order>
|
1837 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1838 |
<show_in_default>1</show_in_default>
|
1839 |
<show_in_website>1</show_in_website>
|
1840 |
<show_in_store>0</show_in_store>
|
1841 |
+
</allowspecific>
|
1842 |
+
<specificcountry translate="label">
|
1843 |
+
<label>Payment from Specific Countries</label>
|
1844 |
+
<frontend_type>multiselect</frontend_type>
|
1845 |
+
<sort_order>40</sort_order>
|
1846 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1847 |
+
<show_in_default>1</show_in_default>
|
1848 |
+
<show_in_website>1</show_in_website>
|
1849 |
+
<show_in_store>0</show_in_store>
|
1850 |
+
<can_be_empty>1</can_be_empty>
|
1851 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1852 |
+
</specificcountry>
|
1853 |
+
<image translate="label comment">
|
1854 |
+
<label>Payment Logo</label>
|
1855 |
+
<sort_order>50</sort_order>
|
1856 |
+
<frontend_type>paymentLogo</frontend_type>
|
1857 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1858 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1859 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1860 |
<show_in_default>1</show_in_default>
|
1861 |
<show_in_website>1</show_in_website>
|
1862 |
<show_in_store>1</show_in_store>
|
1863 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1864 |
+
</image>
|
1865 |
+
<position translate="label">
|
1866 |
+
<label>Payment Logo Visibility</label>
|
1867 |
+
<sort_order>60</sort_order>
|
1868 |
+
<frontend_type>select</frontend_type>
|
1869 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1870 |
<show_in_default>1</show_in_default>
|
1871 |
<show_in_website>1</show_in_website>
|
1872 |
<show_in_store>1</show_in_store>
|
1873 |
+
</position>
|
1874 |
</fields>
|
1875 |
</ops_paypal>
|
1876 |
<ops_eps translate="label">
|
1877 |
<label>Ingenico ePayments Eps</label>
|
1878 |
+
<sort_order>210</sort_order>
|
1879 |
<show_in_default>1</show_in_default>
|
1880 |
<show_in_website>1</show_in_website>
|
1881 |
<show_in_store>1</show_in_store>
|
1906 |
<show_in_website>1</show_in_website>
|
1907 |
<show_in_store>1</show_in_store>
|
1908 |
</sort_order>
|
1909 |
+
<allowspecific translate="label">
|
1910 |
+
<label>Payment from Applicable Countries</label>
|
1911 |
+
<frontend_type>allowspecific</frontend_type>
|
1912 |
+
<sort_order>30</sort_order>
|
1913 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1914 |
+
<show_in_default>1</show_in_default>
|
1915 |
+
<show_in_website>1</show_in_website>
|
1916 |
+
<show_in_store>0</show_in_store>
|
1917 |
+
</allowspecific>
|
1918 |
+
<specificcountry translate="label">
|
1919 |
+
<label>Payment from Specific Countries</label>
|
1920 |
+
<frontend_type>multiselect</frontend_type>
|
1921 |
+
<sort_order>40</sort_order>
|
1922 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1923 |
+
<show_in_default>1</show_in_default>
|
1924 |
+
<show_in_website>1</show_in_website>
|
1925 |
+
<show_in_store>0</show_in_store>
|
1926 |
+
<can_be_empty>1</can_be_empty>
|
1927 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1928 |
+
</specificcountry>
|
1929 |
+
<image translate="label comment">
|
1930 |
+
<label>Payment Logo</label>
|
1931 |
+
<sort_order>50</sort_order>
|
1932 |
+
<frontend_type>paymentLogo</frontend_type>
|
1933 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
1934 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
1935 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
1936 |
+
<show_in_default>1</show_in_default>
|
1937 |
+
<show_in_website>1</show_in_website>
|
1938 |
+
<show_in_store>1</show_in_store>
|
1939 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
1940 |
+
</image>
|
1941 |
+
<position translate="label">
|
1942 |
+
<label>Payment Logo Visibility</label>
|
1943 |
+
<sort_order>60</sort_order>
|
1944 |
+
<frontend_type>select</frontend_type>
|
1945 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
1946 |
+
<show_in_default>1</show_in_default>
|
1947 |
+
<show_in_website>1</show_in_website>
|
1948 |
+
<show_in_store>1</show_in_store>
|
1949 |
+
</position>
|
1950 |
</fields>
|
1951 |
</ops_eps>
|
1952 |
<ops_pingPing translate="label">
|
1953 |
<label>Ingenico ePayments PingPing</label>
|
1954 |
+
<sort_order>220</sort_order>
|
1955 |
<show_in_default>1</show_in_default>
|
1956 |
<show_in_website>1</show_in_website>
|
1957 |
<show_in_store>1</show_in_store>
|
1982 |
<show_in_website>1</show_in_website>
|
1983 |
<show_in_store>1</show_in_store>
|
1984 |
</sort_order>
|
1985 |
+
<allowspecific translate="label">
|
1986 |
+
<label>Payment from Applicable Countries</label>
|
1987 |
+
<frontend_type>allowspecific</frontend_type>
|
1988 |
+
<sort_order>30</sort_order>
|
1989 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1990 |
+
<show_in_default>1</show_in_default>
|
1991 |
+
<show_in_website>1</show_in_website>
|
1992 |
+
<show_in_store>0</show_in_store>
|
1993 |
+
</allowspecific>
|
1994 |
+
<specificcountry translate="label">
|
1995 |
+
<label>Payment from Specific Countries</label>
|
1996 |
+
<frontend_type>multiselect</frontend_type>
|
1997 |
+
<sort_order>40</sort_order>
|
1998 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1999 |
+
<show_in_default>1</show_in_default>
|
2000 |
+
<show_in_website>1</show_in_website>
|
2001 |
+
<show_in_store>0</show_in_store>
|
2002 |
+
<can_be_empty>1</can_be_empty>
|
2003 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2004 |
+
</specificcountry>
|
2005 |
+
<image translate="label comment">
|
2006 |
+
<label>Payment Logo</label>
|
2007 |
+
<sort_order>50</sort_order>
|
2008 |
+
<frontend_type>paymentLogo</frontend_type>
|
2009 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2010 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2011 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2012 |
+
<show_in_default>1</show_in_default>
|
2013 |
+
<show_in_website>1</show_in_website>
|
2014 |
+
<show_in_store>1</show_in_store>
|
2015 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2016 |
+
</image>
|
2017 |
+
<position translate="label">
|
2018 |
+
<label>Payment Logo Visibility</label>
|
2019 |
+
<sort_order>60</sort_order>
|
2020 |
+
<frontend_type>select</frontend_type>
|
2021 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2022 |
+
<show_in_default>1</show_in_default>
|
2023 |
+
<show_in_website>1</show_in_website>
|
2024 |
+
<show_in_store>1</show_in_store>
|
2025 |
+
</position>
|
2026 |
</fields>
|
2027 |
</ops_pingPing>
|
2028 |
<ops_fortisPayButton translate="label">
|
2029 |
<label>Ingenico ePayments FortisPayButton</label>
|
2030 |
+
<sort_order>230</sort_order>
|
2031 |
<show_in_default>1</show_in_default>
|
2032 |
<show_in_website>1</show_in_website>
|
2033 |
<show_in_store>1</show_in_store>
|
2058 |
<show_in_website>1</show_in_website>
|
2059 |
<show_in_store>1</show_in_store>
|
2060 |
</sort_order>
|
2061 |
+
<allowspecific translate="label">
|
2062 |
+
<label>Payment from Applicable Countries</label>
|
2063 |
+
<frontend_type>allowspecific</frontend_type>
|
2064 |
+
<sort_order>30</sort_order>
|
2065 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
2066 |
+
<show_in_default>1</show_in_default>
|
2067 |
+
<show_in_website>1</show_in_website>
|
2068 |
+
<show_in_store>0</show_in_store>
|
2069 |
+
</allowspecific>
|
2070 |
+
<specificcountry translate="label">
|
2071 |
+
<label>Payment from Specific Countries</label>
|
2072 |
+
<frontend_type>multiselect</frontend_type>
|
2073 |
+
<sort_order>40</sort_order>
|
2074 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
2075 |
+
<show_in_default>1</show_in_default>
|
2076 |
+
<show_in_website>1</show_in_website>
|
2077 |
+
<show_in_store>0</show_in_store>
|
2078 |
+
<can_be_empty>1</can_be_empty>
|
2079 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2080 |
+
</specificcountry>
|
2081 |
+
<image translate="label comment">
|
2082 |
+
<label>Payment Logo</label>
|
2083 |
+
<sort_order>50</sort_order>
|
2084 |
+
<frontend_type>paymentLogo</frontend_type>
|
2085 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2086 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2087 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2088 |
+
<show_in_default>1</show_in_default>
|
2089 |
+
<show_in_website>1</show_in_website>
|
2090 |
+
<show_in_store>1</show_in_store>
|
2091 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2092 |
+
</image>
|
2093 |
+
<position translate="label">
|
2094 |
+
<label>Payment Logo Visibility</label>
|
2095 |
+
<sort_order>60</sort_order>
|
2096 |
+
<frontend_type>select</frontend_type>
|
2097 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2098 |
+
<show_in_default>1</show_in_default>
|
2099 |
+
<show_in_website>1</show_in_website>
|
2100 |
+
<show_in_store>1</show_in_store>
|
2101 |
+
</position>
|
2102 |
</fields>
|
2103 |
</ops_fortisPayButton>
|
2104 |
<ops_directEbanking translate="label">
|
2105 |
<label>Ingenico ePaymentsSofortÜberweisung</label>
|
2106 |
+
<sort_order>240</sort_order>
|
2107 |
<show_in_default>1</show_in_default>
|
2108 |
<show_in_website>1</show_in_website>
|
2109 |
<show_in_store>1</show_in_store>
|
2130 |
<label>Brands</label>
|
2131 |
<frontend_type>multiselect</frontend_type>
|
2132 |
<validate>required-entry</validate>
|
2133 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2134 |
<sort_order>20</sort_order>
|
2135 |
<source_model>ops/source_directEbanking_brands</source_model>
|
2136 |
<show_in_default>1</show_in_default>
|
2145 |
<show_in_website>1</show_in_website>
|
2146 |
<show_in_store>1</show_in_store>
|
2147 |
</sort_order>
|
2148 |
+
<allowspecific translate="label">
|
2149 |
+
<label>Payment from Applicable Countries</label>
|
2150 |
+
<frontend_type>allowspecific</frontend_type>
|
2151 |
+
<sort_order>40</sort_order>
|
2152 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
2153 |
+
<show_in_default>1</show_in_default>
|
2154 |
+
<show_in_website>1</show_in_website>
|
2155 |
+
<show_in_store>0</show_in_store>
|
2156 |
+
</allowspecific>
|
2157 |
+
<specificcountry translate="label">
|
2158 |
+
<label>Payment from Specific Countries</label>
|
2159 |
+
<frontend_type>multiselect</frontend_type>
|
2160 |
+
<sort_order>50</sort_order>
|
2161 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
2162 |
+
<show_in_default>1</show_in_default>
|
2163 |
+
<show_in_website>1</show_in_website>
|
2164 |
+
<show_in_store>0</show_in_store>
|
2165 |
+
<can_be_empty>1</can_be_empty>
|
2166 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2167 |
+
</specificcountry>
|
2168 |
+
<image translate="label comment">
|
2169 |
+
<label>Payment Logo</label>
|
2170 |
+
<sort_order>60</sort_order>
|
2171 |
+
<frontend_type>paymentLogo</frontend_type>
|
2172 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2173 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2174 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2175 |
+
<show_in_default>1</show_in_default>
|
2176 |
+
<show_in_website>1</show_in_website>
|
2177 |
+
<show_in_store>1</show_in_store>
|
2178 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2179 |
+
</image>
|
2180 |
+
<position translate="label">
|
2181 |
+
<label>Payment Logo Visibility</label>
|
2182 |
+
<sort_order>70</sort_order>
|
2183 |
+
<frontend_type>select</frontend_type>
|
2184 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2185 |
+
<show_in_default>1</show_in_default>
|
2186 |
+
<show_in_website>1</show_in_website>
|
2187 |
+
<show_in_store>1</show_in_store>
|
2188 |
+
</position>
|
2189 |
</fields>
|
2190 |
</ops_directEbanking>
|
2191 |
<ops_cc translate="label">
|
2192 |
<label>Ingenico ePayments Cc</label>
|
2193 |
+
<sort_order>250</sort_order>
|
2194 |
<show_in_default>1</show_in_default>
|
2195 |
<show_in_website>1</show_in_website>
|
2196 |
<show_in_store>1</show_in_store>
|
2222 |
<show_in_store>1</show_in_store>
|
2223 |
</sort_order>
|
2224 |
<types translate="label">
|
2225 |
+
<label>Enabled Card Types</label>
|
2226 |
<frontend_type>multiselect</frontend_type>
|
2227 |
<sort_order>30</sort_order>
|
2228 |
<source_model>ops/source_cc_types</source_model>
|
2232 |
</types>
|
2233 |
<redirect_all translate="label comment">
|
2234 |
<label>Enable redirect payment for all card types</label>
|
2235 |
+
<comment><![CDATA[If set to <em>Yes</em>, customers will be redirected to the external Ingenico ePayments payment page.]]></comment>
|
2236 |
<frontend_type>select</frontend_type>
|
2237 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2238 |
<sort_order>40</sort_order>
|
2241 |
<show_in_store>1</show_in_store>
|
2242 |
</redirect_all>
|
2243 |
<inline_types translate="label tooltip">
|
2244 |
+
<label>Enable inline payment (Direct Link) for these card types</label>
|
2245 |
<tooltip><![CDATA[For the selected card types, the customer can enter the credit card details directly in the checkout.]]></tooltip>
|
2246 |
<frontend_type>multiselect</frontend_type>
|
2247 |
<source_model>ops/source_cc_aliasInterfaceEnabledTypes</source_model>
|
2248 |
<sort_order>41</sort_order>
|
2249 |
+
<depends><redirect_all>0</redirect_all></depends>
|
|
|
|
|
2250 |
<show_in_default>1</show_in_default>
|
2251 |
<show_in_website>1</show_in_website>
|
2252 |
<show_in_store>1</show_in_store>
|
2261 |
<show_in_website>1</show_in_website>
|
2262 |
<show_in_store>0</show_in_store>
|
2263 |
</enabled_3dsecure>
|
2264 |
+
<image translate="label comment">
|
2265 |
+
<label>Payment Logo</label>
|
2266 |
+
<sort_order>80</sort_order>
|
2267 |
+
<frontend_type>paymentLogo</frontend_type>
|
2268 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2269 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2270 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2271 |
+
<show_in_default>1</show_in_default>
|
2272 |
+
<show_in_website>1</show_in_website>
|
2273 |
+
<show_in_store>1</show_in_store>
|
2274 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2275 |
+
</image>
|
2276 |
+
<position translate="label">
|
2277 |
+
<label>Payment Logo Visibility</label>
|
2278 |
+
<sort_order>90</sort_order>
|
2279 |
+
<frontend_type>select</frontend_type>
|
2280 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2281 |
+
<show_in_default>1</show_in_default>
|
2282 |
+
<show_in_website>1</show_in_website>
|
2283 |
+
<show_in_store>1</show_in_store>
|
2284 |
+
</position>
|
2285 |
<backend_enabled translate="label tooltip">
|
2286 |
<label>Enable for backend</label>
|
2287 |
<tooltip><![CDATA[This sets if this payment method should also be available for orders from the Magento backend.]]></tooltip>
|
2302 |
<show_in_website>1</show_in_website>
|
2303 |
<show_in_store>1</show_in_store>
|
2304 |
</active_alias>
|
2305 |
+
<alias_usage_for_new_alias translate="label comment">
|
2306 |
+
<label>Aliasusage New</label>
|
2307 |
+
<frontend_type>text</frontend_type>
|
2308 |
+
<sort_order>110</sort_order>
|
2309 |
+
<comment>Here you can enter the desired text which will be displayed on Ingenico ePayments side.</comment>
|
2310 |
+
<show_in_default>1</show_in_default>
|
2311 |
+
<show_in_website>1</show_in_website>
|
2312 |
+
<show_in_store>1</show_in_store>
|
2313 |
+
</alias_usage_for_new_alias>
|
2314 |
+
<alias_usage_for_existing_alias translate="label comment">
|
2315 |
+
<label>Aliasusage existing Alias</label>
|
2316 |
+
<frontend_type>text</frontend_type>
|
2317 |
+
<sort_order>111</sort_order>
|
2318 |
+
<comment>Here you can enter the desired text which is used for existing alias, the text will be displayed on Ingenico ePayments side.</comment>
|
2319 |
+
<show_in_default>1</show_in_default>
|
2320 |
+
<show_in_website>1</show_in_website>
|
2321 |
+
<show_in_store>1</show_in_store>
|
2322 |
+
</alias_usage_for_existing_alias>
|
2323 |
<zero_amount_checkout>
|
2324 |
<label>Allow zero amount authorization</label>
|
2325 |
<comment>Only if payment action is authorize.</comment>
|
2332 |
</zero_amount_checkout>
|
2333 |
</fields>
|
2334 |
</ops_cc>
|
2335 |
+
<ops_dc translate="label">
|
2336 |
+
<label>Ingenico ePayments Dc</label>
|
2337 |
+
<sort_order>260</sort_order>
|
2338 |
<show_in_default>1</show_in_default>
|
2339 |
<show_in_website>1</show_in_website>
|
2340 |
<show_in_store>1</show_in_store>
|
2343 |
<label>Enabled</label>
|
2344 |
<frontend_type>select</frontend_type>
|
2345 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2346 |
+
<sort_order>10</sort_order>
|
2347 |
<show_in_default>1</show_in_default>
|
2348 |
<show_in_website>1</show_in_website>
|
2349 |
<show_in_store>0</show_in_store>
|
2351 |
<title translate="label">
|
2352 |
<label>Title</label>
|
2353 |
<frontend_type>text</frontend_type>
|
2354 |
+
<sort_order>11</sort_order>
|
2355 |
<show_in_default>1</show_in_default>
|
2356 |
<show_in_website>1</show_in_website>
|
2357 |
<show_in_store>1</show_in_store>
|
2365 |
<show_in_website>1</show_in_website>
|
2366 |
<show_in_store>1</show_in_store>
|
2367 |
</sort_order>
|
2368 |
+
<types translate="label">
|
2369 |
+
<label>Enabled Card Types</label>
|
2370 |
+
<frontend_type>multiselect</frontend_type>
|
2371 |
+
<sort_order>30</sort_order>
|
2372 |
+
<source_model>ops/source_debitCard_types</source_model>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2373 |
<show_in_default>1</show_in_default>
|
2374 |
<show_in_website>1</show_in_website>
|
2375 |
<show_in_store>1</show_in_store>
|
2376 |
+
</types>
|
2377 |
+
<redirect_all translate="label comment">
|
2378 |
+
<label>Enable redirect payment for all card types</label>
|
2379 |
+
<comment><![CDATA[If set to <em>Yes</em>, customers will be redirected to the external Ingenico ePayments payment page.]]></comment>
|
2380 |
+
<frontend_type>select</frontend_type>
|
2381 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2382 |
+
<sort_order>40</sort_order>
|
2383 |
<show_in_default>1</show_in_default>
|
2384 |
<show_in_website>1</show_in_website>
|
2385 |
<show_in_store>1</show_in_store>
|
2386 |
+
</redirect_all>
|
2387 |
+
<inline_types translate="label tooltip">
|
2388 |
+
<label>Enable inline payment (Direct Link) for these card types</label>
|
2389 |
+
<tooltip><![CDATA[For the selected card types, the customer can enter the credit card details directly in the checkout.]]></tooltip>
|
2390 |
+
<frontend_type>multiselect</frontend_type>
|
2391 |
+
<source_model>ops/source_debitCard_aliasInterfaceEnabledTypes</source_model>
|
2392 |
+
<sort_order>41</sort_order>
|
2393 |
+
<depends><redirect_all>0</redirect_all></depends>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2394 |
<show_in_default>1</show_in_default>
|
2395 |
<show_in_website>1</show_in_website>
|
2396 |
<show_in_store>1</show_in_store>
|
2397 |
+
</inline_types>
|
2398 |
+
<enabled_3dsecure translate="label tooltip">
|
2399 |
+
<label>Enable 3D secure</label>
|
2400 |
+
<tooltip><![CDATA[If the customer's credit card supports 3D Secure, he will be redirected to an external page to enter his password.]]></tooltip>
|
2401 |
<frontend_type>select</frontend_type>
|
2402 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2403 |
+
<sort_order>50</sort_order>
|
2404 |
<show_in_default>1</show_in_default>
|
2405 |
<show_in_website>1</show_in_website>
|
2406 |
<show_in_store>0</show_in_store>
|
2407 |
+
</enabled_3dsecure>
|
2408 |
+
<image translate="label comment">
|
2409 |
+
<label>Payment Logo</label>
|
2410 |
+
<sort_order>80</sort_order>
|
2411 |
+
<frontend_type>paymentLogo</frontend_type>
|
2412 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2413 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2414 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2415 |
+
<show_in_default>1</show_in_default>
|
2416 |
+
<show_in_website>1</show_in_website>
|
2417 |
+
<show_in_store>1</show_in_store>
|
2418 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2419 |
+
</image>
|
2420 |
+
<position translate="label">
|
2421 |
+
<label>Payment Logo Visibility</label>
|
2422 |
+
<sort_order>90</sort_order>
|
2423 |
+
<frontend_type>select</frontend_type>
|
2424 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2425 |
+
<show_in_default>1</show_in_default>
|
2426 |
+
<show_in_website>1</show_in_website>
|
2427 |
+
<show_in_store>1</show_in_store>
|
2428 |
+
</position>
|
2429 |
+
<backend_enabled translate="label tooltip">
|
2430 |
+
<label>Enable for backend</label>
|
2431 |
+
<tooltip><![CDATA[This sets if this payment method should also be available for orders from the Magento backend.]]></tooltip>
|
2432 |
+
<frontend_type>select</frontend_type>
|
2433 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2434 |
+
<sort_order>100</sort_order>
|
2435 |
+
<show_in_default>1</show_in_default>
|
2436 |
+
<show_in_website>1</show_in_website>
|
2437 |
+
<show_in_store>1</show_in_store>
|
2438 |
+
</backend_enabled>
|
2439 |
+
<active_alias translate="label">
|
2440 |
+
<label>Enabled Alias Manager</label>
|
2441 |
+
<frontend_type>select</frontend_type>
|
2442 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2443 |
+
<sort_order>110</sort_order>
|
2444 |
+
<show_in_default>1</show_in_default>
|
2445 |
+
<show_in_website>1</show_in_website>
|
2446 |
+
<show_in_store>1</show_in_store>
|
2447 |
+
</active_alias>
|
2448 |
+
<alias_usage_for_new_alias translate="label comment">
|
2449 |
+
<label>Aliasusage New</label>
|
2450 |
+
<frontend_type>text</frontend_type>
|
2451 |
+
<sort_order>111</sort_order>
|
2452 |
+
<comment>Here you can enter the desired text which will be displayed on Ingenico ePayments side.</comment>
|
2453 |
+
<show_in_default>1</show_in_default>
|
2454 |
+
<show_in_website>1</show_in_website>
|
2455 |
+
<show_in_store>1</show_in_store>
|
2456 |
+
</alias_usage_for_new_alias>
|
2457 |
+
<alias_usage_for_existing_alias translate="label comment">
|
2458 |
+
<label>Aliasusage existing Alias</label>
|
2459 |
+
<frontend_type>text</frontend_type>
|
2460 |
+
<sort_order>112</sort_order>
|
2461 |
+
<comment>Here you can enter the desired text which is used for existing alias, the text will be displayed on Ingenico ePayments side.</comment>
|
2462 |
+
<show_in_default>1</show_in_default>
|
2463 |
+
<show_in_website>1</show_in_website>
|
2464 |
+
<show_in_store>1</show_in_store>
|
2465 |
+
</alias_usage_for_existing_alias>
|
2466 |
+
<show_alias_manager_info_for_guests translate="label">
|
2467 |
+
<label>Show Alias Manager information for guests</label>
|
2468 |
+
<frontend_type>select</frontend_type>
|
2469 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2470 |
+
<sort_order>120</sort_order>
|
2471 |
+
<show_in_default>1</show_in_default>
|
2472 |
+
<show_in_website>1</show_in_website>
|
2473 |
+
<show_in_store>1</show_in_store>
|
2474 |
+
<depends><active_alias>1</active_alias></depends>
|
2475 |
+
</show_alias_manager_info_for_guests>
|
2476 |
+
<zero_amount_checkout>
|
2477 |
+
<label>Allow zero amount authorization</label>
|
2478 |
+
<comment>Only if payment action is authorize.</comment>
|
2479 |
+
<frontend_type>select</frontend_type>
|
2480 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2481 |
+
<sort_order>130</sort_order>
|
2482 |
+
<show_in_default>1</show_in_default>
|
2483 |
+
<show_in_website>1</show_in_website>
|
2484 |
+
<show_in_store>1</show_in_store>
|
2485 |
+
</zero_amount_checkout>
|
2486 |
+
</fields>
|
2487 |
+
</ops_dc>
|
2488 |
+
<ops_ingHomePay translate="label">
|
2489 |
+
<label>Ingenico ePayments IngHomePay</label>
|
2490 |
+
<sort_order>270</sort_order>
|
2491 |
+
<show_in_default>1</show_in_default>
|
2492 |
+
<show_in_website>1</show_in_website>
|
2493 |
+
<show_in_store>1</show_in_store>
|
2494 |
+
<fields>
|
2495 |
+
<active translate="label">
|
2496 |
+
<label>Enabled</label>
|
2497 |
+
<frontend_type>select</frontend_type>
|
2498 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2499 |
+
<sort_order>1</sort_order>
|
2500 |
+
<show_in_default>1</show_in_default>
|
2501 |
+
<show_in_website>1</show_in_website>
|
2502 |
+
<show_in_store>0</show_in_store>
|
2503 |
+
</active>
|
2504 |
+
<title translate="label">
|
2505 |
+
<label>Title</label>
|
2506 |
+
<frontend_type>text</frontend_type>
|
2507 |
+
<sort_order>10</sort_order>
|
2508 |
+
<show_in_default>1</show_in_default>
|
2509 |
+
<show_in_website>1</show_in_website>
|
2510 |
+
<show_in_store>1</show_in_store>
|
2511 |
+
<validate>required-entry</validate>
|
2512 |
+
</title>
|
2513 |
+
<sort_order translate="label">
|
2514 |
+
<label>Sort Order</label>
|
2515 |
+
<frontend_type>text</frontend_type>
|
2516 |
+
<sort_order>20</sort_order>
|
2517 |
+
<show_in_default>1</show_in_default>
|
2518 |
+
<show_in_website>1</show_in_website>
|
2519 |
+
<show_in_store>1</show_in_store>
|
2520 |
+
</sort_order>
|
2521 |
+
<allowspecific translate="label">
|
2522 |
+
<label>Payment from Applicable Countries</label>
|
2523 |
+
<frontend_type>allowspecific</frontend_type>
|
2524 |
+
<sort_order>30</sort_order>
|
2525 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
2526 |
+
<show_in_default>1</show_in_default>
|
2527 |
+
<show_in_website>1</show_in_website>
|
2528 |
+
<show_in_store>0</show_in_store>
|
2529 |
+
</allowspecific>
|
2530 |
+
<specificcountry translate="label">
|
2531 |
+
<label>Payment from Specific Countries</label>
|
2532 |
+
<frontend_type>multiselect</frontend_type>
|
2533 |
+
<sort_order>40</sort_order>
|
2534 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
2535 |
+
<show_in_default>1</show_in_default>
|
2536 |
+
<show_in_website>1</show_in_website>
|
2537 |
+
<show_in_store>0</show_in_store>
|
2538 |
+
<can_be_empty>1</can_be_empty>
|
2539 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2540 |
+
</specificcountry>
|
2541 |
+
<image translate="label comment">
|
2542 |
+
<label>Payment Logo</label>
|
2543 |
+
<sort_order>50</sort_order>
|
2544 |
+
<frontend_type>paymentLogo</frontend_type>
|
2545 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2546 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2547 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2548 |
+
<show_in_default>1</show_in_default>
|
2549 |
+
<show_in_website>1</show_in_website>
|
2550 |
+
<show_in_store>1</show_in_store>
|
2551 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2552 |
+
</image>
|
2553 |
+
<position translate="label">
|
2554 |
+
<label>Payment Logo Visibility</label>
|
2555 |
+
<sort_order>60</sort_order>
|
2556 |
+
<frontend_type>select</frontend_type>
|
2557 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2558 |
+
<show_in_default>1</show_in_default>
|
2559 |
+
<show_in_website>1</show_in_website>
|
2560 |
+
<show_in_store>1</show_in_store>
|
2561 |
+
</position>
|
2562 |
+
</fields>
|
2563 |
+
</ops_ingHomePay>
|
2564 |
+
<ops_paysafecard translate="label">
|
2565 |
+
<label>Ingenico ePayments Paysafecard</label>
|
2566 |
+
<sort_order>280</sort_order>
|
2567 |
+
<show_in_default>1</show_in_default>
|
2568 |
+
<show_in_website>1</show_in_website>
|
2569 |
+
<show_in_store>1</show_in_store>
|
2570 |
+
<fields>
|
2571 |
+
<active translate="label">
|
2572 |
+
<label>Enabled</label>
|
2573 |
+
<frontend_type>select</frontend_type>
|
2574 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2575 |
+
<sort_order>1</sort_order>
|
2576 |
+
<show_in_default>1</show_in_default>
|
2577 |
+
<show_in_website>1</show_in_website>
|
2578 |
+
<show_in_store>0</show_in_store>
|
2579 |
+
</active>
|
2580 |
+
<title translate="label">
|
2581 |
+
<label>Title</label>
|
2582 |
+
<frontend_type>text</frontend_type>
|
2583 |
+
<sort_order>10</sort_order>
|
2584 |
+
<show_in_default>1</show_in_default>
|
2585 |
+
<show_in_website>1</show_in_website>
|
2586 |
+
<show_in_store>1</show_in_store>
|
2587 |
+
<validate>required-entry</validate>
|
2588 |
+
</title>
|
2589 |
+
<sort_order translate="label">
|
2590 |
+
<label>Sort Order</label>
|
2591 |
+
<frontend_type>text</frontend_type>
|
2592 |
+
<sort_order>20</sort_order>
|
2593 |
+
<show_in_default>1</show_in_default>
|
2594 |
+
<show_in_website>1</show_in_website>
|
2595 |
+
<show_in_store>1</show_in_store>
|
2596 |
+
</sort_order>
|
2597 |
+
<allowspecific translate="label">
|
2598 |
+
<label>Payment from Applicable Countries</label>
|
2599 |
+
<frontend_type>allowspecific</frontend_type>
|
2600 |
+
<sort_order>30</sort_order>
|
2601 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
2602 |
+
<show_in_default>1</show_in_default>
|
2603 |
+
<show_in_website>1</show_in_website>
|
2604 |
+
<show_in_store>0</show_in_store>
|
2605 |
+
</allowspecific>
|
2606 |
+
<specificcountry translate="label">
|
2607 |
+
<label>Payment from Specific Countries</label>
|
2608 |
+
<frontend_type>multiselect</frontend_type>
|
2609 |
+
<sort_order>40</sort_order>
|
2610 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
2611 |
+
<show_in_default>1</show_in_default>
|
2612 |
+
<show_in_website>1</show_in_website>
|
2613 |
+
<show_in_store>0</show_in_store>
|
2614 |
+
<can_be_empty>1</can_be_empty>
|
2615 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2616 |
+
</specificcountry>
|
2617 |
+
<image translate="label comment">
|
2618 |
+
<label>Payment Logo</label>
|
2619 |
+
<sort_order>50</sort_order>
|
2620 |
+
<frontend_type>paymentLogo</frontend_type>
|
2621 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2622 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2623 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2624 |
+
<show_in_default>1</show_in_default>
|
2625 |
+
<show_in_website>1</show_in_website>
|
2626 |
+
<show_in_store>1</show_in_store>
|
2627 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2628 |
+
</image>
|
2629 |
+
<position translate="label">
|
2630 |
+
<label>Payment Logo Visibility</label>
|
2631 |
+
<sort_order>60</sort_order>
|
2632 |
+
<frontend_type>select</frontend_type>
|
2633 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2634 |
+
<show_in_default>1</show_in_default>
|
2635 |
+
<show_in_website>1</show_in_website>
|
2636 |
+
<show_in_store>1</show_in_store>
|
2637 |
+
</position>
|
2638 |
+
</fields>
|
2639 |
+
</ops_paysafecard>
|
2640 |
+
<ops_kwixoCredit translate="label">
|
2641 |
+
<label>Ingenico ePayments KwixoCredit</label>
|
2642 |
+
<sort_order>290</sort_order>
|
2643 |
+
<show_in_default>1</show_in_default>
|
2644 |
+
<show_in_website>1</show_in_website>
|
2645 |
+
<show_in_store>1</show_in_store>
|
2646 |
+
<fields>
|
2647 |
+
<kwixo_config translate="label">
|
2648 |
+
<label>Kwixxo Config</label>
|
2649 |
+
<frontend_type>text</frontend_type>
|
2650 |
+
<frontend_model>ops/system_config_kwixoconfiguration</frontend_model>
|
2651 |
+
<sort_order>0</sort_order>
|
2652 |
+
<show_in_default>1</show_in_default>
|
2653 |
+
<show_in_website>1</show_in_website>
|
2654 |
+
<show_in_store>1</show_in_store>
|
2655 |
+
</kwixo_config>
|
2656 |
+
<active translate="label">
|
2657 |
+
<label>Enabled</label>
|
2658 |
+
<frontend_type>select</frontend_type>
|
2659 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
2660 |
+
<sort_order>1</sort_order>
|
2661 |
+
<show_in_default>1</show_in_default>
|
2662 |
+
<show_in_website>1</show_in_website>
|
2663 |
+
<show_in_store>0</show_in_store>
|
2664 |
+
</active>
|
2665 |
+
<title translate="label">
|
2666 |
+
<label>Title</label>
|
2667 |
+
<frontend_type>text</frontend_type>
|
2668 |
+
<sort_order>10</sort_order>
|
2669 |
<show_in_default>1</show_in_default>
|
2670 |
<show_in_website>1</show_in_website>
|
2671 |
<show_in_store>1</show_in_store>
|
2687 |
<show_in_default>1</show_in_default>
|
2688 |
<show_in_website>1</show_in_website>
|
2689 |
<show_in_store>1</show_in_store>
|
2690 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2691 |
</delivery_date>
|
2692 |
<rnp_fee translate="label">
|
2693 |
<label>RNP Fee</label>
|
2697 |
<show_in_default>1</show_in_default>
|
2698 |
<show_in_website>1</show_in_website>
|
2699 |
<show_in_store>1</show_in_store>
|
2700 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2701 |
</rnp_fee>
|
2702 |
<ecom_shipMethodType>
|
2703 |
<label>Default Shipping Method Type</label>
|
2720 |
<show_in_default>1</show_in_default>
|
2721 |
<show_in_website>1</show_in_website>
|
2722 |
<show_in_store>1</show_in_store>
|
2723 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2724 |
</ecom_shipMethodSpeed>
|
2725 |
<shiping_method_details>
|
2726 |
<label>Default Shipping Method Details</label>
|
2730 |
<show_in_default>1</show_in_default>
|
2731 |
<show_in_website>1</show_in_website>
|
2732 |
<show_in_store>1</show_in_store>
|
2733 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2734 |
</shiping_method_details>
|
2735 |
+
<allowspecific translate="label">
|
2736 |
+
<label>Payment from Applicable Countries</label>
|
2737 |
+
<frontend_type>allowspecific</frontend_type>
|
2738 |
+
<sort_order>90</sort_order>
|
2739 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
2740 |
+
<show_in_default>1</show_in_default>
|
2741 |
+
<show_in_website>1</show_in_website>
|
2742 |
+
<show_in_store>0</show_in_store>
|
2743 |
+
</allowspecific>
|
2744 |
+
<specificcountry translate="label">
|
2745 |
+
<label>Payment from Specific Countries</label>
|
2746 |
+
<frontend_type>multiselect</frontend_type>
|
2747 |
+
<sort_order>100</sort_order>
|
2748 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
2749 |
+
<show_in_default>1</show_in_default>
|
2750 |
+
<show_in_website>1</show_in_website>
|
2751 |
+
<show_in_store>0</show_in_store>
|
2752 |
+
<can_be_empty>1</can_be_empty>
|
2753 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2754 |
+
</specificcountry>
|
2755 |
+
<image translate="label comment">
|
2756 |
+
<label>Payment Logo</label>
|
2757 |
+
<sort_order>110</sort_order>
|
2758 |
+
<frontend_type>paymentLogo</frontend_type>
|
2759 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2760 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2761 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2762 |
+
<show_in_default>1</show_in_default>
|
2763 |
+
<show_in_website>1</show_in_website>
|
2764 |
+
<show_in_store>1</show_in_store>
|
2765 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2766 |
+
</image>
|
2767 |
+
<position translate="label">
|
2768 |
+
<label>Payment Logo Visibility</label>
|
2769 |
+
<sort_order>120</sort_order>
|
2770 |
+
<frontend_type>select</frontend_type>
|
2771 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2772 |
+
<show_in_default>1</show_in_default>
|
2773 |
+
<show_in_website>1</show_in_website>
|
2774 |
+
<show_in_store>1</show_in_store>
|
2775 |
+
</position>
|
2776 |
</fields>
|
2777 |
</ops_kwixoCredit>
|
2778 |
<ops_kwixoApresReception translate="label">
|
2779 |
<label>Ingenico ePayments KwixoApresReception</label>
|
2780 |
+
<sort_order>300</sort_order>
|
2781 |
<show_in_default>1</show_in_default>
|
2782 |
<show_in_website>1</show_in_website>
|
2783 |
<show_in_store>1</show_in_store>
|
2825 |
<show_in_default>1</show_in_default>
|
2826 |
<show_in_website>1</show_in_website>
|
2827 |
<show_in_store>1</show_in_store>
|
2828 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2829 |
</delivery_date>
|
2830 |
<rnp_fee translate="label">
|
2831 |
<label>RNP Fee</label>
|
2835 |
<show_in_default>1</show_in_default>
|
2836 |
<show_in_website>1</show_in_website>
|
2837 |
<show_in_store>1</show_in_store>
|
2838 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2839 |
</rnp_fee>
|
2840 |
<ecom_shipMethodType>
|
2841 |
<label>Default Shipping Method Type</label>
|
2845 |
<show_in_default>1</show_in_default>
|
2846 |
<show_in_website>1</show_in_website>
|
2847 |
<show_in_store>1</show_in_store>
|
2848 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2849 |
</ecom_shipMethodType>
|
2850 |
<ecom_shipMethodSpeed>
|
2851 |
<label>Default Shipping Speed (in hours)</label>
|
2855 |
<show_in_default>1</show_in_default>
|
2856 |
<show_in_website>1</show_in_website>
|
2857 |
<show_in_store>1</show_in_store>
|
2858 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2859 |
</ecom_shipMethodSpeed>
|
2860 |
<shiping_method_details>
|
2861 |
<label>Default Shipping Method Details</label>
|
2865 |
<show_in_default>1</show_in_default>
|
2866 |
<show_in_website>1</show_in_website>
|
2867 |
<show_in_store>1</show_in_store>
|
2868 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2869 |
</shiping_method_details>
|
2870 |
+
<allowspecific translate="label">
|
2871 |
+
<label>Payment from Applicable Countries</label>
|
2872 |
+
<frontend_type>allowspecific</frontend_type>
|
2873 |
+
<sort_order>80</sort_order>
|
2874 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
2875 |
+
<show_in_default>1</show_in_default>
|
2876 |
+
<show_in_website>1</show_in_website>
|
2877 |
+
<show_in_store>0</show_in_store>
|
2878 |
+
</allowspecific>
|
2879 |
+
<specificcountry translate="label">
|
2880 |
+
<label>Payment from Specific Countries</label>
|
2881 |
+
<frontend_type>multiselect</frontend_type>
|
2882 |
+
<sort_order>90</sort_order>
|
2883 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
2884 |
+
<show_in_default>1</show_in_default>
|
2885 |
+
<show_in_website>1</show_in_website>
|
2886 |
+
<show_in_store>0</show_in_store>
|
2887 |
+
<can_be_empty>1</can_be_empty>
|
2888 |
+
<depends><allowspecific>1</allowspecific></depends>
|
2889 |
+
</specificcountry>
|
2890 |
+
<image translate="label comment">
|
2891 |
+
<label>Payment Logo</label>
|
2892 |
+
<sort_order>100</sort_order>
|
2893 |
+
<frontend_type>paymentLogo</frontend_type>
|
2894 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
2895 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
2896 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
2897 |
+
<show_in_default>1</show_in_default>
|
2898 |
+
<show_in_website>1</show_in_website>
|
2899 |
+
<show_in_store>1</show_in_store>
|
2900 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
2901 |
+
</image>
|
2902 |
+
<position translate="label">
|
2903 |
+
<label>Payment Logo Visibility</label>
|
2904 |
+
<sort_order>110</sort_order>
|
2905 |
+
<frontend_type>select</frontend_type>
|
2906 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
2907 |
+
<show_in_default>1</show_in_default>
|
2908 |
+
<show_in_website>1</show_in_website>
|
2909 |
+
<show_in_store>1</show_in_store>
|
2910 |
+
</position>
|
2911 |
</fields>
|
2912 |
</ops_kwixoApresReception>
|
2913 |
<ops_kwixoComptant translate="label">
|
2914 |
<label>Ingenico ePayments KwixoComptant</label>
|
2915 |
+
<sort_order>310</sort_order>
|
2916 |
<show_in_default>1</show_in_default>
|
2917 |
<show_in_website>1</show_in_website>
|
2918 |
<show_in_store>1</show_in_store>
|
2960 |
<show_in_default>1</show_in_default>
|
2961 |
<show_in_website>1</show_in_website>
|
2962 |
<show_in_store>1</show_in_store>
|
2963 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2964 |
</delivery_date>
|
2965 |
<rnp_fee translate="label">
|
2966 |
<label>RNP Fee</label>
|
2970 |
<show_in_default>1</show_in_default>
|
2971 |
<show_in_website>1</show_in_website>
|
2972 |
<show_in_store>1</show_in_store>
|
2973 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2974 |
</rnp_fee>
|
2975 |
<ecom_shipMethodType>
|
2976 |
<label>Default Shipping Method Type</label>
|
2981 |
<show_in_default>1</show_in_default>
|
2982 |
<show_in_website>1</show_in_website>
|
2983 |
<show_in_store>1</show_in_store>
|
2984 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2985 |
</ecom_shipMethodType>
|
2986 |
<ecom_shipMethodSpeed>
|
2987 |
<label>Default Shipping Speed (in hours)</label>
|
2991 |
<show_in_default>1</show_in_default>
|
2992 |
<show_in_website>1</show_in_website>
|
2993 |
<show_in_store>1</show_in_store>
|
2994 |
+
<depends><active>1</active></depends>
|
|
|
|
|
2995 |
</ecom_shipMethodSpeed>
|
2996 |
<shiping_method_details>
|
2997 |
<label>Default Shipping Method Details</label>
|
3001 |
<show_in_default>1</show_in_default>
|
3002 |
<show_in_website>1</show_in_website>
|
3003 |
<show_in_store>1</show_in_store>
|
3004 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3005 |
</shiping_method_details>
|
3006 |
+
<allowspecific translate="label">
|
3007 |
+
<label>Payment from Applicable Countries</label>
|
3008 |
+
<frontend_type>allowspecific</frontend_type>
|
3009 |
+
<sort_order>90</sort_order>
|
3010 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
3011 |
+
<show_in_default>1</show_in_default>
|
3012 |
+
<show_in_website>1</show_in_website>
|
3013 |
+
<show_in_store>0</show_in_store>
|
3014 |
+
</allowspecific>
|
3015 |
+
<specificcountry translate="label">
|
3016 |
+
<label>Payment from Specific Countries</label>
|
3017 |
+
<frontend_type>multiselect</frontend_type>
|
3018 |
+
<sort_order>100</sort_order>
|
3019 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
3020 |
+
<show_in_default>1</show_in_default>
|
3021 |
+
<show_in_website>1</show_in_website>
|
3022 |
+
<show_in_store>0</show_in_store>
|
3023 |
+
<can_be_empty>1</can_be_empty>
|
3024 |
+
<depends><allowspecific>1</allowspecific></depends>
|
3025 |
+
</specificcountry>
|
3026 |
+
<image translate="label comment">
|
3027 |
+
<label>Payment Logo</label>
|
3028 |
+
<sort_order>110</sort_order>
|
3029 |
+
<frontend_type>paymentLogo</frontend_type>
|
3030 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
3031 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
3032 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
3033 |
+
<show_in_default>1</show_in_default>
|
3034 |
+
<show_in_website>1</show_in_website>
|
3035 |
+
<show_in_store>1</show_in_store>
|
3036 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
3037 |
+
</image>
|
3038 |
+
<position translate="label">
|
3039 |
+
<label>Payment Logo Visibility</label>
|
3040 |
+
<sort_order>120</sort_order>
|
3041 |
+
<frontend_type>select</frontend_type>
|
3042 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
3043 |
+
<show_in_default>1</show_in_default>
|
3044 |
+
<show_in_website>1</show_in_website>
|
3045 |
+
<show_in_store>1</show_in_store>
|
3046 |
+
</position>
|
3047 |
</fields>
|
3048 |
</ops_kwixoComptant>
|
3049 |
<ops_opsid translate="label">
|
3050 |
<label>Existing Ingenico ePayments Transaction</label>
|
3051 |
+
<sort_order>320</sort_order>
|
3052 |
<show_in_default>1</show_in_default>
|
3053 |
<show_in_website>0</show_in_website>
|
3054 |
<show_in_store>0</show_in_store>
|
3078 |
<show_in_default>1</show_in_default>
|
3079 |
<show_in_website>0</show_in_website>
|
3080 |
<show_in_store>0</show_in_store>
|
3081 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3082 |
</sort_order>
|
3083 |
+
<allowspecific translate="label">
|
3084 |
+
<label>Payment from Applicable Countries</label>
|
3085 |
+
<frontend_type>allowspecific</frontend_type>
|
3086 |
+
<sort_order>30</sort_order>
|
3087 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
3088 |
+
<show_in_default>1</show_in_default>
|
3089 |
+
<show_in_website>1</show_in_website>
|
3090 |
+
<show_in_store>0</show_in_store>
|
3091 |
+
</allowspecific>
|
3092 |
+
<specificcountry translate="label">
|
3093 |
+
<label>Payment from Specific Countries</label>
|
3094 |
+
<frontend_type>multiselect</frontend_type>
|
3095 |
+
<sort_order>40</sort_order>
|
3096 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
3097 |
+
<show_in_default>1</show_in_default>
|
3098 |
+
<show_in_website>1</show_in_website>
|
3099 |
+
<show_in_store>0</show_in_store>
|
3100 |
+
<can_be_empty>1</can_be_empty>
|
3101 |
+
<depends><allowspecific>1</allowspecific></depends>
|
3102 |
+
</specificcountry>
|
3103 |
+
<image translate="label comment">
|
3104 |
+
<label>Payment Logo</label>
|
3105 |
+
<sort_order>50</sort_order>
|
3106 |
+
<frontend_type>paymentLogo</frontend_type>
|
3107 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
3108 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
3109 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
3110 |
+
<show_in_default>1</show_in_default>
|
3111 |
+
<show_in_website>1</show_in_website>
|
3112 |
+
<show_in_store>1</show_in_store>
|
3113 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
3114 |
+
</image>
|
3115 |
+
<position translate="label">
|
3116 |
+
<label>Payment Logo Visibility</label>
|
3117 |
+
<sort_order>60</sort_order>
|
3118 |
+
<frontend_type>select</frontend_type>
|
3119 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
3120 |
+
<show_in_default>1</show_in_default>
|
3121 |
+
<show_in_website>1</show_in_website>
|
3122 |
+
<show_in_store>1</show_in_store>
|
3123 |
+
</position>
|
3124 |
</fields>
|
3125 |
</ops_opsid>
|
3126 |
<ops_flex translate="label comment">
|
3127 |
<label>Ingenico ePayments Flex payment method</label>
|
3128 |
+
<sort_order>330</sort_order>
|
3129 |
<show_in_default>1</show_in_default>
|
3130 |
<show_in_website>1</show_in_website>
|
3131 |
<show_in_store>1</show_in_store>
|
3147 |
<show_in_website>1</show_in_website>
|
3148 |
<show_in_store>1</show_in_store>
|
3149 |
<validate>required-entry</validate>
|
3150 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3151 |
</title>
|
3152 |
<sort_order translate="label">
|
3153 |
<label>Sort Order</label>
|
3156 |
<show_in_default>1</show_in_default>
|
3157 |
<show_in_website>1</show_in_website>
|
3158 |
<show_in_store>1</show_in_store>
|
3159 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3160 |
</sort_order>
|
3161 |
<default translate="label tooltip">
|
3162 |
<label>Show empty default option</label>
|
3167 |
<show_in_website>1</show_in_website>
|
3168 |
<show_in_store>1</show_in_store>
|
3169 |
<tooltip><![CDATA[A generic option, that lets the customer choose the exact method on Ingenico ePayments side.]]></tooltip>
|
3170 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3171 |
</default>
|
3172 |
<default_title translate="label comment">
|
3173 |
<label>Default option title</label>
|
3178 |
<show_in_store>1</show_in_store>
|
3179 |
<validate>required-entry</validate>
|
3180 |
<tooltip>Title to display for the default option.</tooltip>
|
3181 |
+
<depends><default>1</default></depends>
|
|
|
|
|
3182 |
</default_title>
|
3183 |
<methods translate="label comment">
|
3184 |
<label>Methods</label>
|
3189 |
<show_in_website>1</show_in_website>
|
3190 |
<show_in_store>1</show_in_store>
|
3191 |
<comment>Add one or more methods. In field 'PM' you will have to enter the PM value you got from Ingenico ePayments, same goes for the field 'BRAND'.</comment>
|
3192 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3193 |
</methods>
|
3194 |
+
<allowspecific translate="label">
|
3195 |
+
<label>Payment from Applicable Countries</label>
|
3196 |
+
<frontend_type>allowspecific</frontend_type>
|
3197 |
+
<sort_order>50</sort_order>
|
3198 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
3199 |
+
<show_in_default>1</show_in_default>
|
3200 |
+
<show_in_website>1</show_in_website>
|
3201 |
+
<show_in_store>0</show_in_store>
|
3202 |
+
</allowspecific>
|
3203 |
+
<specificcountry translate="label">
|
3204 |
+
<label>Payment from Specific Countries</label>
|
3205 |
+
<frontend_type>multiselect</frontend_type>
|
3206 |
+
<sort_order>60</sort_order>
|
3207 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
3208 |
+
<show_in_default>1</show_in_default>
|
3209 |
+
<show_in_website>1</show_in_website>
|
3210 |
+
<show_in_store>0</show_in_store>
|
3211 |
+
<can_be_empty>1</can_be_empty>
|
3212 |
+
<depends><allowspecific>1</allowspecific></depends>
|
3213 |
+
</specificcountry>
|
3214 |
+
<image translate="label comment">
|
3215 |
+
<label>Payment Logo</label>
|
3216 |
+
<sort_order>70</sort_order>
|
3217 |
+
<frontend_type>paymentLogo</frontend_type>
|
3218 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
3219 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
3220 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
3221 |
+
<show_in_default>1</show_in_default>
|
3222 |
+
<show_in_website>1</show_in_website>
|
3223 |
+
<show_in_store>1</show_in_store>
|
3224 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
3225 |
+
</image>
|
3226 |
+
<position translate="label">
|
3227 |
+
<label>Payment Logo Visibility</label>
|
3228 |
+
<sort_order>80</sort_order>
|
3229 |
+
<frontend_type>select</frontend_type>
|
3230 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
3231 |
+
<show_in_default>1</show_in_default>
|
3232 |
+
<show_in_website>1</show_in_website>
|
3233 |
+
<show_in_store>1</show_in_store>
|
3234 |
+
</position>
|
3235 |
</fields>
|
3236 |
</ops_flex>
|
3237 |
<ops_chinaUnionPay translate="label">
|
3238 |
<label>Ingenico ePayments ChinaUnionPay</label>
|
3239 |
+
<sort_order>340</sort_order>
|
3240 |
<show_in_default>1</show_in_default>
|
3241 |
<show_in_website>1</show_in_website>
|
3242 |
<show_in_store>1</show_in_store>
|
3268 |
<show_in_website>1</show_in_website>
|
3269 |
<show_in_store>1</show_in_store>
|
3270 |
</sort_order>
|
3271 |
+
<allowspecific translate="label">
|
3272 |
+
<label>Payment from Applicable Countries</label>
|
3273 |
+
<frontend_type>allowspecific</frontend_type>
|
3274 |
+
<sort_order>30</sort_order>
|
3275 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
3276 |
+
<show_in_default>1</show_in_default>
|
3277 |
+
<show_in_website>1</show_in_website>
|
3278 |
+
<show_in_store>0</show_in_store>
|
3279 |
+
</allowspecific>
|
3280 |
+
<specificcountry translate="label">
|
3281 |
+
<label>Payment from Specific Countries</label>
|
3282 |
+
<frontend_type>multiselect</frontend_type>
|
3283 |
+
<sort_order>40</sort_order>
|
3284 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
3285 |
+
<show_in_default>1</show_in_default>
|
3286 |
+
<show_in_website>1</show_in_website>
|
3287 |
+
<show_in_store>0</show_in_store>
|
3288 |
+
<can_be_empty>1</can_be_empty>
|
3289 |
+
<depends><allowspecific>1</allowspecific></depends>
|
3290 |
+
</specificcountry>
|
3291 |
+
<image translate="label comment">
|
3292 |
+
<label>Payment Logo</label>
|
3293 |
+
<sort_order>50</sort_order>
|
3294 |
+
<frontend_type>paymentLogo</frontend_type>
|
3295 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
3296 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
3297 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
3298 |
+
<show_in_default>1</show_in_default>
|
3299 |
+
<show_in_website>1</show_in_website>
|
3300 |
+
<show_in_store>1</show_in_store>
|
3301 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
3302 |
+
</image>
|
3303 |
+
<position translate="label">
|
3304 |
+
<label>Payment Logo Visibility</label>
|
3305 |
+
<sort_order>60</sort_order>
|
3306 |
+
<frontend_type>select</frontend_type>
|
3307 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
3308 |
+
<show_in_default>1</show_in_default>
|
3309 |
+
<show_in_website>1</show_in_website>
|
3310 |
+
<show_in_store>1</show_in_store>
|
3311 |
+
</position>
|
3312 |
</fields>
|
3313 |
</ops_chinaUnionPay>
|
3314 |
<ops_recurring_cc translate="label">
|
3315 |
<label>Ingenico ePayments Subscription Manager via Cc</label>
|
3316 |
+
<sort_order>350</sort_order>
|
3317 |
<show_in_default>1</show_in_default>
|
3318 |
<show_in_website>1</show_in_website>
|
3319 |
<show_in_store>1</show_in_store>
|
3331 |
<show_in_store>1</show_in_store>
|
3332 |
</active>
|
3333 |
<acceptedTypes translate="label">
|
3334 |
+
<label>Enabled Card Types</label>
|
3335 |
<frontend_type>multiselect</frontend_type>
|
3336 |
<sort_order>30</sort_order>
|
3337 |
<source_model>ops/source_cc_recurringTypes</source_model>
|
3338 |
<show_in_default>1</show_in_default>
|
3339 |
<show_in_website>1</show_in_website>
|
3340 |
<show_in_store>1</show_in_store>
|
3341 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3342 |
</acceptedTypes>
|
3343 |
<enabled_3dsecure translate="label tooltip">
|
3344 |
<label>Enable 3D secure</label>
|
3349 |
<show_in_default>1</show_in_default>
|
3350 |
<show_in_website>1</show_in_website>
|
3351 |
<show_in_store>0</show_in_store>
|
3352 |
+
<depends><active>1</active></depends>
|
|
|
|
|
3353 |
</enabled_3dsecure>
|
3354 |
+
<image translate="label comment">
|
3355 |
+
<label>Payment Logo</label>
|
3356 |
+
<sort_order>80</sort_order>
|
3357 |
+
<frontend_type>paymentLogo</frontend_type>
|
3358 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
3359 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
3360 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
3361 |
<show_in_default>1</show_in_default>
|
3362 |
<show_in_website>1</show_in_website>
|
3363 |
+
<show_in_store>1</show_in_store>
|
3364 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
3365 |
+
</image>
|
3366 |
+
<position translate="label">
|
3367 |
+
<label>Payment Logo Visibility</label>
|
3368 |
+
<sort_order>90</sort_order>
|
3369 |
+
<frontend_type>select</frontend_type>
|
3370 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
|
|
|
|
3371 |
<show_in_default>1</show_in_default>
|
3372 |
<show_in_website>1</show_in_website>
|
3373 |
+
<show_in_store>1</show_in_store>
|
3374 |
+
</position>
|
|
|
|
|
|
|
|
|
3375 |
</fields>
|
3376 |
</ops_recurring_cc>
|
3377 |
<ops_BCMC translate="label">
|
3378 |
<label>Ingenico ePayments BCMC</label>
|
3379 |
+
<sort_order>360</sort_order>
|
3380 |
<show_in_default>1</show_in_default>
|
3381 |
<show_in_website>1</show_in_website>
|
3382 |
<show_in_store>1</show_in_store>
|
3406 |
<show_in_website>1</show_in_website>
|
3407 |
<show_in_store>1</show_in_store>
|
3408 |
</sort_order>
|
3409 |
+
<allowspecific translate="label">
|
3410 |
+
<label>Payment from Applicable Countries</label>
|
3411 |
+
<frontend_type>allowspecific</frontend_type>
|
3412 |
+
<sort_order>30</sort_order>
|
3413 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
3414 |
+
<show_in_default>1</show_in_default>
|
3415 |
+
<show_in_website>1</show_in_website>
|
3416 |
+
<show_in_store>0</show_in_store>
|
3417 |
+
</allowspecific>
|
3418 |
+
<specificcountry translate="label">
|
3419 |
+
<label>Payment from Specific Countries</label>
|
3420 |
+
<frontend_type>multiselect</frontend_type>
|
3421 |
+
<sort_order>40</sort_order>
|
3422 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
3423 |
+
<show_in_default>1</show_in_default>
|
3424 |
+
<show_in_website>1</show_in_website>
|
3425 |
+
<show_in_store>0</show_in_store>
|
3426 |
+
<can_be_empty>1</can_be_empty>
|
3427 |
+
<depends><allowspecific>1</allowspecific></depends>
|
3428 |
+
</specificcountry>
|
3429 |
+
<image translate="label comment">
|
3430 |
+
<label>Payment Logo</label>
|
3431 |
+
<sort_order>50</sort_order>
|
3432 |
+
<frontend_type>paymentLogo</frontend_type>
|
3433 |
+
<backend_model>adminhtml/system_config_backend_image</backend_model>
|
3434 |
+
<upload_dir config="system/filesystem/media" scope_info="1">ops/paymentLogo</upload_dir>
|
3435 |
+
<base_url type="media" scope_info="1">ops/paymentLogo</base_url>
|
3436 |
+
<show_in_default>1</show_in_default>
|
3437 |
+
<show_in_website>1</show_in_website>
|
3438 |
+
<show_in_store>1</show_in_store>
|
3439 |
+
<comment>Allowed file types: jpeg, gif, png.</comment>
|
3440 |
+
</image>
|
3441 |
+
<position translate="label">
|
3442 |
+
<label>Payment Logo Visibility</label>
|
3443 |
+
<sort_order>60</sort_order>
|
3444 |
+
<frontend_type>select</frontend_type>
|
3445 |
+
<source_model>ops/system_config_backend_paymentLogo</source_model>
|
3446 |
+
<show_in_default>1</show_in_default>
|
3447 |
+
<show_in_website>1</show_in_website>
|
3448 |
+
<show_in_store>1</show_in_store>
|
3449 |
+
</position>
|
3450 |
</fields>
|
3451 |
</ops_BCMC>
|
3452 |
+
<ops_payPerMail translate="label comment">
|
3453 |
+
<label>Ingenico ePayments PayPerMail</label>
|
3454 |
+
<sort_order>370</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3455 |
<show_in_default>1</show_in_default>
|
3456 |
<show_in_website>1</show_in_website>
|
3457 |
<show_in_store>1</show_in_store>
|
3460 |
<label>Enabled</label>
|
3461 |
<frontend_type>select</frontend_type>
|
3462 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
3463 |
+
<sort_order>1</sort_order>
|
3464 |
<show_in_default>1</show_in_default>
|
3465 |
<show_in_website>1</show_in_website>
|
3466 |
<show_in_store>0</show_in_store>
|
3468 |
<title translate="label">
|
3469 |
<label>Title</label>
|
3470 |
<frontend_type>text</frontend_type>
|
3471 |
+
<sort_order>10</sort_order>
|
3472 |
<show_in_default>1</show_in_default>
|
3473 |
<show_in_website>1</show_in_website>
|
3474 |
<show_in_store>1</show_in_store>
|
3475 |
<validate>required-entry</validate>
|
3476 |
+
<depends>
|
3477 |
+
<active>1</active>
|
3478 |
+
</depends>
|
3479 |
</title>
|
3480 |
<sort_order translate="label">
|
3481 |
<label>Sort Order</label>
|
3484 |
<show_in_default>1</show_in_default>
|
3485 |
<show_in_website>1</show_in_website>
|
3486 |
<show_in_store>1</show_in_store>
|
3487 |
+
<depends><active>1</active></depends>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3488 |
<depends>
|
3489 |
+
<active>1</active>
|
3490 |
</depends>
|
3491 |
+
</sort_order>
|
3492 |
+
<allowspecific translate="label">
|
3493 |
+
<label>Payment from Applicable Countries</label>
|
3494 |
+
<frontend_type>allowspecific</frontend_type>
|
|
|
|
|
|
|
|
|
|
|
3495 |
<sort_order>50</sort_order>
|
3496 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
3497 |
<show_in_default>1</show_in_default>
|
3498 |
<show_in_website>1</show_in_website>
|
3499 |
<show_in_store>0</show_in_store>
|
3500 |
+
</allowspecific>
|
3501 |
+
<specificcountry translate="label">
|
3502 |
+
<label>Payment from Specific Countries</label>
|
3503 |
+
<frontend_type>multiselect</frontend_type>
|
3504 |
+
<sort_order>60</sort_order>
|
3505 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3506 |
<show_in_default>1</show_in_default>
|
3507 |
<show_in_website>1</show_in_website>
|
3508 |
+
<show_in_store>0</show_in_store>
|
3509 |
+
<can_be_empty>1</can_be_empty>
|
3510 |
+
<depends><allowspecific>1</allowspecific></depends>
|
3511 |
+
</specificcountry>
|
3512 |
+
<payPerMail_template translate="label tooltip">
|
3513 |
+
<label>PayPerMail Email Template</label>
|
|
|
|
|
3514 |
<frontend_type>select</frontend_type>
|
3515 |
+
<source_model>adminhtml/system_config_source_email_template</source_model>
|
3516 |
+
<sort_order>260</sort_order>
|
3517 |
<show_in_default>1</show_in_default>
|
3518 |
<show_in_website>1</show_in_website>
|
3519 |
<show_in_store>1</show_in_store>
|
3520 |
+
<tooltip>The email template to use. Choose 'Default Template from Locale' to use Ingenico ePayments extensions default template.</tooltip>
|
3521 |
+
</payPerMail_template>
|
3522 |
</fields>
|
3523 |
+
</ops_payPerMail>
|
3524 |
+
|
3525 |
+
<!-- hide old ogone extension which is part of Magento EE due to a misunderstanding -->
|
3526 |
+
<pbridge_ogone_direct>
|
3527 |
+
<show_in_default>0</show_in_default>
|
3528 |
+
<show_in_website>0</show_in_website>
|
3529 |
+
<show_in_store>0</show_in_store>
|
3530 |
+
</pbridge_ogone_direct>
|
3531 |
+
<ogone>
|
3532 |
+
<show_in_default>0</show_in_default>
|
3533 |
+
<show_in_website>0</show_in_website>
|
3534 |
+
<show_in_store>0</show_in_store>
|
3535 |
+
</ogone>
|
3536 |
+
<ccsave>
|
3537 |
+
<sort_order>27</sort_order>
|
3538 |
+
</ccsave>
|
3539 |
</groups>
|
3540 |
</payment>
|
3541 |
</sections>
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-1.0.1-12.12.03.php
CHANGED
@@ -2,7 +2,8 @@
|
|
2 |
$installer = $this;
|
3 |
$installer->startSetup();
|
4 |
|
5 |
-
$installer->run(
|
|
|
6 |
DROP TABLE IF EXISTS {$this->getTable('ops_alias')};
|
7 |
CREATE TABLE {$this->getTable('ops_alias')} (
|
8 |
`id` int(11) unsigned NOT NULL auto_increment,
|
@@ -17,6 +18,7 @@ $installer->run("
|
|
17 |
`created_at` timestamp default CURRENT_TIMESTAMP,
|
18 |
PRIMARY KEY (`id`)
|
19 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
20 |
-
"
|
|
|
21 |
|
22 |
$installer->endSetup();
|
2 |
$installer = $this;
|
3 |
$installer->startSetup();
|
4 |
|
5 |
+
$installer->run(
|
6 |
+
"
|
7 |
DROP TABLE IF EXISTS {$this->getTable('ops_alias')};
|
8 |
CREATE TABLE {$this->getTable('ops_alias')} (
|
9 |
`id` int(11) unsigned NOT NULL auto_increment,
|
18 |
`created_at` timestamp default CURRENT_TIMESTAMP,
|
19 |
PRIMARY KEY (`id`)
|
20 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
21 |
+
"
|
22 |
+
);
|
23 |
|
24 |
$installer->endSetup();
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.04.10-13.04.16.php
CHANGED
@@ -63,7 +63,8 @@ foreach ($ccTypes as $ccType) {
|
|
63 |
}
|
64 |
|
65 |
// delete obsolete payment method config acceptgiro and centea online
|
66 |
-
$installer->run(
|
|
|
67 |
DELETE FROM {$this->getTable('core_config_data')}
|
68 |
WHERE 'path' IN
|
69 |
('payment/ops_acceptgiro/active',
|
@@ -76,7 +77,8 @@ $installer->run("
|
|
76 |
'payment/ops_centeaonline/title',
|
77 |
'payment/ops_centeaonline/sort_order'
|
78 |
);
|
79 |
-
"
|
|
|
80 |
|
81 |
|
82 |
// update dexiaOnline to belfiusOnline
|
@@ -84,33 +86,39 @@ $belfiusActive = Mage::getModel('core/config_data')->getCollection()
|
|
84 |
->addFieldToFilter('path', 'payment/ops_belfiusDirectNet/active')
|
85 |
->load();
|
86 |
if (0 === $belfiusActive->count()) {
|
87 |
-
$installer->run(
|
|
|
88 |
UPDATE {$this->getTable('core_config_data')}
|
89 |
SET path = 'payment/ops_belfiusDirectNet/active'
|
90 |
WHERE path = 'payment/ops_dexiaDirectNet/active';
|
91 |
-
"
|
|
|
92 |
}
|
93 |
|
94 |
$belfiusTitle = Mage::getModel('core/config_data')->getCollection()
|
95 |
->addFieldToFilter('path', 'payment/ops_belfiusDirectNet/title')
|
96 |
->load();
|
97 |
if (0 == $belfiusTitle->count()) {
|
98 |
-
$installer->run(
|
|
|
99 |
UPDATE {$this->getTable('core_config_data')}
|
100 |
SET path = 'payment/ops_belfiusDirectNet/title'
|
101 |
WHERE path = 'payment/ops_dexiaDirectNet/title';
|
102 |
-
"
|
|
|
103 |
}
|
104 |
|
105 |
$belfiusSortOrder = Mage::getModel('core/config_data')->getCollection()
|
106 |
->addFieldToFilter('path', 'payment/ops_belfiusDirectNet/sort_order')
|
107 |
->load();
|
108 |
if (0 === $belfiusSortOrder->count()) {
|
109 |
-
$installer->run(
|
|
|
110 |
UPDATE {$this->getTable('core_config_data')}
|
111 |
SET path = 'payment/ops_belfiusDirectNet/sort_order'
|
112 |
WHERE path = 'payment/ops_dexiaDirectNet/sort_order';
|
113 |
-
"
|
|
|
114 |
}
|
115 |
/*
|
116 |
*
|
63 |
}
|
64 |
|
65 |
// delete obsolete payment method config acceptgiro and centea online
|
66 |
+
$installer->run(
|
67 |
+
"
|
68 |
DELETE FROM {$this->getTable('core_config_data')}
|
69 |
WHERE 'path' IN
|
70 |
('payment/ops_acceptgiro/active',
|
77 |
'payment/ops_centeaonline/title',
|
78 |
'payment/ops_centeaonline/sort_order'
|
79 |
);
|
80 |
+
"
|
81 |
+
);
|
82 |
|
83 |
|
84 |
// update dexiaOnline to belfiusOnline
|
86 |
->addFieldToFilter('path', 'payment/ops_belfiusDirectNet/active')
|
87 |
->load();
|
88 |
if (0 === $belfiusActive->count()) {
|
89 |
+
$installer->run(
|
90 |
+
"
|
91 |
UPDATE {$this->getTable('core_config_data')}
|
92 |
SET path = 'payment/ops_belfiusDirectNet/active'
|
93 |
WHERE path = 'payment/ops_dexiaDirectNet/active';
|
94 |
+
"
|
95 |
+
);
|
96 |
}
|
97 |
|
98 |
$belfiusTitle = Mage::getModel('core/config_data')->getCollection()
|
99 |
->addFieldToFilter('path', 'payment/ops_belfiusDirectNet/title')
|
100 |
->load();
|
101 |
if (0 == $belfiusTitle->count()) {
|
102 |
+
$installer->run(
|
103 |
+
"
|
104 |
UPDATE {$this->getTable('core_config_data')}
|
105 |
SET path = 'payment/ops_belfiusDirectNet/title'
|
106 |
WHERE path = 'payment/ops_dexiaDirectNet/title';
|
107 |
+
"
|
108 |
+
);
|
109 |
}
|
110 |
|
111 |
$belfiusSortOrder = Mage::getModel('core/config_data')->getCollection()
|
112 |
->addFieldToFilter('path', 'payment/ops_belfiusDirectNet/sort_order')
|
113 |
->load();
|
114 |
if (0 === $belfiusSortOrder->count()) {
|
115 |
+
$installer->run(
|
116 |
+
"
|
117 |
UPDATE {$this->getTable('core_config_data')}
|
118 |
SET path = 'payment/ops_belfiusDirectNet/sort_order'
|
119 |
WHERE path = 'payment/ops_dexiaDirectNet/sort_order';
|
120 |
+
"
|
121 |
+
);
|
122 |
}
|
123 |
/*
|
124 |
*
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.05.30-13.06.07.php
CHANGED
@@ -19,14 +19,17 @@ $conn->addColumn(
|
|
19 |
"smallint(5) NULL DEFAULT NULL AFTER `state`"
|
20 |
);
|
21 |
|
22 |
-
$installer->run(
|
|
|
23 |
UPDATE {$this->getTable('ops_alias')}
|
24 |
SET state = '". Netresearch_OPS_Model_Alias_State::ACTIVE ."'
|
25 |
WHERE alias IS NOT NULL;
|
26 |
|
27 |
-
"
|
|
|
28 |
|
29 |
-
$installer->run(
|
|
|
30 |
DELETE FROM {$this->getTable('ops_alias')}
|
31 |
WHERE id NOT in (
|
32 |
SELECT alias.id FROM (
|
@@ -35,27 +38,32 @@ $installer->run("
|
|
35 |
) as alias
|
36 |
GROUP BY alias.customer_id, alias.billing_address_hash, alias.shipping_address_hash
|
37 |
)
|
38 |
-
"
|
|
|
39 |
|
40 |
$aliasActive = Mage::getModel('core/config_data')->getCollection()
|
41 |
->addFieldToFilter('path', 'payment/ops_cc/active_alias')
|
42 |
->load();
|
43 |
if (0 === $aliasActive->count()) {
|
44 |
-
$installer->run(
|
|
|
45 |
UPDATE {$this->getTable('core_config_data')}
|
46 |
SET path = 'payment/ops_cc/active_alias'
|
47 |
WHERE path = 'payment/ops_alias/active';
|
48 |
-
"
|
|
|
49 |
}
|
50 |
$hintForGuestsActive = Mage::getModel('core/config_data')->getCollection()
|
51 |
->addFieldToFilter('path', 'payment/ops_cc/show_alias_manager_info_for_guests')
|
52 |
->load();
|
53 |
if (0 == $hintForGuestsActive->count()) {
|
54 |
-
$installer->run(
|
|
|
55 |
UPDATE {$this->getTable('core_config_data')}
|
56 |
SET path = 'payment/ops_cc/show_alias_manager_info_for_guests'
|
57 |
WHERE path = 'payment/ops_alias/show_info_for_guests';
|
58 |
-
"
|
|
|
59 |
}
|
60 |
|
61 |
$installer->endSetup();
|
19 |
"smallint(5) NULL DEFAULT NULL AFTER `state`"
|
20 |
);
|
21 |
|
22 |
+
$installer->run(
|
23 |
+
"
|
24 |
UPDATE {$this->getTable('ops_alias')}
|
25 |
SET state = '". Netresearch_OPS_Model_Alias_State::ACTIVE ."'
|
26 |
WHERE alias IS NOT NULL;
|
27 |
|
28 |
+
"
|
29 |
+
);
|
30 |
|
31 |
+
$installer->run(
|
32 |
+
"
|
33 |
DELETE FROM {$this->getTable('ops_alias')}
|
34 |
WHERE id NOT in (
|
35 |
SELECT alias.id FROM (
|
38 |
) as alias
|
39 |
GROUP BY alias.customer_id, alias.billing_address_hash, alias.shipping_address_hash
|
40 |
)
|
41 |
+
"
|
42 |
+
);
|
43 |
|
44 |
$aliasActive = Mage::getModel('core/config_data')->getCollection()
|
45 |
->addFieldToFilter('path', 'payment/ops_cc/active_alias')
|
46 |
->load();
|
47 |
if (0 === $aliasActive->count()) {
|
48 |
+
$installer->run(
|
49 |
+
"
|
50 |
UPDATE {$this->getTable('core_config_data')}
|
51 |
SET path = 'payment/ops_cc/active_alias'
|
52 |
WHERE path = 'payment/ops_alias/active';
|
53 |
+
"
|
54 |
+
);
|
55 |
}
|
56 |
$hintForGuestsActive = Mage::getModel('core/config_data')->getCollection()
|
57 |
->addFieldToFilter('path', 'payment/ops_cc/show_alias_manager_info_for_guests')
|
58 |
->load();
|
59 |
if (0 == $hintForGuestsActive->count()) {
|
60 |
+
$installer->run(
|
61 |
+
"
|
62 |
UPDATE {$this->getTable('core_config_data')}
|
63 |
SET path = 'payment/ops_cc/show_alias_manager_info_for_guests'
|
64 |
WHERE path = 'payment/ops_alias/show_info_for_guests';
|
65 |
+
"
|
66 |
+
);
|
67 |
}
|
68 |
|
69 |
$installer->endSetup();
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.06.07-13.07.04.php
CHANGED
@@ -4,12 +4,14 @@ $installer->startSetup();
|
|
4 |
|
5 |
|
6 |
|
7 |
-
$installer->run(
|
|
|
8 |
UPDATE {$this->getTable('core_config_data')}
|
9 |
SET value = 'Ingenico ePayments Belfius Direct Net'
|
10 |
WHERE path = 'payment/ops_belfiusDirectNet/title'
|
11 |
AND value = 'Ingenico ePayments BelfiusDirectNet';
|
12 |
-
"
|
|
|
13 |
|
14 |
$installer->endSetup();
|
15 |
|
4 |
|
5 |
|
6 |
|
7 |
+
$installer->run(
|
8 |
+
"
|
9 |
UPDATE {$this->getTable('core_config_data')}
|
10 |
SET value = 'Ingenico ePayments Belfius Direct Net'
|
11 |
WHERE path = 'payment/ops_belfiusDirectNet/title'
|
12 |
AND value = 'Ingenico ePayments BelfiusDirectNet';
|
13 |
+
"
|
14 |
+
);
|
15 |
|
16 |
$installer->endSetup();
|
17 |
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-13.11.04-13.11.05.php
CHANGED
@@ -2,12 +2,14 @@
|
|
2 |
$installer = $this;
|
3 |
$installer->startSetup();
|
4 |
|
5 |
-
$installer->run(
|
|
|
6 |
UPDATE {$this->getTable('core_config_data')}
|
7 |
SET value = '-100'
|
8 |
WHERE path = 'payment/ops_cc/sort_order'
|
9 |
AND value is NULL
|
10 |
-
"
|
|
|
11 |
|
12 |
$installer->endSetup();
|
13 |
|
2 |
$installer = $this;
|
3 |
$installer->startSetup();
|
4 |
|
5 |
+
$installer->run(
|
6 |
+
"
|
7 |
UPDATE {$this->getTable('core_config_data')}
|
8 |
SET value = '-100'
|
9 |
WHERE path = 'payment/ops_cc/sort_order'
|
10 |
AND value is NULL
|
11 |
+
"
|
12 |
+
);
|
13 |
|
14 |
$installer->endSetup();
|
15 |
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-14.01.27-14.02.05.php
CHANGED
@@ -46,8 +46,7 @@ $table = $installer->getConnection()
|
|
46 |
),
|
47 |
'kwixo shipping details'
|
48 |
)
|
49 |
-
->addIndex('unique', 'shipping_code')
|
50 |
-
;
|
51 |
$installer->getConnection()->createTable($table);
|
52 |
$installer->endSetup();
|
53 |
|
46 |
),
|
47 |
'kwixo shipping details'
|
48 |
)
|
49 |
+
->addIndex('unique', 'shipping_code');
|
|
|
50 |
$installer->getConnection()->createTable($table);
|
51 |
$installer->endSetup();
|
52 |
|
app/code/community/Netresearch/OPS/sql/ops_setup/mysql4-upgrade-16.05.26-27.06.16.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/** @var Mage_Core_Model_Resource_Setup $installer */
|
3 |
+
|
4 |
+
$installer = $this;
|
5 |
+
|
6 |
+
$installer->getConnection()->modifyColumn(
|
7 |
+
$installer->getTable('ops/alias'), 'alias', "varchar(255) NULL DEFAULT NULL"
|
8 |
+
);
|
app/design/adminhtml/default/default/layout/ops.xml
CHANGED
@@ -1,30 +1,25 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<!--
|
3 |
/**
|
4 |
-
*
|
5 |
*
|
6 |
* NOTICE OF LICENSE
|
7 |
*
|
8 |
-
* This source file is subject to the
|
9 |
-
* that is bundled with this package in the file
|
10 |
* It is also available through the world-wide-web at this URL:
|
11 |
-
* http://opensource.org/licenses/
|
12 |
-
* If you did not receive a copy of the license and are unable to
|
13 |
-
* obtain it through the world-wide-web, please send an email
|
14 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
*
|
16 |
* DISCLAIMER
|
17 |
*
|
18 |
-
* Do not edit or add to this file if you wish to upgrade
|
19 |
-
* versions in the future.
|
20 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
*
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @
|
25 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
*/
|
27 |
-
-->
|
28 |
<layout version="0.1.0">
|
29 |
<add_order_grid_column_handle>
|
30 |
<reference name="sales_order.grid">
|
1 |
<?xml version="1.0"?>
|
2 |
<!--
|
3 |
/**
|
4 |
+
* Netresearch_OPS
|
5 |
*
|
6 |
* NOTICE OF LICENSE
|
7 |
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
12 |
*
|
13 |
* DISCLAIMER
|
14 |
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
|
|
17 |
*
|
18 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
19 |
+
* @license Open Software License (OSL 3.0)
|
20 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
21 |
*/
|
22 |
+
-->
|
23 |
<layout version="0.1.0">
|
24 |
<add_order_grid_column_handle>
|
25 |
<reference name="sales_order.grid">
|
app/design/adminhtml/default/default/template/ops/categoriestree.phtml
CHANGED
@@ -1,4 +1,23 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
?>
|
3 |
<div class="categories-side-col">
|
4 |
<div class="content-header">
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
?>
|
22 |
<div class="categories-side-col">
|
23 |
<div class="content-header">
|
app/design/adminhtml/default/default/template/ops/form/cc.phtml
CHANGED
@@ -27,37 +27,6 @@
|
|
27 |
|
28 |
/** @var $this Netresearch_OPS_Block_Form_Cc */
|
29 |
?>
|
30 |
-
<script type="text/javascript">
|
31 |
-
Translator.add(
|
32 |
-
'Payment failed. Please select another payment method.',
|
33 |
-
'<?php echo Mage::helper('ops')->__('Payment failed. Please select another payment method.') ?>'
|
34 |
-
);
|
35 |
-
Translator.add(
|
36 |
-
'Payment failed. Please review your input or select another payment method.',
|
37 |
-
'<?php echo Mage::helper('ops')->__(
|
38 |
-
'Payment failed. Please review your input or select another payment method.'
|
39 |
-
) ?>'
|
40 |
-
);
|
41 |
-
Translator.add(
|
42 |
-
'LOAD_TOKEN',
|
43 |
-
'<?php echo $this->__('Please wait, while we load the Ingenico ePayments payment form.'); ?>'
|
44 |
-
);
|
45 |
-
|
46 |
-
Translator.add(
|
47 |
-
'SUCCESS_TOKEN',
|
48 |
-
"<?php echo $this->__(
|
49 |
-
"Your payment data is ready to be processed by Ingenico ePayments. You can <a href='javascript:void(0)' onclick='payment.reloadIframe();'>reset it</a> or still select another payment method."
|
50 |
-
); ?>"
|
51 |
-
);
|
52 |
-
|
53 |
-
Translator.add(
|
54 |
-
'FAILURE_TOKEN',
|
55 |
-
"<?php echo $this->__(
|
56 |
-
"Your payment data could not be saved by Ingenico ePayments. Please <a href='javascript:void(0)' onclick='payment.reloadIframe();'>retry</a> or select another payment method."
|
57 |
-
); ?>"
|
58 |
-
);
|
59 |
-
</script>
|
60 |
-
|
61 |
<style>
|
62 |
.ops_tokenization_frame {
|
63 |
height: 475px;
|
@@ -78,7 +47,7 @@
|
|
78 |
<?php echo implode(', ', $this->getAliasBrands()), '.' ?>
|
79 |
</li>
|
80 |
<li><?php echo $this->__('Payment using 3D secure is not supported.'); ?></li>
|
81 |
-
<input style="display:none;" name="payment[<?php echo $_code; ?>][alias]" value=""
|
82 |
id="<?php echo $_code ?>_alias_input">
|
83 |
</ul>
|
84 |
|
@@ -104,7 +73,9 @@
|
|
104 |
'brandsForAliasInterface': '<?php echo json_encode(
|
105 |
$this->getMethod()->getBrandsForAliasInterface()
|
106 |
) ?>'.evalJSON(),
|
107 |
-
'
|
|
|
|
|
108 |
};
|
109 |
|
110 |
locale = '<?php echo Mage::app()->getLocale()->getLocaleCode(); ?>';
|
@@ -152,35 +123,12 @@
|
|
152 |
}
|
153 |
});
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
if (typeof window[method] != 'undefined') {
|
158 |
-
if (typeof payment.currentMethodObject != 'undefined'
|
159 |
-
&& payment.currentMethodObject.code != method
|
160 |
-
) {
|
161 |
-
payment.opsAliasSuccess = false;
|
162 |
-
}
|
163 |
|
164 |
-
|
165 |
-
if (!payment.opsAliasSuccess && payment.currentMethodObject.tokenizationFrame.src == 'about:blank') {
|
166 |
-
payment.reloadIframe();
|
167 |
-
} else {
|
168 |
-
toggleOrderSubmit(true);
|
169 |
-
}
|
170 |
-
} else {
|
171 |
-
delete payment.currentMethodObject;
|
172 |
-
}
|
173 |
originalMethod(method);
|
174 |
});
|
175 |
|
176 |
-
var toggleOrderSubmit = function (active) {
|
177 |
-
if (active) {
|
178 |
-
enableElements('save')
|
179 |
-
} else {
|
180 |
-
disableElements('save')
|
181 |
-
}
|
182 |
-
};
|
183 |
-
|
184 |
// on reload we have to hide the iframe and show a success token if save was successfull already
|
185 |
|
186 |
if (payment.opsAliasSuccess && typeof payment.currentMethodObject != 'undefined') {
|
27 |
|
28 |
/** @var $this Netresearch_OPS_Block_Form_Cc */
|
29 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<style>
|
31 |
.ops_tokenization_frame {
|
32 |
height: 475px;
|
47 |
<?php echo implode(', ', $this->getAliasBrands()), '.' ?>
|
48 |
</li>
|
49 |
<li><?php echo $this->__('Payment using 3D secure is not supported.'); ?></li>
|
50 |
+
<input style="display:none;" name="payment[<?php echo $_code; ?>_data][alias]" value=""
|
51 |
id="<?php echo $_code ?>_alias_input">
|
52 |
</ul>
|
53 |
|
73 |
'brandsForAliasInterface': '<?php echo json_encode(
|
74 |
$this->getMethod()->getBrandsForAliasInterface()
|
75 |
) ?>'.evalJSON(),
|
76 |
+
'paymentMethod': 'CreditCard',
|
77 |
+
'aliasManager': 'N',
|
78 |
+
'brand': function () {return false}
|
79 |
};
|
80 |
|
81 |
locale = '<?php echo Mage::app()->getLocale()->getLocaleCode(); ?>';
|
123 |
}
|
124 |
});
|
125 |
|
126 |
+
order.setPaymentMethod = order.setPaymentMethod.wrap(function (originalMethod, method) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
|
128 |
+
payment.opsAdminSwitchMethod(method);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
originalMethod(method);
|
130 |
});
|
131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
// on reload we have to hide the iframe and show a success token if save was successfull already
|
133 |
|
134 |
if (payment.opsAliasSuccess && typeof payment.currentMethodObject != 'undefined') {
|
app/design/adminhtml/default/default/template/ops/form/directDebit.phtml
CHANGED
@@ -1,61 +1,189 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
-
*
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
9 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
*/
|
11 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
<?php
|
13 |
-
/** @var
|
14 |
-
$this->
|
|
|
15 |
?>
|
16 |
-
<
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
Translator.add(
|
26 |
-
'Payment failed. Please select another payment method.',
|
27 |
-
'<?php echo Mage::helper('ops')->__('Payment failed. Please select another payment method.') ?>'
|
28 |
-
);
|
29 |
-
</script>
|
30 |
-
<ul id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none">
|
31 |
-
<li>
|
32 |
-
<label for="ops_directdebit_country"><?php echo $this->__('country'); ?><em class="required">*</em></label><br/>
|
33 |
-
<select title="ops_directdebit_country" class="required-entry" name="ops_directDebit[country]" id="ops_directdebit_country" onchange="payment.toggleOpsDirectDebitInputs(this.value)">
|
34 |
-
<option value=""><?php echo $this->__('--Please Select--')?></option>
|
35 |
<?php foreach ($this->getDirectDebitCountryIds() as $countryId) : ?>
|
36 |
-
<option value="<?php echo $countryId; ?>" <?php
|
|
|
|
|
37 |
<?php endforeach; ?>
|
38 |
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
</li>
|
40 |
-
<
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
</ul>
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*
|
21 |
+
* Netresearch_OPS_Block_Form_DirectDebit
|
22 |
+
*
|
23 |
+
* @category design
|
24 |
+
* @package OPS
|
25 |
+
* @author Thomas Birke <thomas.birke@netresearch.de>
|
26 |
*/
|
27 |
?>
|
28 |
+
|
29 |
+
<style>
|
30 |
+
.ops_tokenization_frame {
|
31 |
+
height: 475px;
|
32 |
+
width: 100%;
|
33 |
+
border: none;
|
34 |
+
}
|
35 |
+
</style>
|
36 |
<?php
|
37 |
+
/** @var Netresearch_OPS_Block_Form_DirectDebit $this */
|
38 |
+
$code = $this->getMethodCode();
|
39 |
+
$storeId = $this->getQuote()->getStoreId();
|
40 |
?>
|
41 |
+
<ul class="form-list ops-form-list ops_card" id="payment_form_<?php echo $code ?>" style="display:none;">
|
42 |
+
|
43 |
+
<!-- new Alias -->
|
44 |
+
<li id="insert_payment_details_<?php echo $code ?>" class="insert_payment_details" style="">
|
45 |
+
<label for="ops_directdebit_country_id"><?php echo $this->__('Country'); ?></label><br/>
|
46 |
+
<select title="ops_directebit_country_id" class="required-entry"
|
47 |
+
name="payment[<?php echo $code ?>_data][country_id]"
|
48 |
+
id="<?php echo $code ?>_country_id">
|
49 |
+
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
<?php foreach ($this->getDirectDebitCountryIds() as $countryId) : ?>
|
51 |
+
<option value="<?php echo $countryId; ?>" <?php echo $this->getSelectedCountryId() == $countryId ? 'selected' : '' ?>>
|
52 |
+
<?php echo Mage::getModel('directory/country')->loadByCode($countryId)->getName(); ?>
|
53 |
+
</option>
|
54 |
<?php endforeach; ?>
|
55 |
</select>
|
56 |
+
|
57 |
+
<input style="display:none;" name="payment[<?php echo $code; ?>_data][alias]" value=""
|
58 |
+
id="<?php echo $code ?>_alias_input">
|
59 |
+
|
60 |
+
<iframe id="ops_iframe_<?php echo $code ?>" class="ops_tokenization_frame" style="display: block;"
|
61 |
+
src="about:blank"></iframe>
|
62 |
+
<div id="<?php echo $code ?>_loader" style="display: none; font-weight: bold;"></div>
|
63 |
</li>
|
64 |
+
<script type="text/javascript">
|
65 |
+
opsHashUrl = '<?php echo $this->getGenerateHashUrl(null, true); ?>';
|
66 |
+
opsOrderId = '<?php echo $this->getQuote()->getId(); ?>';
|
67 |
+
opsPspid = '<?php echo $this->getPSPID($storeId); ?>';
|
68 |
+
opsAcceptUrl = '<?php echo $this->getAliasAcceptUrl(null, true); ?>';
|
69 |
+
opsExceptionUrl = '<?php echo $this->getAliasExceptionUrl(null, true); ?>';
|
70 |
+
opsUrl = '<?php echo $this->getAliasGatewayUrl($storeId); ?>';
|
71 |
+
opsAlias = '';
|
72 |
+
|
73 |
+
paramplus = 'RESPONSEFORMAT=JSON&isAjax=1';
|
74 |
+
|
75 |
+
<?php echo $code ?> = {
|
76 |
+
'code': '<?php echo $code ?>',
|
77 |
+
'loader': $('<?php echo $code ?>_loader'),
|
78 |
+
'tokenizationFrame': $('ops_iframe_<?php echo $code ?>'),
|
79 |
+
'aliasManager': 'N',
|
80 |
+
'brand': function(){ return 'Direct Debits '+ $("<?php echo $code ?>_country_id").value;}
|
81 |
+
};
|
82 |
+
|
83 |
+
locale = '<?php echo Mage::app()->getLocale()->getLocaleCode(); ?>';
|
84 |
+
transmitPaymentMethod = true;
|
85 |
+
|
86 |
+
Event.observe(document, 'alias:success', function (event) {
|
87 |
+
payment.fillOpsLoader('SUCCESS_TOKEN');
|
88 |
+
$(payment.currentMethodObject.code + '_alias_input').value = event.memo;
|
89 |
+
payment.opsAlias = {
|
90 |
+
"method": payment.currentMethodObject.code,
|
91 |
+
"alias": event.memo
|
92 |
+
};
|
93 |
+
toggleOrderSubmit(true);
|
94 |
+
payment.opsAliasSuccess = true;
|
95 |
+
});
|
96 |
+
|
97 |
+
Event.observe(document, 'alias:failure', function (event) {
|
98 |
+
payment.opsAliasSuccess = false;
|
99 |
+
payment.currentMethodObject.tokenizationFrame.src = 'about:blank';
|
100 |
+
payment.fillOpsLoader();
|
101 |
+
payment.fillOpsLoader('FAILURE_TOKEN');
|
102 |
+
});
|
103 |
+
|
104 |
+
Event.observe(<?php echo $code ?>.tokenizationFrame, 'load', function () {
|
105 |
+
|
106 |
+
if (<?php echo $code ?>.
|
107 |
+
tokenizationFrame.src != 'about:blank'
|
108 |
+
&& !payment.opsAliasSuccess
|
109 |
+
)
|
110 |
+
{
|
111 |
+
<?php echo $code ?>.
|
112 |
+
loader.style.display = 'none';
|
113 |
+
<?php echo $code ?>.
|
114 |
+
tokenizationFrame.style.display = 'block';
|
115 |
+
}
|
116 |
+
}
|
117 |
+
)
|
118 |
+
;
|
119 |
+
Event.observe('<?php echo $code; ?>_country_id', 'change', function () {
|
120 |
+
payment.handleBrandChange();
|
121 |
+
});
|
122 |
+
|
123 |
+
Event.observe(window, 'load', function (event) {
|
124 |
+
if (typeof window[order.paymentMethod] != 'undefined') {
|
125 |
+
payment.currentMethodObject = window[order.paymentMethod];
|
126 |
+
if (!payment.opsAliasSuccess
|
127 |
+
&& payment.currentMethodObject.tokenizationFrame.src == 'about:blank'
|
128 |
+
&& $(payment.currentMethodObject.code + '_country_id').value != ''
|
129 |
+
) {
|
130 |
+
payment.handleBrandChange();
|
131 |
+
} else {
|
132 |
+
toggleOrderSubmit(true);
|
133 |
+
payment.fillOpsLoader('SUCCESS_TOKEN');
|
134 |
+
}
|
135 |
+
} else {
|
136 |
+
delete payment.currentMethodObject;
|
137 |
+
}
|
138 |
+
});
|
139 |
+
|
140 |
+
order.setPaymentMethod = order.setPaymentMethod.wrap(function (originalMethod, method) {
|
141 |
+
|
142 |
+
payment.opsAdminSwitchMethod(method);
|
143 |
+
originalMethod(method);
|
144 |
+
});
|
145 |
+
|
146 |
+
// on reload we have to hide the iframe and show a success token if save was successfull already
|
147 |
+
|
148 |
+
if (payment.opsAliasSuccess && typeof payment.currentMethodObject != 'undefined') {
|
149 |
+
payment.fillOpsLoader('SUCCESS_TOKEN');
|
150 |
+
}
|
151 |
+
|
152 |
+
payment.reloadIframe = function () {
|
153 |
+
toggleOrderSubmit(false);
|
154 |
+
payment.currentMethodObject.tokenizationFrame.src = 'about:blank';
|
155 |
+
payment.opsAliasSuccess = false;
|
156 |
+
payment.generateHash();
|
157 |
+
};
|
158 |
+
|
159 |
+
if (typeof payment.prepareOpsForm != 'undefined') {
|
160 |
+
payment.prepareOpsForm = payment.prepareOpsForm.wrap(function (originalMethod, hash) {
|
161 |
+
if (!hash) {
|
162 |
+
var form = originalMethod(hash);
|
163 |
+
var formKeyElement = document.createElement('input');
|
164 |
+
formKeyElement.id = 'form_key';
|
165 |
+
formKeyElement.name = 'form_key';
|
166 |
+
formKeyElement.value = '<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>';
|
167 |
+
form.appendChild(formKeyElement);
|
168 |
+
|
169 |
+
return form;
|
170 |
+
} else {
|
171 |
+
return originalMethod(hash);
|
172 |
+
}
|
173 |
+
|
174 |
+
});
|
175 |
+
}
|
176 |
+
|
177 |
+
if (typeof window[order.paymentMethod] != 'undefined') {
|
178 |
+
payment.currentMethodObject = window[order.paymentMethod];
|
179 |
+
}
|
180 |
+
|
181 |
+
if (typeof payment.opsAlias != 'undefined') {
|
182 |
+
if (payment.opsAlias.method == order.paymentMethod) {
|
183 |
+
$(payment.opsAlias.method + '_alias_input').value = payment.opsAlias.alias;
|
184 |
+
payment.fillOpsLoader();
|
185 |
+
payment.fillOpsLoader('SUCCESS_TOKEN');
|
186 |
+
}
|
187 |
+
}
|
188 |
+
</script>
|
189 |
</ul>
|
app/design/adminhtml/default/default/template/ops/form/opsId.phtml
CHANGED
@@ -1,12 +1,29 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
/**
|
3 |
* Netresearch_OPS_Block_Form_OpsId
|
4 |
*
|
5 |
* @category design
|
6 |
* @package OPS
|
7 |
-
* @
|
8 |
-
* @author Thomas Birke <thomas.birke@netresearch.de>
|
9 |
-
* @license OSL 3.0
|
10 |
*/
|
11 |
?>
|
12 |
<ul id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none">
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
/**
|
22 |
* Netresearch_OPS_Block_Form_OpsId
|
23 |
*
|
24 |
* @category design
|
25 |
* @package OPS
|
26 |
+
* @author Thomas Birke <thomas.birke@netresearch.de>
|
|
|
|
|
27 |
*/
|
28 |
?>
|
29 |
<ul id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none">
|
app/design/adminhtml/default/default/template/ops/form/payPerMail.phtml
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
/**
|
22 |
+
* Netresearch_OPS_Block_Form_PayPerMail
|
23 |
+
*
|
24 |
+
* @category design
|
25 |
+
* @package OPS
|
26 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
27 |
+
*/
|
28 |
+
?>
|
29 |
+
<ul id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none">
|
30 |
+
</ul>
|
31 |
+
|
app/design/adminhtml/default/default/template/ops/info.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br />
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br />
|
app/design/adminhtml/default/default/template/ops/info/bancontact.phtml
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
+
<?php /** @var Netresearch_OPS_Block_Info_Bancontact $this */ ?>
|
23 |
+
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br />
|
24 |
+
<?php echo Mage::helper('payment')->__('Payment ID: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('paymentId'))) ?><br/>
|
25 |
+
<?php echo Mage::helper('payment')->__('Status: %s', Mage::helper('ops')->getStatusText($this->getInfo()->getAdditionalInformation('status'))) ?><br/>
|
26 |
+
<?php if ($this->getInfo()->hasAdditionalInformation('acceptance')): ?>
|
27 |
+
<?php echo Mage::helper('payment')->__('Acceptance: %s', $this->getInfo()->getAdditionalInformation('acceptance')) ?><br/>
|
28 |
+
<?php endif; ?>
|
29 |
+
|
30 |
+
<?php echo Mage::helper('payment')->__('Device: %s', $this->getDeviceParameter()) ?><br/>
|
31 |
+
<?php echo Mage::helper('payment')->__('Mobilemode: %s', $this->getMobileModeParameter()) ?><br/>
|
32 |
+
|
33 |
+
<?php $scoring = $this->getInfo()->getAdditionalInformation('scoring'); ?>
|
34 |
+
<?php $scoringCategory = $this->getInfo()->getAdditionalInformation('scoringCategory'); ?>
|
35 |
+
|
36 |
+
<?php
|
37 |
+
$scoringCssClass = '';
|
38 |
+
if (0 < strlen(trim($scoringCategory))):
|
39 |
+
$scoringCssClass = 'scoring-' . $scoringCategory;
|
40 |
+
endif; ?>
|
41 |
+
<?php $scoringInformation = $this->getInfo()->getAdditionalInformation('additionalScoringData'); ?>
|
42 |
+
<?php if ($scoringInformation): ?>
|
43 |
+
<table class="scoring <?php echo $this->htmlEscape($scoringCssClass); ?>">
|
44 |
+
<tr>
|
45 |
+
<th colspan="3" class="scoring scoring-<?php echo $this->htmlEscape($scoringCategory); ?>">
|
46 |
+
<?php if (is_numeric($scoring) && 0 <= (int) $scoring): ?>
|
47 |
+
<?php echo Mage::helper('ops')->__('Scoring Value: %s', $this->htmlEscape($scoring)) ?><br />
|
48 |
+
<?php endif; ?>
|
49 |
+
<?php if (0 < strlen(trim($scoringCategory))): ?>
|
50 |
+
<?php echo Mage::helper('ops')->__(sprintf('Scoring Category: %s', $this->htmlEscape($scoringCategory))) ?>
|
51 |
+
<?php endif; ?>
|
52 |
+
</th>
|
53 |
+
</tr>
|
54 |
+
<?php if (true === is_array($scoringInformation)): ?>
|
55 |
+
<?php foreach($scoringInformation as $key => $value): ?>
|
56 |
+
<tr>
|
57 |
+
<th><?php echo Mage::helper('ops')->__($key); ?></th>
|
58 |
+
<td><?php echo $value; ?></td>
|
59 |
+
<td class="ops_scoring_description">
|
60 |
+
<?php $descriptionTranslationTemplate = 'SCORING_DESCRIPTION_' . $key; ?>
|
61 |
+
<?php $description = Mage::helper('ops')->__($descriptionTranslationTemplate) ?>
|
62 |
+
<?php if ($description != $descriptionTranslationTemplate): ?>
|
63 |
+
<img src="<?php echo $this->getSkinUrl('images/fam_help.gif') ?>" alt="?" />
|
64 |
+
<div>
|
65 |
+
<?php echo $description ?>
|
66 |
+
</div>
|
67 |
+
<?php endif; ?>
|
68 |
+
</td>
|
69 |
+
</tr>
|
70 |
+
<?php endforeach; ?>
|
71 |
+
<?php endif; ?>
|
72 |
+
</table>
|
73 |
+
<?php endif; ?>
|
74 |
+
<?php if ('O' == $scoringCategory): ?>
|
75 |
+
<div class="notice-msg" style="padding: 9px 30px; margin-top: 3px">
|
76 |
+
<?php echo Mage::helper('ops')->__('This might be a fraud attempt. Please check details for more information.') ?>
|
77 |
+
</div>
|
78 |
+
<?php endif; ?>
|
79 |
+
<?php if (!is_numeric($scoring) && 0 < strlen(trim($scoringCategory)) && 0 == sizeof($scoringInformation)): ?>
|
80 |
+
<?php echo Mage::helper('ops')->__('No scoring information available'); ?>
|
81 |
+
<?php endif; ?>
|
app/design/adminhtml/default/default/template/ops/info/cc.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
app/design/adminhtml/default/default/template/ops/info/opsId.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
app/design/adminhtml/default/default/template/ops/info/payPerMail.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
+
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
23 |
+
<?php echo Mage::helper('payment')->__('Payment ID: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('paymentId'))) ?><br/>
|
app/design/adminhtml/default/default/template/ops/info/redirect.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
|
app/design/adminhtml/default/default/template/ops/sales/order/creditmemo/closed-transaction/warning.phtml
CHANGED
@@ -1,3 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<ul class="messages">
|
2 |
<li class="warning-msg">
|
3 |
<?php
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
<ul class="messages">
|
23 |
<li class="warning-msg">
|
24 |
<?php
|
app/design/adminhtml/default/default/template/ops/sales/order/creditmemo/totals/checkbox.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
<div class="order-totals-bottom">
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
<div class="order-totals-bottom">
|
app/design/adminhtml/default/default/template/ops/system/config/kwixoconfiglinks.phtml
CHANGED
@@ -1,3 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<span style="margin-right: 5px;">
|
2 |
<?php echo $this->__(
|
3 |
"Don't forget to set your shipping method to use KWIXO in the best way"
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
<span style="margin-right: 5px;">
|
23 |
<?php echo $this->__(
|
24 |
"Don't forget to set your shipping method to use KWIXO in the best way"
|
app/design/adminhtml/default/default/template/ops/system/config/support.phtml
CHANGED
@@ -1,3 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<table cellspacing="0" class="switcher" width="100%" class="form-list">
|
2 |
<col width="300px"/>
|
3 |
<col/>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
<table cellspacing="0" class="switcher" width="100%" class="form-list">
|
23 |
<col width="300px"/>
|
24 |
<col/>
|
app/design/frontend/base/default/layout/ops.xml
CHANGED
@@ -1,28 +1,23 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<!--
|
3 |
/**
|
4 |
-
*
|
5 |
*
|
6 |
* NOTICE OF LICENSE
|
7 |
*
|
8 |
-
* This source file is subject to the
|
9 |
-
* that is bundled with this package in the file
|
10 |
* It is also available through the world-wide-web at this URL:
|
11 |
-
* http://opensource.org/licenses/
|
12 |
-
* If you did not receive a copy of the license and are unable to
|
13 |
-
* obtain it through the world-wide-web, please send an email
|
14 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
*
|
16 |
* DISCLAIMER
|
17 |
*
|
18 |
-
* Do not edit or add to this file if you wish to upgrade
|
19 |
-
* versions in the future.
|
20 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
*
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @
|
25 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
*/
|
27 |
-->
|
28 |
<layout version="0.1.0">
|
@@ -114,15 +109,38 @@
|
|
114 |
</ops_payment_placeform>
|
115 |
|
116 |
<ops_payment_retry>
|
|
|
|
|
|
|
|
|
|
|
117 |
<reference name="head">
|
|
|
|
|
|
|
|
|
118 |
<action method="addCss">
|
119 |
<stylesheet>css/ops.css</stylesheet>
|
120 |
</action>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
</reference>
|
122 |
<remove name="right"/>
|
123 |
<remove name="left"/>
|
124 |
<reference name="content">
|
125 |
-
<block type="ops/retryPayment" name="
|
|
|
|
|
|
|
|
|
|
|
126 |
</reference>
|
127 |
</ops_payment_retry>
|
128 |
|
@@ -135,6 +153,11 @@
|
|
135 |
</ops_payment_placeform3dsecure>
|
136 |
|
137 |
<customer_account>
|
|
|
|
|
|
|
|
|
|
|
138 |
<reference name="customer_account_navigation">
|
139 |
<action method="addLink" translate="label" module="ops" ifconfig="payment/ops_cc/active_alias">
|
140 |
<name>ops_payment_information</name>
|
1 |
<?xml version="1.0"?>
|
2 |
<!--
|
3 |
/**
|
4 |
+
* Netresearch_OPS
|
5 |
*
|
6 |
* NOTICE OF LICENSE
|
7 |
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
12 |
*
|
13 |
* DISCLAIMER
|
14 |
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
|
|
17 |
*
|
18 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
19 |
+
* @license Open Software License (OSL 3.0)
|
20 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
21 |
*/
|
22 |
-->
|
23 |
<layout version="0.1.0">
|
109 |
</ops_payment_placeform>
|
110 |
|
111 |
<ops_payment_retry>
|
112 |
+
<reference name="root">
|
113 |
+
<action method="setTemplate">
|
114 |
+
<template>page/1column.phtml</template>
|
115 |
+
</action>
|
116 |
+
</reference>
|
117 |
<reference name="head">
|
118 |
+
<action method="addItem">
|
119 |
+
<type>skin_js</type>
|
120 |
+
<name>js/opcheckout.js</name>
|
121 |
+
</action>
|
122 |
<action method="addCss">
|
123 |
<stylesheet>css/ops.css</stylesheet>
|
124 |
</action>
|
125 |
+
<action method="addJs">
|
126 |
+
<script>netresearch/ops/tokenization.js</script>
|
127 |
+
</action>
|
128 |
+
<action method="addJs">
|
129 |
+
<script>netresearch/ops/payment.js</script>
|
130 |
+
</action>
|
131 |
+
<action method="addJs">
|
132 |
+
<script>varien/accordion.js</script>
|
133 |
+
</action>
|
134 |
</reference>
|
135 |
<remove name="right"/>
|
136 |
<remove name="left"/>
|
137 |
<reference name="content">
|
138 |
+
<block type="ops/retryPayment" name="ops_retryPayment" template="ops/retryPayment.phtml">
|
139 |
+
<block type="ops/retryPayment_methods" name="ops_retryPayment_methods" template="checkout/onepage/payment/methods.phtml">
|
140 |
+
<block type="core/template" name="checkout.onepage.payment.methods.scripts" as="scripts" />
|
141 |
+
<block type="core/template" name="checkout.onepage.payment.methods.additional" as="additional" />
|
142 |
+
</block>
|
143 |
+
</block>
|
144 |
</reference>
|
145 |
</ops_payment_retry>
|
146 |
|
153 |
</ops_payment_placeform3dsecure>
|
154 |
|
155 |
<customer_account>
|
156 |
+
<reference name="head">
|
157 |
+
<action method="addCss">
|
158 |
+
<stylesheet>css/ops.css</stylesheet>
|
159 |
+
</action>
|
160 |
+
</reference>
|
161 |
<reference name="customer_account_navigation">
|
162 |
<action method="addLink" translate="label" module="ops" ifconfig="payment/ops_cc/active_alias">
|
163 |
<name>ops_payment_information</name>
|
app/design/frontend/base/default/template/ops/customer/alias/list.phtml
CHANGED
@@ -28,23 +28,20 @@
|
|
28 |
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
29 |
<?php echo $this->getChildHtml('pager'); ?>
|
30 |
<?php if(count($aliases)): ?>
|
31 |
-
<
|
32 |
-
<
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
</tr>
|
46 |
-
</thead>
|
47 |
-
<tbody>
|
48 |
<?php $_odd = ''; ?>
|
49 |
<?php foreach ($aliases as $alias): ?>
|
50 |
<?php $deleteUrl = $this->getAliasDeleteUrl($alias->getId()); ?>
|
@@ -58,8 +55,9 @@
|
|
58 |
<td><a href="<?php echo $deleteUrl ?>"><?php echo Mage::helper('ops')->__('Delete') ?></a></td>
|
59 |
</tr>
|
60 |
<?php endforeach; ?>
|
61 |
-
|
62 |
-
|
|
|
63 |
<?php else: ?>
|
64 |
<p><?php echo Mage::helper('ops')->__('You did not save any payment information, yet.'); ?></p>
|
65 |
<?php endif; ?>
|
28 |
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
29 |
<?php echo $this->getChildHtml('pager'); ?>
|
30 |
<?php if(count($aliases)): ?>
|
31 |
+
<div class="ops-table-responsive">
|
32 |
+
<table class="data-table" id="ops-payment-information-table">
|
33 |
+
<thead>
|
34 |
+
<tr>
|
35 |
+
<th><?php echo Mage::helper('ops')->__('Payment method') ?></th>
|
36 |
+
<th><?php echo Mage::helper('ops')->__('Credit Card Type') ?></th>
|
37 |
+
<th><?php echo Mage::helper('ops')->__('Card Number/Account Number') ?></th>
|
38 |
+
<th><?php echo Mage::helper('ops')->__('Expiration Date') ?></th>
|
39 |
+
<th><?php echo Mage::helper('ops')->__('Card Holder') ?></th>
|
40 |
+
<th><?php echo Mage::helper('ops')->__('State') ?></th>
|
41 |
+
<th></th>
|
42 |
+
</tr>
|
43 |
+
</thead>
|
44 |
+
<tbody>
|
|
|
|
|
|
|
45 |
<?php $_odd = ''; ?>
|
46 |
<?php foreach ($aliases as $alias): ?>
|
47 |
<?php $deleteUrl = $this->getAliasDeleteUrl($alias->getId()); ?>
|
55 |
<td><a href="<?php echo $deleteUrl ?>"><?php echo Mage::helper('ops')->__('Delete') ?></a></td>
|
56 |
</tr>
|
57 |
<?php endforeach; ?>
|
58 |
+
</tbody>
|
59 |
+
</table>
|
60 |
+
</div>
|
61 |
<?php else: ?>
|
62 |
<p><?php echo Mage::helper('ops')->__('You did not save any payment information, yet.'); ?></p>
|
63 |
<?php endif; ?>
|
app/design/frontend/base/default/template/ops/form.phtml
CHANGED
@@ -31,72 +31,8 @@
|
|
31 |
$_code = $this->getMethodCode();
|
32 |
$isUserRegistering = $this->isUserRegistering();
|
33 |
?>
|
34 |
-
|
35 |
-
<script type="text/javascript">
|
36 |
-
Translator.add(
|
37 |
-
'Payment failed. Please select another payment method.',
|
38 |
-
'<?php echo Mage::helper('ops')->__('Payment failed. Please select another payment method.') ?>'
|
39 |
-
);
|
40 |
-
Translator.add(
|
41 |
-
'Payment failed. Please review your input or select another payment method.',
|
42 |
-
'<?php echo Mage::helper('ops')->__(
|
43 |
-
'Payment failed. Please review your input or select another payment method.'
|
44 |
-
) ?>'
|
45 |
-
);
|
46 |
-
Translator.add(
|
47 |
-
'This is a required field.',
|
48 |
-
'<?php echo Mage::helper('ops')->__('This is a required field.') ?>'
|
49 |
-
);
|
50 |
-
</script>
|
51 |
-
|
52 |
-
|
53 |
<ul class="form-list ops-form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
54 |
-
|
55 |
-
<?php if ($_code == 'ops_bankTransfer') : ?>
|
56 |
-
<li>
|
57 |
-
<label class="required-entry" for="ops_banktransfer_country_id"><?php echo $this->__(
|
58 |
-
'Country'
|
59 |
-
); ?></label><br/>
|
60 |
-
<select title="ops_banktransfer_country_id" class="required-entry" name="payment[country_id]"
|
61 |
-
id="ops_banktransfer_country_id">
|
62 |
-
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
63 |
-
<?php foreach ($this->getBankTransferCountryIds() as $countryId) : ?>
|
64 |
-
<?php if ('*' == $countryId || '' == $countryId): ?>
|
65 |
-
<option value="*">
|
66 |
-
<?php echo Mage::helper('ops')->__('Miscellaneous Countries'); ?>
|
67 |
-
</option>
|
68 |
-
<?php else: ?>
|
69 |
-
<option value="<?php echo $countryId; ?>">
|
70 |
-
<?php echo Mage::getModel('directory/country')->loadByCode($countryId)->getName(); ?>
|
71 |
-
</option>
|
72 |
-
<?php endif ?>
|
73 |
-
<?php endforeach; ?>
|
74 |
-
</select>
|
75 |
-
</li>
|
76 |
-
<?php elseif ($_code == 'ops_directEbanking') : ?>
|
77 |
-
<?php $brands = $this->getDirectEbankingBrands(); ?>
|
78 |
-
<?php if (count($brands) == 1): ?>
|
79 |
-
<li><input type="hidden" name="payment[directEbanking_brand]" id="ops_directEbanking_country_id"
|
80 |
-
value="<?php echo $this->escapeHtml(current($brands)); ?>"></li>
|
81 |
-
<?php endif; ?>
|
82 |
-
<?php if (1 < count($brands)): ?>
|
83 |
-
<li>
|
84 |
-
<label class="required-entry" for="ops_directEbanking_country_id"><?php echo $this->__(
|
85 |
-
'country'
|
86 |
-
); ?></label><br/>
|
87 |
-
<select class="required-entry" name="payment[directEbanking_brand]" id="ops_directEbanking_country_id">
|
88 |
-
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
89 |
-
<?php foreach ($brands as $brand) : ?>
|
90 |
-
<option value="<?php echo $brand; ?>">
|
91 |
-
<?php echo Mage::helper('ops')->__($brand); ?>
|
92 |
-
</option>
|
93 |
-
<?php endforeach; ?>
|
94 |
-
</select>
|
95 |
-
</li>
|
96 |
-
<?php endif; ?>
|
97 |
-
<?php else : ?>
|
98 |
-
<?php echo $this->__('You will be redirected to Ingenico ePayments website when you place an order.') ?>
|
99 |
-
<?php endif; ?>
|
100 |
</ul>
|
101 |
|
102 |
|
31 |
$_code = $this->getMethodCode();
|
32 |
$isUserRegistering = $this->isUserRegistering();
|
33 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
<ul class="form-list ops-form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
35 |
+
<?php echo $this->getRedirectMessage(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
</ul>
|
37 |
|
38 |
|
app/design/frontend/base/default/template/ops/form/alias.phtml
CHANGED
@@ -19,10 +19,10 @@
|
|
19 |
|
20 |
/* $this instanceof Netresearch_OPS_Block_Form_Alias */
|
21 |
?>
|
22 |
-
<?php $
|
23 |
<?php $helper = Mage::helper('ops') ?>
|
24 |
|
25 |
-
<ul class="form-list ops-form-list" id="payment_form_<?php echo $
|
26 |
<li>
|
27 |
<?php $inputType = (1 < count($this->getAvailableAliases())) ? 'radio' : 'hidden' ?>
|
28 |
<?php foreach ($this->getAvailableAliases() as $offset=>$alias): ?>
|
19 |
|
20 |
/* $this instanceof Netresearch_OPS_Block_Form_Alias */
|
21 |
?>
|
22 |
+
<?php $code = $this->getMethodCode() ?>
|
23 |
<?php $helper = Mage::helper('ops') ?>
|
24 |
|
25 |
+
<ul class="form-list ops-form-list" id="payment_form_<?php echo $code ?>" style="display:none;">
|
26 |
<li>
|
27 |
<?php $inputType = (1 < count($this->getAvailableAliases())) ? 'radio' : 'hidden' ?>
|
28 |
<?php foreach ($this->getAvailableAliases() as $offset=>$alias): ?>
|
app/design/frontend/base/default/template/ops/form/bankTransfer.phtml
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
+
|
23 |
+
<?php
|
24 |
+
/** @var Netresearch_OPS_Block_Form_BankTransfer $this */
|
25 |
+
$code = $this->getMethodCode();
|
26 |
+
?>
|
27 |
+
|
28 |
+
|
29 |
+
<ul class="form-list ops-form-list" id="payment_form_<?php echo $code ?>" style="display:none;">
|
30 |
+
<li>
|
31 |
+
<label class="required-entry" for="ops_banktransfer_country_id"><?php echo $this->__('Country'); ?></label><br/>
|
32 |
+
<select title="ops_banktransfer_country_id" class="required-entry" name="payment[country_id]"
|
33 |
+
id="ops_banktransfer_country_id">
|
34 |
+
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
35 |
+
<?php foreach ($this->getBankTransferCountryIds() as $countryId) : ?>
|
36 |
+
<?php if ('*' == $countryId || '' == $countryId): ?>
|
37 |
+
<option value="*">
|
38 |
+
<?php echo Mage::helper('ops')->__('Miscellaneous Countries'); ?>
|
39 |
+
</option>
|
40 |
+
<?php else: ?>
|
41 |
+
<option value="<?php echo $countryId; ?>">
|
42 |
+
<?php echo Mage::getModel('directory/country')->loadByCode($countryId)->getName(); ?>
|
43 |
+
</option>
|
44 |
+
<?php endif ?>
|
45 |
+
<?php endforeach; ?>
|
46 |
+
</select>
|
47 |
+
</li>
|
48 |
+
<p><?php echo $this->getRedirectMessage(); ?></p>
|
49 |
+
</ul>
|
50 |
+
|
51 |
+
|
app/design/frontend/base/default/template/ops/form/cc.phtml
CHANGED
@@ -1,60 +1,40 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
/**
|
3 |
* @var Netresearch_OPS_Block_Form_Cc $this
|
4 |
*/
|
5 |
-
$
|
6 |
?>
|
7 |
-
<
|
8 |
-
Translator.add(
|
9 |
-
'Payment failed. Please select another payment method.',
|
10 |
-
'<?php echo Mage::helper('ops')->__('Payment failed. Please select another payment method.') ?>'
|
11 |
-
);
|
12 |
-
Translator.add(
|
13 |
-
'Payment failed. Please review your input or select another payment method.',
|
14 |
-
'<?php echo Mage::helper('ops')->__(
|
15 |
-
'Payment failed. Please review your input or select another payment method.'
|
16 |
-
) ?>'
|
17 |
-
);
|
18 |
-
Translator.add(
|
19 |
-
'Incorrect credit card expiration date.',
|
20 |
-
'<?php echo Mage::helper('ops')->__('Incorrect credit card expiration date.') ?>'
|
21 |
-
);
|
22 |
-
|
23 |
-
Translator.add(
|
24 |
-
'LOAD_TOKEN',
|
25 |
-
'<?php echo $this->__('Please wait, while we load the Ingenico ePayments payment form.'); ?>'
|
26 |
-
);
|
27 |
-
|
28 |
-
Translator.add(
|
29 |
-
'SUCCESS_TOKEN',
|
30 |
-
"<?php echo $this->__(
|
31 |
-
"Your payment data is ready to be processed by Ingenico ePayments. You can <a href='javascript:void(0)' onclick='payment.handleBrandChange();'>reset it</a> or still select another payment method."
|
32 |
-
); ?>"
|
33 |
-
);
|
34 |
-
|
35 |
-
Translator.add(
|
36 |
-
'FAILURE_TOKEN',
|
37 |
-
"<?php echo $this->__(
|
38 |
-
"Your payment data could not be saved by Ingenico ePayments. Please <a href='javascript:void(0)' onclick='payment.handleBrandChange();'>retry</a> or select another payment method."
|
39 |
-
); ?>"
|
40 |
-
);
|
41 |
-
Translator.add(
|
42 |
-
'This is a required field.',
|
43 |
-
'<?php echo Mage::helper('ops')->__('This is a required field.') ?>'
|
44 |
-
);
|
45 |
-
</script>
|
46 |
-
<ul class="form-list ops-form-list ops_card" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
47 |
|
48 |
<?php
|
49 |
$display = 'none';
|
50 |
$storedAliases = $this->getStoredAliasForCustomer();
|
51 |
-
$newAlias = Mage::helper('ops/alias')->getAlias($this->getQuote(), true);
|
52 |
?>
|
53 |
|
54 |
<fieldset>
|
55 |
<?php foreach ($storedAliases as $key => $alias): ?>
|
56 |
<?php $brandName = $this->getStoredAliasBrand($alias->getId()) ?>
|
57 |
-
<input type="radio" id="<?php echo $alias->getId() ?>" name="payment[<?php echo $
|
58 |
value="<?php echo $alias->getAlias() ?>"
|
59 |
data-brand="<?php echo $brandName ?>"
|
60 |
data-cn="<?php echo $this->getCardHolderName($alias->getId()) ?>"
|
@@ -62,52 +42,54 @@ $_code = $this->getMethodCode();
|
|
62 |
<label for="<?php echo $alias->getId() ?>">
|
63 |
<ul>
|
64 |
<li><?php echo $this->__('Name on Card') . ': ' . $this->getCardHolderName($alias->getId()) ?></li>
|
65 |
-
<li
|
66 |
-
|
67 |
-
)
|
|
|
|
|
68 |
<li>
|
69 |
<?php echo $this->__('Credit Card Type:') ?>
|
70 |
-
<img src="<?php echo $this->getImageForBrand($brandName) ?>" alt="<?php echo $brandName ?>"
|
|
|
71 |
</li>
|
72 |
-
<li><?php echo $this->__('Expiration Date') . ': '
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
<li class="cvc" style="display: none;">
|
77 |
-
<label class="required" for="<?php echo strtoupper($_code) ?>_CVC_<?php echo $alias->getId(
|
78 |
-
) ?>"><?php echo $this->__('Card Verification Number'); ?><em>*</em></label>
|
79 |
-
<input title="<?php echo $this->__('Card Verification Number'); ?>"
|
80 |
-
class="input-text required-entry"
|
81 |
-
type="text" name="payment[<?php echo $_code ?>][cvc]"
|
82 |
-
id="<?php echo strtoupper($_code) ?>_CVC_<?php echo $alias->getId() ?>" length="6"/>
|
83 |
-
|
84 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
</ul>
|
86 |
</label>
|
87 |
<?php endforeach; ?>
|
88 |
-
<?php if (
|
89 |
-
<input type="select" id="<?php echo $
|
90 |
-
name="payment[<?php echo $
|
91 |
<?php foreach ($this->getAliasBrands() as $brand) : ?>
|
92 |
<option value="<?php echo $brand; ?>" class="hidden">
|
93 |
<?php echo $this->__($brand); ?>
|
94 |
</option>
|
95 |
<?php endforeach; ?>
|
96 |
<?php endif; ?>
|
97 |
-
|
98 |
-
<input type="radio" id="new_alias_<?php echo $_code ?>" name="payment[<?php echo $_code ?>][alias]"
|
99 |
class="validate-one-required-by-name" value="" <?php echo empty($storedAliases)
|
100 |
? 'checked' : ''; ?> required>
|
101 |
-
<label for="new_alias_<?php echo $
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
<select title="<?php echo strtoupper($_code) ?>_BRAND" class="required-entry" autocomplete="off"
|
110 |
-
name="payment[<?php echo $_code; ?>][CC_BRAND]" id="<?php echo strtoupper($_code) ?>_BRAND">
|
111 |
<option value=""><?php echo $this->__('--Please select--') ?></option>
|
112 |
<?php foreach ($this->getCCBrands() as $brand) : ?>
|
113 |
<option value="<?php echo $brand; ?>">
|
@@ -116,13 +98,11 @@ $_code = $this->getMethodCode();
|
|
116 |
<?php endforeach; ?>
|
117 |
</select>
|
118 |
|
119 |
-
<div id="<?php echo $
|
120 |
-
<iframe id="ops_iframe_<?php echo $
|
121 |
src="about:blank"></iframe>
|
122 |
-
<p id="<?php echo $
|
123 |
-
|
124 |
-
'You will be redirected to Ingenico ePayments website when you place an order.'
|
125 |
-
) ?></p>
|
126 |
</li>
|
127 |
|
128 |
<script type="text/javascript">
|
@@ -134,34 +114,41 @@ $_code = $this->getMethodCode();
|
|
134 |
opsUrl = '<?php echo $this->getAliasGatewayUrl(); ?>';
|
135 |
opsAlias = '';
|
136 |
|
|
|
137 |
paramplus = 'RESPONSEFORMAT=JSON';
|
138 |
|
139 |
-
<?php echo $
|
140 |
-
'code': '<?php echo $
|
141 |
-
'loader': $('<?php echo $
|
142 |
-
'tokenizationFrame': $('ops_iframe_<?php echo $
|
143 |
-
'redirectNote': $('<?php echo $
|
144 |
'brandsForAliasInterface': '<?php echo json_encode(
|
145 |
$this->getMethod()->getBrandsForAliasInterface()
|
146 |
) ?>'.evalJSON(),
|
147 |
-
'aliasManager': <?php echo $this->getConfig()->isAliasManagerEnabled($this->getMethodCode()) ? 'true'
|
|
|
|
|
|
|
|
|
148 |
};
|
149 |
locale = '<?php echo Mage::app()->getLocale()->getLocaleCode(); ?>';
|
150 |
transmitPaymentMethod = false;
|
151 |
|
152 |
-
Event.observe('<?php echo strtoupper($
|
153 |
payment.handleBrandChange();
|
154 |
});
|
155 |
|
156 |
-
Event.observe(<?php echo $
|
157 |
-
payment.onOpsIframeLoad
|
158 |
-
|
159 |
-
|
160 |
-
;
|
161 |
|
162 |
Event.observe(document, 'alias:success', function (event) {
|
163 |
-
payment.fillOpsLoader('
|
164 |
-
|
|
|
|
|
165 |
payment.opsAliasSuccess = true;
|
166 |
$('new_alias_' + payment.currentMethod).value = event.memo;
|
167 |
payment.save();
|
@@ -170,8 +157,10 @@ $_code = $this->getMethodCode();
|
|
170 |
Event.observe(document, 'alias:failure', function (event) {
|
171 |
payment.opsAliasSuccess = false;
|
172 |
payment.currentMethodObject.tokenizationFrame.src = 'about:blank';
|
173 |
-
payment.fillOpsLoader('
|
174 |
-
|
|
|
|
|
175 |
});
|
176 |
|
177 |
</script>
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
/**
|
23 |
* @var Netresearch_OPS_Block_Form_Cc $this
|
24 |
*/
|
25 |
+
$code = $this->getMethodCode();
|
26 |
?>
|
27 |
+
<ul class="form-list ops-form-list ops_card" id="payment_form_<?php echo $code ?>" style="display:none;">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
<?php
|
30 |
$display = 'none';
|
31 |
$storedAliases = $this->getStoredAliasForCustomer();
|
|
|
32 |
?>
|
33 |
|
34 |
<fieldset>
|
35 |
<?php foreach ($storedAliases as $key => $alias): ?>
|
36 |
<?php $brandName = $this->getStoredAliasBrand($alias->getId()) ?>
|
37 |
+
<input type="radio" id="<?php echo $alias->getId() ?>" name="payment[<?php echo $code ?>_data][alias]"
|
38 |
value="<?php echo $alias->getAlias() ?>"
|
39 |
data-brand="<?php echo $brandName ?>"
|
40 |
data-cn="<?php echo $this->getCardHolderName($alias->getId()) ?>"
|
42 |
<label for="<?php echo $alias->getId() ?>">
|
43 |
<ul>
|
44 |
<li><?php echo $this->__('Name on Card') . ': ' . $this->getCardHolderName($alias->getId()) ?></li>
|
45 |
+
<li>
|
46 |
+
<?php echo $this->__('Credit Card Number') . ': '
|
47 |
+
. $this->getAliasCardNumber($alias->getId());
|
48 |
+
?>
|
49 |
+
</li>
|
50 |
<li>
|
51 |
<?php echo $this->__('Credit Card Type:') ?>
|
52 |
+
<img src="<?php echo $this->getImageForBrand($brandName) ?>" alt="<?php echo $brandName ?>"
|
53 |
+
class="ops-brandlogo">
|
54 |
</li>
|
55 |
+
<li><?php echo $this->__('Expiration Date') . ': '
|
56 |
+
. $this->getExpirationDatePart($alias->getId(), 'complete');
|
57 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
</li>
|
59 |
+
|
60 |
+
<?php if ($this->checkIfBrandHasAliasInterfaceSupport($alias->getId())): ?>
|
61 |
+
<li class="cvc" style="display: none;">
|
62 |
+
<label class="required" for="<?php echo strtoupper($code) ?>_CVC_<?php echo $alias->getId(
|
63 |
+
) ?>"><?php echo $this->__('Card Verification Number'); ?><em>*</em></label>
|
64 |
+
<input title="<?php echo $this->__('Card Verification Number'); ?>"
|
65 |
+
class="input-text required-entry"
|
66 |
+
type="text" name="payment[<?php echo $code ?>_data][cvc]"
|
67 |
+
id="<?php echo strtoupper($code) ?>_CVC_<?php echo $alias->getId() ?>" length="6"/>
|
68 |
+
</li>
|
69 |
+
<?php endif; ?>
|
70 |
</ul>
|
71 |
</label>
|
72 |
<?php endforeach; ?>
|
73 |
+
<?php if (!empty($storedAliases)): ?>
|
74 |
+
<input type="select" id="<?php echo $code; ?>_stored_alias_brand"
|
75 |
+
name="payment[<?php echo $code; ?>_data][CC_BRAND]" class="hidden">
|
76 |
<?php foreach ($this->getAliasBrands() as $brand) : ?>
|
77 |
<option value="<?php echo $brand; ?>" class="hidden">
|
78 |
<?php echo $this->__($brand); ?>
|
79 |
</option>
|
80 |
<?php endforeach; ?>
|
81 |
<?php endif; ?>
|
82 |
+
<input type="radio" id="new_alias_<?php echo $code ?>" name="payment[<?php echo $code ?>_data][alias]"
|
|
|
83 |
class="validate-one-required-by-name" value="" <?php echo empty($storedAliases)
|
84 |
? 'checked' : ''; ?> required>
|
85 |
+
<label for="new_alias_<?php echo $code ?>" class="new_alias_label">
|
86 |
+
<?php echo $this->__('Enter new credit card data...') ?></label>
|
87 |
+
<li id="insert_payment_details_<?php echo $code ?>" class="insert_payment_details" style="">
|
88 |
+
<label class="required" for="<?php echo strtoupper($code) ?>_BRAND"
|
89 |
+
id="<?php echo strtoupper($code) ?>_BRAND_LABEL">
|
90 |
+
<?php echo $this->__('Credit Card Type'); ?></label><br/>
|
91 |
+
<select title="<?php echo strtoupper($code) ?>_BRAND" class="required-entry" autocomplete="off"
|
92 |
+
name="payment[<?php echo $code; ?>_data][CC_BRAND]" id="<?php echo strtoupper($code) ?>_BRAND">
|
|
|
|
|
93 |
<option value=""><?php echo $this->__('--Please select--') ?></option>
|
94 |
<?php foreach ($this->getCCBrands() as $brand) : ?>
|
95 |
<option value="<?php echo $brand; ?>">
|
98 |
<?php endforeach; ?>
|
99 |
</select>
|
100 |
|
101 |
+
<div id="<?php echo $code ?>_loader" class="ops_htp_loader" style="display: none;"></div>
|
102 |
+
<iframe id="ops_iframe_<?php echo $code ?>" class="ops_htp_iframe" style="display: none;"
|
103 |
src="about:blank"></iframe>
|
104 |
+
<p id="<?php echo $code ?>_redirect_note" class="ops_htp_redirect" style="display: none;">
|
105 |
+
<?php echo $this->getRedirectMessage(); ?></p>
|
|
|
|
|
106 |
</li>
|
107 |
|
108 |
<script type="text/javascript">
|
114 |
opsUrl = '<?php echo $this->getAliasGatewayUrl(); ?>';
|
115 |
opsAlias = '';
|
116 |
|
117 |
+
|
118 |
paramplus = 'RESPONSEFORMAT=JSON';
|
119 |
|
120 |
+
<?php echo $code ?> = {
|
121 |
+
'code': '<?php echo $code ?>',
|
122 |
+
'loader': $('<?php echo $code ?>_loader'),
|
123 |
+
'tokenizationFrame': $('ops_iframe_<?php echo $code ?>'),
|
124 |
+
'redirectNote': $('<?php echo $code ?>_redirect_note'),
|
125 |
'brandsForAliasInterface': '<?php echo json_encode(
|
126 |
$this->getMethod()->getBrandsForAliasInterface()
|
127 |
) ?>'.evalJSON(),
|
128 |
+
'aliasManager': <?php echo $this->getConfig()->isAliasManagerEnabled($this->getMethodCode()) ? 'true'
|
129 |
+
: 'false' ?>,
|
130 |
+
'brand': function () {
|
131 |
+
return $(payment.currentMethodObject.code.toUpperCase() + '_BRAND').value;
|
132 |
+
}
|
133 |
};
|
134 |
locale = '<?php echo Mage::app()->getLocale()->getLocaleCode(); ?>';
|
135 |
transmitPaymentMethod = false;
|
136 |
|
137 |
+
Event.observe('<?php echo strtoupper($code); ?>_BRAND', 'change', function () {
|
138 |
payment.handleBrandChange();
|
139 |
});
|
140 |
|
141 |
+
Event.observe(<?php echo $code; ?>.tokenizationFrame, 'load', function () {
|
142 |
+
if (typeof payment.onOpsIframeLoad == 'function') {
|
143 |
+
payment.onOpsIframeLoad();
|
144 |
+
}
|
145 |
+
});
|
146 |
|
147 |
Event.observe(document, 'alias:success', function (event) {
|
148 |
+
payment.fillOpsLoader('SUCCESS_TOKEN_FRONTEND');
|
149 |
+
if (typeof checkout != 'undefined' && checkout) {
|
150 |
+
payment.toggleContinue(true);
|
151 |
+
}
|
152 |
payment.opsAliasSuccess = true;
|
153 |
$('new_alias_' + payment.currentMethod).value = event.memo;
|
154 |
payment.save();
|
157 |
Event.observe(document, 'alias:failure', function (event) {
|
158 |
payment.opsAliasSuccess = false;
|
159 |
payment.currentMethodObject.tokenizationFrame.src = 'about:blank';
|
160 |
+
payment.fillOpsLoader('FAILURE_TOKEN_FRONTEND');
|
161 |
+
if (typeof checkout != 'undefined' && checkout) {
|
162 |
+
payment.toggleContinue(false);
|
163 |
+
}
|
164 |
});
|
165 |
|
166 |
</script>
|
app/design/frontend/base/default/template/ops/form/directDebit.phtml
CHANGED
@@ -1,6 +1,25 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
*
|
5 |
* @category design
|
6 |
* @package OPS
|
@@ -8,70 +27,119 @@
|
|
8 |
* @author Thomas Birke <thomas.birke@netresearch.de>
|
9 |
* @license OSL 3.0
|
10 |
*/
|
|
|
|
|
|
|
|
|
|
|
11 |
?>
|
12 |
-
<?php $this->getParams(); ?>
|
13 |
-
<script type="text/javascript">
|
14 |
-
Translator.add(
|
15 |
-
'Account number must contain numbers only.',
|
16 |
-
'<?php echo Mage::helper('ops')->__('Account number must contain numbers only.') ?>'
|
17 |
-
);
|
18 |
-
Translator.add(
|
19 |
-
'Bank code must contain numbers only.',
|
20 |
-
'<?php echo Mage::helper('ops')->__('Bank code must contain numbers only.') ?>'
|
21 |
-
);
|
22 |
-
Translator.add(
|
23 |
-
'Payment failed. Please select another payment method.',
|
24 |
-
'<?php echo Mage::helper('ops')->__('Payment failed. Please select another payment method.') ?>'
|
25 |
-
);
|
26 |
-
Translator.add(
|
27 |
-
'This is a required field.',
|
28 |
-
'<?php echo Mage::helper('ops')->__('This is a required field.') ?>'
|
29 |
-
);
|
30 |
-
</script>
|
31 |
|
32 |
-
<ul id="payment_form_<?php echo $
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
<label class="required" for="ops_directdebit_country_id"><?php echo $this->__('Country'); ?></label><br/>
|
35 |
-
<select
|
36 |
-
id="
|
37 |
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
38 |
<?php foreach ($this->getDirectDebitCountryIds() as $countryId) : ?>
|
39 |
-
<option value="<?php echo $countryId; ?>"
|
40 |
-
|
41 |
-
|
42 |
<?php endforeach; ?>
|
43 |
</select>
|
44 |
-
|
45 |
-
|
46 |
-
<
|
47 |
-
|
48 |
-
id="ops_directdebit_CN" length="50"
|
49 |
-
value="<?php echo $this->getQuote()->getBillingAddress()->getFirstname() . ' ' . $this->getQuote()
|
50 |
-
->getBillingAddress()->getLastname() ?>"/>
|
51 |
-
</li>
|
52 |
-
<li>
|
53 |
-
<label class="required" for="ops_directdebit_iban"><?php echo $this->__('IBAN'); ?></label><br/>
|
54 |
-
<input title="IBAN" class="input-text required-entry" autocomplete="off" type="text" name="iban"
|
55 |
-
id="ops_directdebit_iban" onblur="payment.setRequiredDirectDebitFields(this);"/>
|
56 |
-
</li>
|
57 |
-
<li style="display:none">
|
58 |
-
<label class="" for="ops_directdebit_bic"><?php echo $this->__('BIC'); ?></label><br/>
|
59 |
-
<input class="input-text" title="BIC" type="text" name="bic" id="ops_directdebit_bic"
|
60 |
-
onblur="payment.setRequiredDirectDebitFields(this);"/>
|
61 |
-
</li>
|
62 |
-
<li>
|
63 |
-
<label class="required" for="ops_directdebit_account_no"><?php echo $this->__('Account number'); ?></label><br/>
|
64 |
-
<input title="account_no" class="input-text required-entry validate-number validate-length maximum-length-11"
|
65 |
-
onblur="payment.setRequiredDirectDebitFields(this);" autocomplete="off" type="text" name="account_no"
|
66 |
-
id="ops_directdebit_account_no" maxlength="11"/>
|
67 |
-
</li>
|
68 |
-
<li style="display:none">
|
69 |
-
<label class="required" for="ops_directdebit_bank_code"><?php echo $this->__('Bank code'); ?></label><br/>
|
70 |
-
<input class="input-text required-entry" type="text" name="bank_code"
|
71 |
-
onblur="payment.setRequiredDirectDebitFields(this);" id="ops_directdebit_bank_code" maxlength="8"/>
|
72 |
</li>
|
73 |
|
|
|
74 |
<script type="text/javascript">
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
</script>
|
77 |
-
</
|
|
|
|
|
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
/**
|
22 |
+
* Netresearch_OPS_Block_Form_DirectDebit
|
23 |
*
|
24 |
* @category design
|
25 |
* @package OPS
|
27 |
* @author Thomas Birke <thomas.birke@netresearch.de>
|
28 |
* @license OSL 3.0
|
29 |
*/
|
30 |
+
|
31 |
+
/** @var Netresearch_OPS_Block_Form_DirectDebit $this */
|
32 |
+
$code = $this->getMethodCode();
|
33 |
+
$display = 'none';
|
34 |
+
$storedAliases = $this->getStoredAliasForCustomer();
|
35 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
+
<ul class="form-list ops-form-list ops_card" id="payment_form_<?php echo $code ?>" style="display:none;">
|
38 |
+
<fieldset>
|
39 |
+
<?php foreach ($storedAliases as $key => $alias): ?>
|
40 |
+
<?php $brandName = $alias->getBrand() ?>
|
41 |
+
<input type="radio" id="<?php echo $alias->getId() ?>" name="payment[<?php echo $code ?>_data][alias]"
|
42 |
+
value="<?php echo $alias->getAlias() ?>"
|
43 |
+
data-countryid="<?php echo str_replace('Direct Debits ','', $brandName) ?>"
|
44 |
+
data-cn="<?php echo $this->getCardHolderName($alias->getId()) ?>"
|
45 |
+
required/>
|
46 |
+
<label for="<?php echo $alias->getId() ?>">
|
47 |
+
<ul>
|
48 |
+
<li><?php echo $this->__('Name on Card') . ': ' . $this->getCardHolderName($alias->getId()) ?></li>
|
49 |
+
<li>
|
50 |
+
<?php echo $this->__('IBAN') . ': '
|
51 |
+
. $this->getAliasCardNumber($alias->getId());
|
52 |
+
?>
|
53 |
+
</li>
|
54 |
+
</ul>
|
55 |
+
</label>
|
56 |
+
<?php endforeach; ?>
|
57 |
+
<?php if (!empty($storedAliases)): ?>
|
58 |
+
<input type="select" id="<?php echo $code; ?>_stored_country_id"
|
59 |
+
name="payment[<?php echo $code; ?>_data][country_id]" class="hidden">
|
60 |
+
<?php foreach ($this->getDirectDebitCountryIds() as $countryId) : ?>
|
61 |
+
<option value="<?php echo $countryId; ?>" class="hidden">
|
62 |
+
<?php echo $this->__($countryId); ?>
|
63 |
+
</option>
|
64 |
+
<?php endforeach; ?>
|
65 |
+
<?php endif; ?>
|
66 |
+
|
67 |
+
<input type="radio" id="new_alias_<?php echo $code ?>" name="payment[<?php echo $code ?>_data][alias]"
|
68 |
+
class="validate-one-required-by-name" value="" <?php echo empty($storedAliases)
|
69 |
+
? 'checked' : ''; ?> required>
|
70 |
+
<label for="new_alias_<?php echo $code ?>" class="new_alias_label">
|
71 |
+
<?php echo $this->__('Enter new bank data...') ?></label>
|
72 |
+
<!-- new Alias -->
|
73 |
+
<li id="insert_payment_details_<?php echo $code ?>" class="insert_payment_details" style="">
|
74 |
<label class="required" for="ops_directdebit_country_id"><?php echo $this->__('Country'); ?></label><br/>
|
75 |
+
<select class="required-entry" name="payment[<?php echo $code ?>_data][country_id]"
|
76 |
+
id="<?php echo $code ?>_country_id">
|
77 |
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
78 |
<?php foreach ($this->getDirectDebitCountryIds() as $countryId) : ?>
|
79 |
+
<option value="<?php echo $countryId; ?>">
|
80 |
+
<?php echo Mage::getModel('directory/country')->loadByCode($countryId)->getName(); ?>
|
81 |
+
</option>
|
82 |
<?php endforeach; ?>
|
83 |
</select>
|
84 |
+
|
85 |
+
<div id="<?php echo $code ?>_loader" class="ops_htp_loader" style="display: none;"></div>
|
86 |
+
<iframe id="ops_iframe_<?php echo $code ?>" class="ops_htp_iframe" style="display: none;"
|
87 |
+
src="about:blank"></iframe>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
</li>
|
89 |
|
90 |
+
|
91 |
<script type="text/javascript">
|
92 |
+
opsHashUrl = '<?php echo $this->getGenerateHashUrl(); ?>';
|
93 |
+
opsOrderId = '<?php echo $this->getQuote()->getId(); ?>';
|
94 |
+
opsPspid = '<?php echo $this->getPSPID(); ?>';
|
95 |
+
opsAcceptUrl = '<?php echo $this->getAliasAcceptUrl(); ?>';
|
96 |
+
opsExceptionUrl = '<?php echo $this->getAliasExceptionUrl(); ?>';
|
97 |
+
opsUrl = '<?php echo $this->getAliasGatewayUrl(); ?>';
|
98 |
+
opsAlias = '';
|
99 |
+
|
100 |
+
paramplus = 'RESPONSEFORMAT=JSON';
|
101 |
+
|
102 |
+
<?php echo $code ?> = {
|
103 |
+
'code': '<?php echo $code ?>',
|
104 |
+
'loader': $('<?php echo $code ?>_loader'),
|
105 |
+
'tokenizationFrame': $('ops_iframe_<?php echo $code ?>'),
|
106 |
+
'aliasManager': <?php echo $this->getConfig()->isAliasManagerEnabled($this->getMethodCode()) ? 'true'
|
107 |
+
: 'false' ?>,
|
108 |
+
'brand': function(){ return 'Direct Debits '+ $("<?php echo $code ?>_country_id").value;}
|
109 |
+
};
|
110 |
+
locale = '<?php echo Mage::app()->getLocale()->getLocaleCode(); ?>';
|
111 |
+
transmitPaymentMethod = false;
|
112 |
+
|
113 |
+
Event.observe('<?php echo $code; ?>_country_id', 'change', function () {
|
114 |
+
payment.handleBrandChange();
|
115 |
+
});
|
116 |
+
|
117 |
+
Event.observe(<?php echo $code; ?>.tokenizationFrame, 'load', function () {
|
118 |
+
if (typeof payment.onOpsIframeLoad == 'function') {
|
119 |
+
payment.onOpsIframeLoad();
|
120 |
+
}
|
121 |
+
});
|
122 |
+
|
123 |
+
Event.observe(document, 'alias:success', function (event) {
|
124 |
+
payment.fillOpsLoader('SUCCESS_TOKEN');
|
125 |
+
if (typeof checkout != 'undefined' && checkout) {
|
126 |
+
payment.toggleContinue(true);
|
127 |
+
}
|
128 |
+
payment.opsAliasSuccess = true;
|
129 |
+
$('new_alias_' + payment.currentMethod).value = event.memo;
|
130 |
+
payment.save();
|
131 |
+
});
|
132 |
+
|
133 |
+
Event.observe(document, 'alias:failure', function (event) {
|
134 |
+
payment.opsAliasSuccess = false;
|
135 |
+
payment.currentMethodObject.tokenizationFrame.src = 'about:blank';
|
136 |
+
payment.fillOpsLoader('FAILURE_TOKEN');
|
137 |
+
if (typeof checkout != 'undefined' && checkout) {
|
138 |
+
payment.toggleContinue(false);
|
139 |
+
}
|
140 |
+
});
|
141 |
</script>
|
142 |
+
</fieldset>
|
143 |
+
</ul>
|
144 |
+
|
145 |
+
|
app/design/frontend/base/default/template/ops/form/directEbanking.phtml
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
/** @var Netresearch_OPS_Block_Form_DirectEbanking $this */
|
22 |
+
$code = $this->getMethodCode();
|
23 |
+
?>
|
24 |
+
|
25 |
+
|
26 |
+
<ul class="form-list ops-form-list" id="payment_form_<?php echo $code ?>" style="display:none;">
|
27 |
+
|
28 |
+
<?php $brands = $this->getDirectEbankingBrands(); ?>
|
29 |
+
<?php if (count($brands) == 1): ?>
|
30 |
+
<li><input type="hidden" name="payment[directEbanking_brand]" id="ops_directEbanking_country_id"
|
31 |
+
value="<?php echo $this->escapeHtml(current($brands)); ?>"></li>
|
32 |
+
<?php endif; ?>
|
33 |
+
<?php if (!empty($brands)): ?>
|
34 |
+
<li>
|
35 |
+
<label class="required-entry" for="ops_directEbanking_country_id">
|
36 |
+
<?php echo $this->__('country'); ?>
|
37 |
+
</label><br/>
|
38 |
+
<select class="required-entry" name="payment[directEbanking_brand]" id="ops_directEbanking_country_id">
|
39 |
+
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
40 |
+
<?php foreach ($brands as $brand) : ?>
|
41 |
+
<option value="<?php echo $brand; ?>">
|
42 |
+
<?php echo Mage::helper('ops')->__($brand); ?>
|
43 |
+
</option>
|
44 |
+
<?php endforeach; ?>
|
45 |
+
</select>
|
46 |
+
</li>
|
47 |
+
<p><?php echo $this->getRedirectMessage(); ?></p>
|
48 |
+
<?php endif; ?>
|
49 |
+
</ul>
|
50 |
+
|
51 |
+
|
app/design/frontend/base/default/template/ops/form/flex.phtml
CHANGED
@@ -51,14 +51,14 @@ $methods = $this->getFlexMethods();
|
|
51 |
data-brand=""
|
52 |
class="ops-flex-validation"
|
53 |
data-pm=""
|
54 |
-
name="payment[
|
55 |
id="flex_default">
|
56 |
<label for="flex_default"><?php echo $this->escapeHtml($this->getDefaultOptionTitle()); ?></label>
|
57 |
</li>
|
58 |
<?php endif; ?>
|
59 |
<?php foreach ($methods as $method): ?>
|
60 |
<li><input type="radio" value="<?php echo $this->escapeHtml($method['title']); ?>"
|
61 |
-
name="payment[
|
62 |
data-brand="<?php echo $this->escapeHtml($method['brand']); ?>"
|
63 |
data-pm="<?php echo $this->escapeHtml($method['pm']); ?>"
|
64 |
class="ops-flex-validation"
|
@@ -69,9 +69,9 @@ $methods = $this->getFlexMethods();
|
|
69 |
</li>
|
70 |
<?php endforeach; ?>
|
71 |
<input type="text" class="hidden" id="ops_flex_pm"
|
72 |
-
name="payment[
|
73 |
<input type="text" class="hidden" id="ops_flex_brand"
|
74 |
-
name="payment[
|
75 |
|
76 |
<script type="application/javascript">
|
77 |
|
@@ -95,3 +95,4 @@ $methods = $this->getFlexMethods();
|
|
95 |
});
|
96 |
</script>
|
97 |
</ul>
|
|
51 |
data-brand=""
|
52 |
class="ops-flex-validation"
|
53 |
data-pm=""
|
54 |
+
name="payment[ops_flex_data][<?php echo Netresearch_OPS_Model_Payment_Flex::INFO_KEY_TITLE ?>]"
|
55 |
id="flex_default">
|
56 |
<label for="flex_default"><?php echo $this->escapeHtml($this->getDefaultOptionTitle()); ?></label>
|
57 |
</li>
|
58 |
<?php endif; ?>
|
59 |
<?php foreach ($methods as $method): ?>
|
60 |
<li><input type="radio" value="<?php echo $this->escapeHtml($method['title']); ?>"
|
61 |
+
name="payment[ops_flex_data][<?php echo Netresearch_OPS_Model_Payment_Flex::INFO_KEY_TITLE ?>]"
|
62 |
data-brand="<?php echo $this->escapeHtml($method['brand']); ?>"
|
63 |
data-pm="<?php echo $this->escapeHtml($method['pm']); ?>"
|
64 |
class="ops-flex-validation"
|
69 |
</li>
|
70 |
<?php endforeach; ?>
|
71 |
<input type="text" class="hidden" id="ops_flex_pm"
|
72 |
+
name="payment[ops_flex_data][<?php echo Netresearch_OPS_Model_Payment_Flex::INFO_KEY_PM ?>]"/>
|
73 |
<input type="text" class="hidden" id="ops_flex_brand"
|
74 |
+
name="payment[ops_flex_data][<?php echo Netresearch_OPS_Model_Payment_Flex::INFO_KEY_BRAND ?>]"/>
|
75 |
|
76 |
<script type="application/javascript">
|
77 |
|
95 |
});
|
96 |
</script>
|
97 |
</ul>
|
98 |
+
<p><?php echo $this->getRedirectMessage(); ?></p>
|
app/design/frontend/base/default/template/ops/form/ideal.phtml
CHANGED
@@ -1,11 +1,31 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
/** @var $this Netresearch_OPS_Block_Form_Ideal */
|
|
|
3 |
$issuers = $this->getIssuers();
|
4 |
?>
|
5 |
<ul class="form-list ops-form-list" id="payment_form_ops_iDeal" style="display:none;">
|
6 |
<li>
|
7 |
<select name="payment[iDeal_issuer_id]" id="ops_iDeal_issuer_id" class="required-entry">
|
8 |
-
<option value=""><?php echo $this->__('--Please Select--')?></option>
|
9 |
<?php foreach ($issuers as $key => $value): ?>
|
10 |
<option value=<?php echo $this->escapeHtml($key) ?>>
|
11 |
<?php echo $this->escapeHtml($value) ?>
|
@@ -13,4 +33,5 @@ $issuers = $this->getIssuers();
|
|
13 |
<?php endforeach; ?>
|
14 |
</select>
|
15 |
</li>
|
|
|
16 |
</ul>
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
/** @var $this Netresearch_OPS_Block_Form_Ideal */
|
22 |
+
$code = $this->getMethodCode();
|
23 |
$issuers = $this->getIssuers();
|
24 |
?>
|
25 |
<ul class="form-list ops-form-list" id="payment_form_ops_iDeal" style="display:none;">
|
26 |
<li>
|
27 |
<select name="payment[iDeal_issuer_id]" id="ops_iDeal_issuer_id" class="required-entry">
|
28 |
+
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
29 |
<?php foreach ($issuers as $key => $value): ?>
|
30 |
<option value=<?php echo $this->escapeHtml($key) ?>>
|
31 |
<?php echo $this->escapeHtml($value) ?>
|
33 |
<?php endforeach; ?>
|
34 |
</select>
|
35 |
</li>
|
36 |
+
<p><?php echo $this->getRedirectMessage(); ?></p>
|
37 |
</ul>
|
app/design/frontend/base/default/template/ops/form/intersolve.phtml
CHANGED
@@ -52,4 +52,5 @@
|
|
52 |
</select>
|
53 |
<?php endif; ?>
|
54 |
<?php endif; ?>
|
|
|
55 |
</ul>
|
52 |
</select>
|
53 |
<?php endif; ?>
|
54 |
<?php endif; ?>
|
55 |
+
<p><?php echo $this->getRedirectMessage();?></p>
|
56 |
</ul>
|
app/design/frontend/base/default/template/ops/form/openInvoice.phtml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
+
/**
|
23 |
+
* openInvoice.phtml
|
24 |
+
*
|
25 |
+
* @category payment
|
26 |
+
* @package Netresearch_OPS
|
27 |
+
* @author Paul Siedler <paul.siedler@netresearch.de>
|
28 |
+
*/
|
29 |
+
|
30 |
+
/** @var $this Netresearch_OPS_Block_Form_OpenInvoice */
|
31 |
+
?>
|
32 |
+
<ul class="form-list ops-form-list" id="payment_form_<?php echo $this->getMethodCode(); ?>" style="display:none;">
|
33 |
+
<?php
|
34 |
+
$code = $this->getMethodCode();
|
35 |
+
if ($this->showInvoiceTermsLink()):
|
36 |
+
?>
|
37 |
+
<a href="<?php echo $this->escapeUrl($this->getInvoiceTermsUrl()); ?>"
|
38 |
+
title="<?php echo $this->escapeHtml($this->getInvoiceTermsTitle()); ?>"
|
39 |
+
target="_blank"><?php echo $this->escapeHtml($this->getInvoiceTermsTitle()); ?></a>
|
40 |
+
<?php endif; ?>
|
41 |
+
<p><?php echo $this->getRedirectMessage(); ?></p>
|
42 |
+
</ul>
|
app/design/frontend/base/default/template/ops/form/other.phtml
CHANGED
@@ -1,3 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<ul class="form-list ops-form-list" id="payment_form_<?php echo $this->getMethodCode(); ?>" style="display:none;">
|
2 |
-
<li><?php echo $this->__(
|
|
|
|
|
3 |
</ul>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
<ul class="form-list ops-form-list" id="payment_form_<?php echo $this->getMethodCode(); ?>" style="display:none;">
|
23 |
+
<li><?php echo $this->__(
|
24 |
+
'By choosing this payment method the choice of the concrete payment method will be on Ingenico ePayments side.'
|
25 |
+
); ?></li>
|
26 |
</ul>
|
app/design/frontend/base/default/template/ops/frauddetection.phtml
CHANGED
@@ -1,4 +1,24 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
/** @var Netresearch_OPS_Block_Frauddetection $this */
|
3 |
$aid = $this->getTrackingCodeAid();
|
4 |
$sid = $this->getTrackingSid();
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
|
22 |
/** @var Netresearch_OPS_Block_Frauddetection $this */
|
23 |
$aid = $this->getTrackingCodeAid();
|
24 |
$sid = $this->getTrackingSid();
|
app/design/frontend/base/default/template/ops/info/bancontact.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
+
<p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
|
23 |
+
|
app/design/frontend/base/default/template/ops/info/cc.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
<p><?php echo $this->htmlEscape($this->getMethod()->getTitle() . ' - ' . $this->getMethod()->getOpsBrand($this->getInfo())) ?></p>
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
<p><?php echo $this->htmlEscape($this->getMethod()->getTitle() . ' - ' . $this->getMethod()->getOpsBrand($this->getInfo())) ?></p>
|
app/design/frontend/base/default/template/ops/info/opsId.phtml
CHANGED
@@ -1,2 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
2 |
<?php echo Mage::helper('payment')->__('Payment ID: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('paymentId'))) ?><br/>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
23 |
<?php echo Mage::helper('payment')->__('Payment ID: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('paymentId'))) ?><br/>
|
app/design/frontend/base/default/template/ops/info/payPerMail.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Netresearch_OPS
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
20 |
+
*/
|
21 |
+
?>
|
22 |
+
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?> - <?php echo $this->htmlEscape($this->getMethod()->getOpsBrand($this->getInfo())) ?><br />
|
23 |
+
<?php echo Mage::helper('payment')->__('Payment ID: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('paymentId'))) ?><br/>
|
app/design/frontend/base/default/template/ops/info/redirect.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
<p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
<p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
|
app/design/frontend/base/default/template/ops/paypage.phtml
CHANGED
@@ -1,27 +1,22 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
?>
|
27 |
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
?>
|
22 |
|
app/design/frontend/base/default/template/ops/placeform.phtml
CHANGED
@@ -1,34 +1,34 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
*
|
15 |
* DISCLAIMER
|
16 |
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade
|
18 |
-
* versions in the future.
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
*
|
21 |
-
* @
|
22 |
-
* @
|
23 |
-
* @
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
*/
|
26 |
|
27 |
/** @var Netresearch_OPS_Block_Placeform $this */
|
28 |
?>
|
29 |
|
30 |
-
<form
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
32 |
<?php $formData = $this->getFormData(); ?>
|
33 |
<?php if ($this->hasMissingParams()): ?>
|
34 |
<div id="messages_product_view">
|
@@ -68,7 +68,7 @@
|
|
68 |
<em>*</em></label>
|
69 |
<div class="input-box"><input class="required-entry" id="<?php echo($name); ?>"
|
70 |
name="<?php echo($name); ?>"
|
71 |
-
value="<?php echo
|
72 |
</div>
|
73 |
<?php endif; ?>
|
74 |
<?php if (($name === 'CIVILITY' || $name == 'ECOM_SHIPTO_POSTAL_NAME_PREFIX')): ?>
|
@@ -87,7 +87,7 @@
|
|
87 |
<?php else: ?>
|
88 |
<div>
|
89 |
<input type="hidden" name="<?php echo($name); ?>"
|
90 |
-
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Netresearch_OPS
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
|
|
|
|
|
|
11 |
*
|
12 |
* DISCLAIMER
|
13 |
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
|
|
16 |
*
|
17 |
+
* @copyright Copyright (c) 2016 Netresearch GmbH & Co. KG (http://www.netresearch.de/)
|
18 |
+
* @license Open Software License (OSL 3.0)
|
19 |
+
* @link http://opensource.org/licenses/osl-3.0.php
|
|
|
20 |
*/
|
21 |
|
22 |
/** @var Netresearch_OPS_Block_Placeform $this */
|
23 |
?>
|
24 |
|
25 |
+
<form accept-charset="UTF-8"
|
26 |
+
name="ops" id="ops_review_form"
|
27 |
+
action="<?php echo $this->getFormAction(); ?>"
|
28 |
+
enctype="application/x-www-form-urlencoded"
|
29 |
+
method="post"
|
30 |
+
target="<?php echo $this->isIframeTarget() ? 'ops_placeform_iframe' : '_top'; ?>"
|
31 |
+
>
|
32 |
<?php $formData = $this->getFormData(); ?>
|
33 |
<?php if ($this->hasMissingParams()): ?>
|
34 |
<div id="messages_product_view">
|
68 |
<em>*</em></label>
|
69 |
<div class="input-box"><input class="required-entry" id="<?php echo($name); ?>"
|
70 |
name="<?php echo($name); ?>"
|
71 |
+
value="<?php echo htmlentities($value, ENT_COMPAT, 'UTF-8', true); ?>"/>
|
72 |
</div>
|
73 |
<?php endif; ?>
|
74 |
<?php if (($name === 'CIVILITY' || $name == 'ECOM_SHIPTO_POSTAL_NAME_PREFIX')): ?>
|
87 |
<?php else: ?>
|
88 |
<div>
|
89 |
<input type="hidden" name="<?php echo($name); ?>"
|
|