Cdentinger has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/277706

Change subject: WIP: pull payment methods out of GC adapter
......................................................................

WIP: pull payment methods out of GC adapter

put them in yaml files

!!!
I am getting an error in this state that i think is from another patch:
Fatal error: Undefined interface: GatewayType in
/srv/core/extensions/DonationInterface/gateway_common/gateway.adapter.php
on line 29
will investigate tomorrow

Bug: T130056
Change-Id: Ic484fd15045bc978be78c456566ab19d3b01de69
---
M composer.json
M composer.lock
A globalcollect_gateway/config/payment_methods.yaml
A globalcollect_gateway/config/payment_submethods.yaml
M globalcollect_gateway/globalcollect.adapter.php
5 files changed, 372 insertions(+), 415 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface 
refs/changes/06/277706/1

diff --git a/composer.json b/composer.json
index 04bc7b6..e708146 100644
--- a/composer.json
+++ b/composer.json
@@ -26,7 +26,8 @@
                "predis/predis": "1.*",
                "psr/log": "1.0.0",
                "zordius/lightncandy": "0.18",
-               "amzn/login-and-pay-with-amazon-sdk-php": "dev-master"
+               "amzn/login-and-pay-with-amazon-sdk-php": "dev-master",
+               "symfony/yaml": "^3.0"
        },
        "repositories": [
                {
diff --git a/composer.lock b/composer.lock
index 19ff33d..e746ce2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,8 @@
         "Read more about it at 
https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file";,
         "This file is @generated automatically"
     ],
-    "hash": "ff013da3789a0273f27c829cd90f8139",
-    "content-hash": "49fdfddba5b55ae89176be632d632ce7",
+    "hash": "aceecf8c101670b56e9b28c946ff9533",
+    "content-hash": "612235b1b32c77ed46898eacb77bc4c5",
     "packages": [
         {
             "name": "amzn/login-and-pay-with-amazon-sdk-php",
@@ -400,6 +400,55 @@
             "time": "2012-12-21 11:40:51"
         },
         {
+            "name": "symfony/yaml",
+            "version": "v3.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/yaml.git";,
+                "reference": "b5ba64cd67ecd6887f63868fa781ca094bd1377c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": 
"https://api.github.com/repos/symfony/yaml/zipball/b5ba64cd67ecd6887f63868fa781ca094bd1377c";,
+                "reference": "b5ba64cd67ecd6887f63868fa781ca094bd1377c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Yaml\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/";,
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "[email protected]"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors";
+                }
+            ],
+            "description": "Symfony Yaml Component",
+            "homepage": "https://symfony.com";,
+            "time": "2016-02-23 15:16:06"
+        },
+        {
             "name": "zordius/lightncandy",
             "version": "v0.18",
             "source": {
diff --git a/globalcollect_gateway/config/payment_methods.yaml 
b/globalcollect_gateway/config/payment_methods.yaml
new file mode 100644
index 0000000..daab320
--- /dev/null
+++ b/globalcollect_gateway/config/payment_methods.yaml
@@ -0,0 +1,35 @@
+bt:
+    label: 'Bank transfer'
+    validation:
+        creditCard: false
+    short_circuit_at: first_iop
+cc:
+    label: 'Credit Cards'
+dd:
+    label: 'Direct Debit'
+    validation:
+        creditCard: false
+    short_circuit_at: first_iop
+ew:
+    label: eWallets
+    validation:
+        address: false
+        creditCard: false
+    short_circuit_at: first_iop
+    additional_success_status:
+        - 20
+obt:
+    label: 'Online bank transfer'
+    validation:
+        creditCard: false
+    short_circuit_at: first_iop
+rtbt:
+    label: 'Real time bank transfer'
+    short_circuit_at: first_iop
+    additional_success_status:
+        - 20
+cash:
+    label: 'Cash payments'
+    short_circuit_at: first_iop
+    additional_success_status:
+        - 55
diff --git a/globalcollect_gateway/config/payment_submethods.yaml 
b/globalcollect_gateway/config/payment_submethods.yaml
new file mode 100644
index 0000000..7d2df18
--- /dev/null
+++ b/globalcollect_gateway/config/payment_submethods.yaml
@@ -0,0 +1,276 @@
+'':
+    paymentproductid: 0
+    label: Any
+    group: cc
+    validation:
+        address: true
+        amount: true
+        email: true
+        name: true
+    keys: {  }
+bt:
+    paymentproductid: 11
+    label: 'Bank Transfer'
+    group: bt
+    validation: {  }
+    keys: {  }
+visa:
+    paymentproductid: 1
+    label: Visa
+    group: cc
+    validation: {  }
+    keys: {  }
+mc:
+    paymentproductid: 3
+    label: MasterCard
+    group: cc
+    validation: {  }
+    keys: {  }
+amex:
+    paymentproductid: 2
+    label: 'American Express'
+    group: cc
+    validation: {  }
+    keys: {  }
+maestro:
+    paymentproductid: 117
+    label: Maestro
+    group: cc
+    validation: {  }
+    keys: {  }
+solo:
+    paymentproductid: 118
+    label: Solo
+    group: cc
+    validation: {  }
+    keys: {  }
+laser:
+    paymentproductid: 124
+    label: Laser
+    group: cc
+    validation: {  }
+    keys: {  }
+jcb:
+    paymentproductid: 125
+    label: JCB
+    group: cc
+    validation: {  }
+    keys: {  }
+discover:
+    paymentproductid: 128
+    label: Discover
+    group: cc
+    validation: {  }
+    keys: {  }
+cb:
+    paymentproductid: 130
+    label: CB
+    group: cc
+    validation: {  }
+    keys: {  }
+dd_at:
+    paymentproductid: 703
+    label: 'Direct debit: AT'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - BANKCODE
+        - DIRECTDEBITTEXT
+dd_be:
+    paymentproductid: 706
+    label: 'Direct debit: BE'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - AUTHORISATIONID
+        - BANKCHECKDIGIT
+        - BANKCODE
+        - BANKNAME
+        - DIRECTDEBITTEXT
+dd_ch:
+    paymentproductid: 707
+    label: 'Direct debit: CH'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - ADDRESSLINE1E
+        - ADDRESSLINE2
+        - ADDRESSLINE3
+        - ADDRESSLINE4
+        - BANKCODE
+        - DIRECTDEBITTEXT
+        - IBAN
+dd_de:
+    paymentproductid: 702
+    label: 'Direct debit: DE'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - BANKCODE
+        - DIRECTDEBITTEXT
+dd_es:
+    paymentproductid: 709
+    label: 'Direct debit: ES'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - BANKCODE
+        - BRANCHCODE
+        - BANKCHECKDIGIT
+        - DIRECTDEBITTEXT
+dd_fr:
+    paymentproductid: 704
+    label: 'Direct debit: FR'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - BANKCODE
+        - BRANCHCODE
+        - BANKCHECKDIGIT
+        - DIRECTDEBITTEXT
+dd_gb:
+    paymentproductid: 705
+    label: 'Direct debit: GB'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - AUTHORISATIONID
+        - BANKCODE
+        - DIRECTDEBITTEXT
+        - TRANSACTIONTYPE
+dd_it:
+    paymentproductid: 708
+    label: 'Direct debit: IT'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - BANKCODE
+        - BRANCHCODE
+        - BANKAGENZIA
+        - BANKCHECKDIGIT
+        - DIRECTDEBITTEXT
+dd_nl:
+    paymentproductid: 701
+    label: 'Direct debit: NL'
+    group: dd
+    validation: {  }
+    keys:
+        - ACCOUNTNAME
+        - ACCOUNTNUMBER
+        - DIRECTDEBITTEXT
+        - TRANSACTIONTYPE
+ew_paypal:
+    paymentproductid: 840
+    label: 'eWallets: PayPal'
+    group: ew
+    validation: {  }
+    keys: {  }
+ew_webmoney:
+    paymentproductid: 841
+    label: 'eWallets: WebMoney'
+    group: ew
+    validation: {  }
+    keys: {  }
+ew_yandex:
+    paymentproductid: 849
+    label: 'eWallets: Yandex'
+    group: ew
+    validation: {  }
+    keys: {  }
+ew_alipay:
+    paymentproductid: 861
+    label: 'eWallets: Alipay'
+    group: ew
+    validation: {  }
+    keys: {  }
+ew_moneybookers:
+    paymentproductid: 843
+    label: 'eWallets: Moneybookers'
+    group: ew
+    validation: {  }
+    keys: {  }
+ew_cashu:
+    paymentproductid: 845
+    label: 'eWallets: cashU'
+    group: ew
+    validation: {  }
+    keys: {  }
+bpay:
+    paymentproductid: 500
+    label: 'Online Bank Transfer: Bpay'
+    group: obt
+    validation: {  }
+    keys: {  }
+rtbt_nordea_sweden:
+    paymentproductid: 805
+    label: 'Nordea (Sweden)'
+    group: rtbt
+    validation: {  }
+    keys: {  }
+rtbt_ideal:
+    paymentproductid: 809
+    label: Ideal
+    group: rtbt
+    validation: {  }
+    keys: {  }
+    issuerids:
+        771: 'SNS Regio Bank'
+        161: 'Van Lanschot Bankiers'
+        31: 'ABN AMRO'
+        761: 'ASN Bank'
+        21: Rabobank
+        511: 'Triodos Bank'
+        721: ING
+        751: 'SNS Bank'
+        801: Knab
+rtbt_enets:
+    paymentproductid: 810
+    label: eNETS
+    group: rtbt
+    validation: {  }
+    keys: {  }
+rtbt_sofortuberweisung:
+    paymentproductid: 836
+    label: Sofortuberweisung/DIRECTebanking
+    group: rtbt
+    validation: {  }
+    keys: {  }
+rtbt_eps:
+    paymentproductid: 856
+    label: 'eps Online-Überweisung'
+    group: rtbt
+    validation: {  }
+    keys: {  }
+    issuerids:
+        824: 'Bankhaus Spängler'
+        825: 'Hypo Tirol Bank'
+        822: 'NÖ HYPO'
+        823: 'Voralberger HYPO'
+        828: P.S.K.
+        829: Easy
+        826: 'Erste Bank und Sparkassen'
+        827: BAWAG
+        820: Raifeissen
+        821: 'Volksbanken Gruppe'
+        831: Sparda-Bank
+cash_boleto:
+    paymentproductid: 1503
+    label: 'Boleto Bancario Brazil'
+    group: cash
+    keys: {  }
diff --git a/globalcollect_gateway/globalcollect.adapter.php 
b/globalcollect_gateway/globalcollect.adapter.php
index a381f8e..40c7fdf 100644
--- a/globalcollect_gateway/globalcollect.adapter.php
+++ b/globalcollect_gateway/globalcollect.adapter.php
@@ -16,6 +16,7 @@
  *
  */
 use Psr\Log\LogLevel;
+use Symfony\Component\Yaml\Parser;
 
 /**
  * GlobalCollectAdapter
@@ -786,418 +787,13 @@
         * The credit card group has a catchall for unspecified payment types.
         */
        public function definePaymentMethods() {
-
-               $this->payment_methods = array();
-
-               // Bank Transfers
-               $this->payment_methods['bt'] = array(
-                       'label' => 'Bank transfer',
-                       'validation' => array( 'creditCard' => false, ),
-                       'short_circuit_at' => 'first_iop',
-               );
-
-               // Credit Cards
-               $this->payment_methods['cc'] = array(
-                       'label' => 'Credit Cards',
-               );
-
-               // Direct Debit
-               $this->payment_methods['dd'] = array(
-                       'label' => 'Direct Debit',
-                       'validation' => array( 'creditCard' => false, ),
-                       'short_circuit_at' => 'first_iop',
-               );
-
-               // eWallets
-               $this->payment_methods['ew'] = array(
-                       'label' => 'eWallets',
-                       'validation' => array( 'address' => false, 'creditCard' 
=> false, ),
-                       'short_circuit_at' => 'first_iop',
-                       'additional_success_status' => array( 20 ),
-               );
-
-               // Bank Transfers
-               $this->payment_methods['obt'] = array(
-                       'label' => 'Online bank transfer',
-                       'validation' => array( 'creditCard' => false, ),
-                       'short_circuit_at' => 'first_iop',
-               );
-
-               // Real Time Bank Transfers
-               $this->payment_methods['rtbt'] = array(
-                       'label' => 'Real time bank transfer',
-                       'short_circuit_at' => 'first_iop',
-                       'additional_success_status' => array( 20 ),
-               );
-
-               // Cash payments
-               $this->payment_methods['cash'] = array(
-                       'label' => 'Cash payments',
-                       'short_circuit_at' => 'first_iop',
-                       'additional_success_status' => array( 55 ), //PENDING 
AT CUSTOMER - denotes they need to go to the bank, but we've done all we can.
-               );
-
-               // *** Define payment submethods ***
-               //TODO: deprecate submethod, everything is a first-class method.
-
-               $this->payment_submethods = array();
-
-               /*
-                * Default => Credit Card
-                *
-                * Every payment_method should have a payment_submethod.
-                * This is just a catch-all to ensure some validation happens.
-                * FIXME: I don't think this clause gets used.
-                */
-               $this->payment_submethods[''] = array(
-                       'paymentproductid'      => 0,
-                       'label' => 'Any',
-                       'group' => 'cc',
-                       'validation' => array( 'address' => true, 'amount' => 
true, 'email' => true, 'name' => true, ),
-                       'keys' => array(),
-               );
-
-               /*
-                * Bank transfers
-                */
-
-               // Bank Transfer
-               $this->payment_submethods['bt'] = array(
-                       'paymentproductid'      => 11,
-                       'label' => 'Bank Transfer',
-                       'group' => 'bt',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               /*
-                * Credit Card
-                */
-
-               // Visa
-               $this->payment_submethods['visa'] = array(
-                       'paymentproductid'      => 1,
-                       'label' => 'Visa',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // MasterCard
-               $this->payment_submethods['mc'] = array(
-                       'paymentproductid'      => 3,
-                       'label' => 'MasterCard',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // American Express
-               $this->payment_submethods['amex'] = array(
-                       'paymentproductid'      => 2,
-                       'label' => 'American Express',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // Maestro
-               $this->payment_submethods['maestro'] = array(
-                       'paymentproductid'      => 117,
-                       'label' => 'Maestro',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // Solo
-               $this->payment_submethods['solo'] = array(
-                       'paymentproductid'      => 118,
-                       'label' => 'Solo',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // Laser
-               $this->payment_submethods['laser'] = array(
-                       'paymentproductid'      => 124,
-                       'label' => 'Laser',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // JCB
-               $this->payment_submethods['jcb'] = array(
-                       'paymentproductid'      => 125,
-                       'label' => 'JCB',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // Discover
-               $this->payment_submethods['discover'] = array(
-                       'paymentproductid'      => 128,
-                       'label' => 'Discover',
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // CB
-               $this->payment_submethods['cb'] = array(
-                       'paymentproductid'      => 130,
-                       'label' => 'CB', // Carte Bancaire OR Carte Bleue
-                       'group' => 'cc',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-
-               /*
-                * Direct debit
-                *
-                * See: WebCollect 7.1 Technical guide: Appendix H 
Country-specific direct debit keys
-                *
-                * - keys: These values, which can be found in $this->var_map, 
will only be put in the request, if they are populated from the form or staging.
-                */
-
-               // Direct debit: AT
-               $this->payment_submethods['dd_at'] = array(
-                       'paymentproductid'      => 703,
-                       'label' => 'Direct debit: AT',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'BANKCODE', /*'BANKNAME',*/ 'DIRECTDEBITTEXT', ),
-               );
-
-               // Direct debit: BE
-               $this->payment_submethods['dd_be'] = array(
-                       'paymentproductid'      => 706,
-                       'label' => 'Direct debit: BE',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'AUTHORISATIONID', 'BANKCHECKDIGIT', 'BANKCODE', 'BANKNAME', 'DIRECTDEBITTEXT', 
),
-                       //'keys' => array( /*'ACCOUNTNAME',*/ 'ACCOUNTNUMBER', 
'AUTHORISATIONID', /*'BANKCHECKDIGIT',*/ 'BANKCODE', /*'BANKNAME',*/ 
'DIRECTDEBITTEXT', ),
-               );
-
-               // Direct debit: CH
-               $this->payment_submethods['dd_ch'] = array(
-                       'paymentproductid'      => 707,
-                       'label' => 'Direct debit: CH',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'ADDRESSLINE1E', 'ADDRESSLINE2', 'ADDRESSLINE3', 'ADDRESSLINE4', 'BANKCODE', 
/*'BANKNAME',*/ /*'CUSTOMERBANKCITY', 'CUSTOMERBANKNUMBER', 
'CUSTOMERBANKSTREET', 'CUSTOMERBANKZIP',*/ 'DIRECTDEBITTEXT', 'IBAN', ),
-               );
-
-               // Direct debit: DE
-               $this->payment_submethods['dd_de'] = array(
-                       'paymentproductid'      => 702,
-                       'label' => 'Direct debit: DE',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'BANKCODE', /*'BANKNAME',*/ 'DIRECTDEBITTEXT', ),
-               );
-
-               // Direct debit: ES
-               $this->payment_submethods['dd_es'] = array(
-                       'paymentproductid'      => 709,
-                       'label' => 'Direct debit: ES',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'BANKCODE', /*'BANKNAME',*/ 'BRANCHCODE', 'BANKCHECKDIGIT', 
/*'CUSTOMERBANKCITY', 'CUSTOMERBANKSTREET', 'CUSTOMERBANKZIP',*/ 
'DIRECTDEBITTEXT', /*'DOMICILIO', 'PROVINCIA',*/ ),
-               );
-
-               // Direct debit: FR
-               $this->payment_submethods['dd_fr'] = array(
-                       'paymentproductid'      => 704,
-                       'label' => 'Direct debit: FR',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'BANKCODE', /*'BANKNAME',*/ 'BRANCHCODE', 'BANKCHECKDIGIT', 'DIRECTDEBITTEXT', 
),
-               );
-
-               // Direct debit: GB
-               $this->payment_submethods['dd_gb'] = array(
-                       'paymentproductid'      => 705,
-                       'label' => 'Direct debit: GB',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'AUTHORISATIONID', 'BANKCODE', /*'BANKNAME',*/ 'DIRECTDEBITTEXT', 
'TRANSACTIONTYPE', ),
-               );
-
-               // Direct debit: IT
-               $this->payment_submethods['dd_it'] = array(
-                       'paymentproductid'      => 708,
-                       'label' => 'Direct debit: IT',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
'BANKCODE', /*'BANKNAME',*/ 'BRANCHCODE', 'BANKAGENZIA', 'BANKCHECKDIGIT', 
/*'BANKFILIALE',*/ /*'CUSTOMERBANKCITY', 'CUSTOMERBANKNUMBER', 
'CUSTOMERBANKSTREET', 'CUSTOMERBANKZIP',*/ 'DIRECTDEBITTEXT', ),
-               );
-
-               // Direct debit: NL
-               $this->payment_submethods['dd_nl'] = array(
-                       'paymentproductid'      => 701,
-                       'label' => 'Direct debit: NL',
-                       'group' => 'dd',
-                       'validation' => array(),
-                       'keys' => array( 'ACCOUNTNAME', 'ACCOUNTNUMBER', 
/*'BANKNAME',*/ 'DIRECTDEBITTEXT', 'TRANSACTIONTYPE', ),
-               );
-
-               /*
-                * eWallets
-                */
-
-               // eWallets PayPal
-               $this->payment_submethods['ew_paypal'] = array(
-                       'paymentproductid'      => 840,
-                       'label' => 'eWallets: PayPal',
-                       'group' => 'ew',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // eWallets WebMoney
-               $this->payment_submethods['ew_webmoney'] = array(
-                       'paymentproductid'      => 841,
-                       'label' => 'eWallets: WebMoney',
-                       'group' => 'ew',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // eWallets Yandex
-               $this->payment_submethods['ew_yandex'] = array(
-                       'paymentproductid'      => 849,
-                       'label' => 'eWallets: Yandex',
-                       'group' => 'ew',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // eWallets Alipay
-               $this->payment_submethods['ew_alipay'] = array(
-                       'paymentproductid'      => 861,
-                       'label' => 'eWallets: Alipay',
-                       'group' => 'ew',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // eWallets Moneybookers
-               $this->payment_submethods['ew_moneybookers'] = array(
-                       'paymentproductid'      => 843,
-                       'label' => 'eWallets: Moneybookers',
-                       'group' => 'ew',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // eWallets cashU
-               $this->payment_submethods['ew_cashu'] = array(
-                       'paymentproductid'      => 845,
-                       'label' => 'eWallets: cashU',
-                       'group' => 'ew',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               /*
-                * Online bank transfers
-                */
-
-               // Online Bank Transfer Bpay
-               $this->payment_submethods['bpay'] = array(
-                       'paymentproductid'      => 500,
-                       'label' => 'Online Bank Transfer: Bpay',
-                       'group' => 'obt',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               /*
-                * Real time bank transfers
-                */
-
-               // Nordea (Sweden)
-               $this->payment_submethods['rtbt_nordea_sweden'] = array(
-                       'paymentproductid'      => 805,
-                       'label' => 'Nordea (Sweden)',
-                       'group' => 'rtbt',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // Ideal
-               $this->payment_submethods['rtbt_ideal'] = array(
-                       'paymentproductid'      => 809,
-                       'label' => 'Ideal',
-                       'group' => 'rtbt',
-                       'validation' => array(),
-                       'keys' => array(),
-                       'issuerids' => array(
-                               771     => 'SNS Regio Bank',
-                               161     => 'Van Lanschot Bankiers',
-                               31      => 'ABN AMRO',
-                               761     => 'ASN Bank',
-                               21      => 'Rabobank',
-                               511     => 'Triodos Bank',
-                               721     => 'ING',
-                               751     => 'SNS Bank',
-                               801 => 'Knab',
-                       )
-               );
-
-               // eNETS
-               $this->payment_submethods['rtbt_enets'] = array(
-                       'paymentproductid'      => 810,
-                       'label' => 'eNETS',
-                       'group' => 'rtbt',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // Sofortuberweisung/DIRECTebanking
-               $this->payment_submethods['rtbt_sofortuberweisung'] = array(
-                       'paymentproductid'      => 836,
-                       'label' => 'Sofortuberweisung/DIRECTebanking',
-                       'group' => 'rtbt',
-                       'validation' => array(),
-                       'keys' => array(),
-               );
-
-               // eps Online-Überweisung
-               $this->payment_submethods['rtbt_eps'] = array(
-                       'paymentproductid'      => 856,
-                       'label' => 'eps Online-Überweisung',
-                       'group' => 'rtbt',
-                       'validation' => array(),
-                       'keys' => array(),
-                       'issuerids' => array(
-                               824     => 'Bankhaus Spängler',
-                               825     => 'Hypo Tirol Bank',
-                               822     => 'NÖ HYPO',
-                               823     => 'Voralberger HYPO',
-                               828     => 'P.S.K.',
-                               829     => 'Easy',
-                               826     => 'Erste Bank und Sparkassen',
-                               827     => 'BAWAG',
-                               820     => 'Raifeissen',
-                               821     => 'Volksbanken Gruppe',
-                               831     => 'Sparda-Bank',
-                       )
-               );
-
-               // Cash Payments - Boletos
-
-               $this->payment_submethods['cash_boleto'] = array(
-                       'paymentproductid'      => 1503,
-                       'label' => 'Boleto Bancario Brazil',
-                       'group' => 'cash',
-                       'keys' => array(),
-               );
+               $yaml = new Parser();
+               $this->payment_methods = $yaml->parse(file_get_contents(
+                       
"extensions/DonationInterface/globalcollect_gateway/config/payment_methods.yaml"
+               ));
+               $this->payment_submethods = $yaml->parse(file_get_contents(
+                       
"extensions/DonationInterface/globalcollect_gateway/config/payment_submethods.yaml"
+               ));
        }
 
        public function doPayment() {

-- 
To view, visit https://gerrit.wikimedia.org/r/277706
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic484fd15045bc978be78c456566ab19d3b01de69
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Cdentinger <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to