jenkins-bot has submitted this change and it was merged.

Change subject: Mustache for rtbt_ideal
......................................................................


Mustache for rtbt_ideal

* Add data and partials to support rtbt.
* Remove unused RapidHtml forms and modules.
* Option to display single submethod logo.

Bug: T123002
Change-Id: Ia5f2dcad16674464740ee521c21d0ef87edee640
---
M DonationInterfaceFormSettings.php
M extension.json
M gateway_common/DataValidator.php
M gateway_common/donation.api.php
M gateway_common/i18n/interface/en.json
M gateway_common/i18n/interface/qqq.json
M gateway_forms/Mustache.php
A gateway_forms/mustache/issuers.html.mustache
M gateway_forms/mustache/payment_method.html.mustache
M globalcollect_gateway/config/payment_methods.yaml
M globalcollect_gateway/config/payment_submethods.yaml
D globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
D globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
D globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
D globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
D globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
D globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
M globalcollect_gateway/forms/js/ingenico.js
M globalcollect_gateway/globalcollect.adapter.php
M modules/js/ext.donationInterface.forms.js
M modules/js/ext.donationInterface.validation.js
M modules/validate_input.js
M tests/Adapter/GlobalCollect/GlobalCollectFormLoadTest.php
D tests/Adapter/GlobalCollect/RealTimeBankTransferEnetsTest.php
D tests/Adapter/GlobalCollect/RealTimeBankTransferEpsTest.php
M tests/Adapter/GlobalCollect/RealTimeBankTransferIdealTest.php
D tests/Adapter/GlobalCollect/RealTimeBankTransferNordeaSwedenTest.php
D tests/Adapter/GlobalCollect/RealTimeBankTransferSofortuberweisungTest.php
28 files changed, 127 insertions(+), 1,489 deletions(-)

Approvals:
  Cdentinger: Looks good to me, approved
  Awight: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/DonationInterfaceFormSettings.php 
b/DonationInterfaceFormSettings.php
index 90f4f19..3451d67 100644
--- a/DonationInterfaceFormSettings.php
+++ b/DonationInterfaceFormSettings.php
@@ -28,35 +28,6 @@
  *******************************/
 
 $forms_whitelist['rtbt-ideal'] = array(
-       'file' => $form_dirs['gc'] . '/rtbt/rtbt-ideal.html',
-       'dependencies' => 'gc.form.rapidhtml.rapidhtml.rtbt',
-       'styles' => array(
-               'di.form.rapidhtml.webitects.2nd.styles',
-               'gc.styles'
-       ),
-       'gateway' => 'globalcollect',
-       'payment_methods' => array('rtbt' => 'rtbt_ideal'),
-       'countries' => array( '+' => 'NL' ),
-       'currencies' => array( '+' => 'EUR' ),
-);
-
-$forms_whitelist['rtbt-enets'] = array(
-       'file' => $form_dirs['gc'] . '/rtbt/rtbt-enets.html',
-       'dependencies' => 'gc.form.rapidhtml.webitects.2nd',
-       'styles' => 'di.form.rapidhtml.webitects.2nd.styles',
-       'gateway' => 'globalcollect',
-       'payment_methods' => array('rtbt' => 'rtbt_enets'),
-       'countries' => array( '+' => 'SG' ),
-       'currencies' => array( '+' => 'SGD' ),
-);
-
-$forms_whitelist['rtbt-ideal-noadd'] = array(
-       'file' => $form_dirs['gc'] . '/rtbt/rtbt-ideal-noadd.html',
-       'dependencies' => 'gc.form.rapidhtml.rtbt',
-       'styles' => array(
-               'di.form.rapidhtml.webitects.2nd.styles',
-               'gc.styles'
-       ),
        'gateway' => 'globalcollect',
        'payment_methods' => array('rtbt' => 'rtbt_ideal'),
        'countries' => array( '+' => 'NL' ),
diff --git a/extension.json b/extension.json
index fc00d95..0ff133d 100644
--- a/extension.json
+++ b/extension.json
@@ -274,31 +274,8 @@
                                "di.form.rapidhtml.webitects"
                        ]
                },
-               "gc.form.rapidhtml.webitects.dd": {
-                       "scripts": 
"globalcollect_gateway/forms/js/webitects.bt.js",
-                       "dependencies": "gc.form.rapidhtml.webitects.2nd"
-               },
                "gc.styles": {
                        "styles": "globalcollect_gateway/forms/css/gc.css"
-               },
-               "gc.form.rapidhtml.dd": {
-                       "scripts": "globalcollect_gateway/forms/js/gc.dd.js",
-                       "dependencies": "di.form.core.validate"
-               },
-               "gc.form.rapidhtml.ew": {
-                       "scripts": "globalcollect_gateway/forms/js/gc.ew.js",
-                       "dependencies": "di.form.core.validate"
-               },
-               "gc.form.rapidhtml.boletos": {
-                       "scripts": 
"globalcollect_gateway/forms/js/gc.boletos.js",
-                       "dependencies": "di.form.core.validate"
-               },
-               "gc.form.rapidhtml.rtbt": {
-                       "dependencies": [
-                               "di.form.core.validate",
-                               "mediawiki.Uri",
-                               "gc.form.rapidhtml.webitects.2nd"
-                       ]
                },
                "ext.donationinterface.worldpay.styles": {
                        "styles": [
@@ -347,6 +324,7 @@
                                "donate_interface-error-msg-bank_check_digit",
                                "donate_interface-error-msg-bank_code",
                                "donate_interface-error-msg-branch_code",
+                               "donate_interface-error-msg-issuer_id",
                                "donate_interface-smallamount-error",
                                "donate_interface-donor-fname",
                                "donate_interface-donor-lname",
diff --git a/gateway_common/DataValidator.php b/gateway_common/DataValidator.php
index caf6882..6b112e9 100644
--- a/gateway_common/DataValidator.php
+++ b/gateway_common/DataValidator.php
@@ -29,6 +29,7 @@
                        case 'amount' :
                        case 'currency_code' :
                        case 'fiscal_number' :
+                       case 'issuer_id' :
                        case 'card_num':
                        case 'card_type':
                        case 'cvv':
diff --git a/gateway_common/donation.api.php b/gateway_common/donation.api.php
index 0e6ccba..e568f11 100644
--- a/gateway_common/donation.api.php
+++ b/gateway_common/donation.api.php
@@ -31,7 +31,7 @@
 
                if ( $this->gateway == 'globalcollect' ) {
                        switch ( $method ) {
-                               // TODO: add other payment methods
+                               // TODO: add other iframe payment methods
                                case 'cc':
                                        $result = $gatewayObj->do_transaction( 
'INSERT_ORDERWITHPAYMENT' );
                                        break;
diff --git a/gateway_common/i18n/interface/en.json 
b/gateway_common/i18n/interface/en.json
index b2eb231..8c6e54f 100644
--- a/gateway_common/i18n/interface/en.json
+++ b/gateway_common/i18n/interface/en.json
@@ -217,6 +217,7 @@
        "donate_interface-error-msg-fiscal_number-mx": "CURP/RFC/IFE",
        "donate_interface-error-msg-fiscal_number-pe": "DNI",
        "donate_interface-error-msg-fiscal_number-uy": "CI",
+       "donate_interface-error-msg-issuer_id": "bank",
        "donate_interface-donate-error-try-a-different-card": "Please [$1 try a 
different card] or one of our [$2 other ways to give] or contact us at $3",
        "donate_interface-donate-error-try-a-different-card-html": "Please try 
a different card or one of our <a href=\"$1\">other ways to give</a>, or 
contact us at <a href=\"mailto:$2\";>$2</a>",
        "donate_interface-donate-error-try-again-html": "Please <a 
href=\"$1\">try again</a>, try one of our <a href=\"$2\">other ways to 
give</a>, or contact us at <a href=\"mailto:$3\";>$3</a>",
diff --git a/gateway_common/i18n/interface/qqq.json 
b/gateway_common/i18n/interface/qqq.json
index 8434da3..1929b55 100644
--- a/gateway_common/i18n/interface/qqq.json
+++ b/gateway_common/i18n/interface/qqq.json
@@ -242,6 +242,7 @@
        "donate_interface-error-msg-fiscal_number-mx": 
"{{Identical|CURP/RFC/IFE}}\n\nMexico-specific term for the fiscal number or 
tax id.  This is the CURP (Clave Única de Registro de Población), RFC (Registro 
Federal de Contribuyentes) or IFE (Instituto Federal Electoral) number assigned 
by the Mexican government.",
        "donate_interface-error-msg-fiscal_number-pe": 
"{{Identical|DNI}}\n\nPeru-specific term for the fiscal number or tax id.  This 
is the DNI (Documento Nacional de Identidad) number assigned by the Peruvian 
government.",
        "donate_interface-error-msg-fiscal_number-uy": 
"{{Identical|CI}}\n\nUruguay-specific term for the fiscal number or tax id.  
This is the CI (Cédula de Identidad) number assigned by the Uruguayan 
government.",
+       "donate_interface-error-msg-issuer_id": "{{Identical|Bank}}\n\nLabel 
for bank or card issuer, used in an error message when the bank selection is 
missing.",
        "donate_interface-donate-error-try-a-different-card": "This message 
will be displayed in the the article /index.php/Donate-error. Parameters:\n* $1 
- link back to the form to try another credit card\n* $2 - link to other 
payment methods\n* $3 - an e-mail address link such as: 
mailto:[email protected]";,
        "donate_interface-donate-error-try-a-different-card-html": 
"{{Related|donate_interface-donate-error-try-a-different-card}}This message 
will be displayed in the payments form where the donor can select a different 
card type. Parameters:\n* $1 - link to other payment methods\n* $2 - an e-mail 
address link such as: mailto:[email protected]";,
        "donate_interface-donate-error-try-again-html": "This html-formatted 
message will be used on dynamic error pages for all payment 
types.\n\nParameters:\n* $1 - link back to the payments form most recently used 
by the donor, to try again\n* $2 - link to other payment methods\n* $3 - an 
email address, where the donor can report problems. Example: 
[email protected]",
diff --git a/gateway_forms/Mustache.php b/gateway_forms/Mustache.php
index 7240128..baca62d 100644
--- a/gateway_forms/Mustache.php
+++ b/gateway_forms/Mustache.php
@@ -113,6 +113,16 @@
                $appealWikiTemplate = str_replace( '$appeal', $data['appeal'], 
$appealWikiTemplate );
                $appealWikiTemplate = str_replace( '$language', 
$data['language'], $appealWikiTemplate );
                $data['appeal_text'] = $output->parse( '{{' . 
$appealWikiTemplate . '}}' );
+               $data['is_cc'] = ( $this->gateway->getPaymentMethod() === 'cc' 
);
+
+               $this->addSubmethods( $data );
+               $this->addRequiredFields( $data );
+               $this->addCurrencyData( $data );
+               $data['recurring'] = (bool) $data['recurring'];
+               return $data;
+       }
+
+       protected function addSubmethods( &$data ) {
 
                $availableSubmethods = $this->gateway->getAvailableSubmethods();
                $data['show_submethods'] = ( count( $availableSubmethods ) > 1 
);
@@ -122,7 +132,7 @@
                        foreach ( $availableSubmethods as $key => $submethod ) {
                                $submethod['key'] = $key;
                                if ( isset( $submethod['logo'] ) ) {
-                                       $submethod['logo'] = 
"{$data['script_path']}/extensions/DonationInterface/gateway_forms/includes/{$submethod['logo']}";
+                                       $submethod['logo'] = 
$this->getImagePath( $submethod['logo'] );
                                }
                                $data['submethods'][] = $submethod;
                        }
@@ -132,14 +142,30 @@
                                : 'three-per-line';
                } else if ( count( $availableSubmethods ) > 0 ) {
                        $submethodNames = array_keys( $availableSubmethods );
-                       $data['submethod'] = $submethodNames[0];
-               }
-               $data['is_cc'] = ( $this->gateway->getPaymentMethod() === 'cc' 
);
+                       $submethodName = $submethodNames[0];
+                       $submethod = $availableSubmethods[$submethodName];
+                       $data['submethod'] = $submethodName;
 
-               $this->addRequiredFields( $data );
-               $this->addCurrencyData( $data );
-               $data['recurring'] = (bool) $data['recurring'];
-               return $data;
+                       if (
+                               isset( $submethod['logo'] ) &&
+                               !empty( $submethod['show_single_logo'] )
+                       ) {
+                               $data['show_single_submethod'] = true;
+                               $data['label'] = $submethod['label'];
+                               $data['submethod_logo'] = $this->getImagePath( 
$submethod['logo'] );
+                       }
+
+                       if ( isset( $submethod['issuerids'] ) ) {
+                               $data['show_issuers'] = true;
+                               $data['issuers'] = array();
+                               foreach ( $submethod['issuerids'] as $code => 
$label ) {
+                                       $data['issuers'][] = array(
+                                               'code' => $code,
+                                               'label' => $label,
+                                       );
+                               }
+                       }
+               }
        }
 
        protected function addRequiredFields( &$data ) {
@@ -325,4 +351,8 @@
        protected function getTopLevelTemplate() {
                return $this->gateway->getGlobal( 'Template' );
        }
+
+       protected function getImagePath( $name ) {
+               return 
"{$this->scriptPath}/extensions/DonationInterface/gateway_forms/includes/{$name}";
+       }
 }
diff --git a/gateway_forms/mustache/issuers.html.mustache 
b/gateway_forms/mustache/issuers.html.mustache
new file mode 100644
index 0000000..aae14b5
--- /dev/null
+++ b/gateway_forms/mustache/issuers.html.mustache
@@ -0,0 +1,14 @@
+{{# show_issuers }}
+       <tr>
+               <td>
+                       <select style="margin-top: 15px;" id="issuer_id" 
name="issuer_id">
+                               <option value="">{{ l10n 
"donate_interface-rtbt-issuer_id" }}</option>
+{{# issuers }}
+                               <option value="{{ code }}">{{ label }}</option>
+{{/ issuers }}
+                       </select>
+               </td>
+       </tr>
+
+       {{{ fieldError "issuer_id" }}}
+{{/ show_issuers }}
diff --git a/gateway_forms/mustache/payment_method.html.mustache 
b/gateway_forms/mustache/payment_method.html.mustache
index 48b9f7f..6f7fcbb 100644
--- a/gateway_forms/mustache/payment_method.html.mustache
+++ b/gateway_forms/mustache/payment_method.html.mustache
@@ -20,8 +20,16 @@
 {{^ show_submethods }}
                                                                                
<input class="hidden" id="submethod-{{ submethod }}" name="payment_submethod" 
type="radio" value="{{ submethod }}" checked />
 {{/ show_submethods }}
+{{# show_single_submethod }}
+                                                                               
<img alt="{{ label }}" src="{{ submethod_logo }}" />
+{{/ show_single_submethod }}
                                                                        </dd>
                                                                </dl>
+                                                       </td>
+                                               </tr>
+{{> issuers }}
+                                               <tr>
+                                                       <td>
                                                                <div 
id="paymentContinue" {{^ show_submethods }}class="force"{{/ show_submethods }}> 
<input class="btn enabled" id="paymentContinueBtn" type="button" value="{{ l10n 
"donate_interface-continue" }}" /></div>
                                                                <div 
id="paymentSubmit" > <input class="btn enabled" id="paymentSubmitBtn" 
type="button" value="{{ l10n "donate_interface-submit-button" }}" /></div>
                                                        </td>
diff --git a/globalcollect_gateway/config/payment_methods.yaml 
b/globalcollect_gateway/config/payment_methods.yaml
index baa1651..cef32ce 100644
--- a/globalcollect_gateway/config/payment_methods.yaml
+++ b/globalcollect_gateway/config/payment_methods.yaml
@@ -28,6 +28,9 @@
     short_circuit_at: first_iop
 rtbt:
     label: 'Real time bank transfer'
+    validation:
+        name: true
+        email: true
     short_circuit_at: first_iop
     additional_success_status:
         - 20
diff --git a/globalcollect_gateway/config/payment_submethods.yaml 
b/globalcollect_gateway/config/payment_submethods.yaml
index 844c8ec..1f1d4df 100644
--- a/globalcollect_gateway/config/payment_submethods.yaml
+++ b/globalcollect_gateway/config/payment_submethods.yaml
@@ -229,21 +229,22 @@
     paymentproductid: 500
     label: 'Online Bank Transfer: Bpay'
     group: obt
+    show_single_logo: true
     validation: {  }
     keys: {  }
-rtbt_nordea_sweden:
-    paymentproductid: 805
-    label: 'Nordea (Sweden)'
-    group: rtbt
-    validation: {  }
-    keys: {  }
+
 rtbt_ideal:
     paymentproductid: 809
-    label: Ideal
+    label: iDEAL
     group: rtbt
-    validation: {  }
+    countries:
+        NL: true
+    validation:
+        issuer_id: true
     keys:
         - ISSUERID
+    logo: iDEAL-klein.gif
+    show_single_logo: true
     issuerids:
         ABNANL2A: ABN Amro
         ASNBNL21: ASN Bank
@@ -256,40 +257,3 @@
         TRIONL2U: Triodos Bank
         FVLBNL22: Van Lanschot Bankiers
         BUNQNL2A: bunq
-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:
-        - ISSUERID
-    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:
-        - FISCALNUMBER
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html 
b/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
deleted file mode 100644
index b290947..0000000
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-enets.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<script type="text/javascript">
-       // these must go through RapidHTML and thus are inline
-       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
-       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#email|escape'];
-       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
-       var actionURL = "@action";
-       var scriptPath = "@script_path";
-</script>
-<!--[if IE 7]>
-<style>
-       .gainlayout {
-               zoom: 1;
-               height: 1%;
-       }
-</style>
-<![endif]-->
-
-<div class="ltr">
-       <table id="layouttable">
-               <tr>
-                       <td>
-                               <div id="appeal">
-                                       <div id="appeal-content">
-                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
-                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
-                                       </div>
-                               </div>
-                       </td>
-                       <td>
-                               <div id="donate">
-                                       <div id="donate-content">
-                                               <div id="donate-body" 
style="padding: 0 1em;">
-                                                       <form method="post" 
name="paypalcontribution">
-                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount"></span></h3></div>
-                                                               
-                                                               
<h3>%donate_interface-billing-address% <span class="mute" id="change-billing" 
style="display: none;">(<a href="#">%donate_interface-change%</a>)</span></h3>
-                                                               <div 
id="billing-content" class="gainlayout">
-                                                                       <div 
id="billingErrorMessages" class="small"></div>
-                                                                       <div 
id="paymentErrorMessages" class="small"></div>
-                                                                       
<!--<div class="name-fields">-->
-                                                                               
<!--<span class="name-first"><input class="txt" id="fname" name="fname" 
title="%donate_interface-donor-fname%" value="@fname" 
placeholder="%donate_interface-donor-fname%"/></span>-->
-                                                                               
<!--<span class="name-last"><input class="txt" id="lname" name="lname" 
title="%donate_interface-donor-lname%" value="@lname" 
placeholder="%donate_interface-donor-lname%"/></span>-->
-                                                                       
<!--</div>-->
-                                                                       <div 
class="nostate">
-                                                                               
<!--<span class="loc-street"><input class="txt" id="street" name="street" 
title="%donate_interface-donor-street%" value="@street" 
placeholder="%donate_interface-donor-street%"/></span>-->
-                                                                               
<!--<span class="loc-postal"><input class="txt" id="zip" name="zip" 
title="%donate_interface-donor-postal%" value="@zip" 
placeholder="%donate_interface-donor-postal%"/></span>-->
-                                                                               
<!--<span class="loc-city"><input class="txt" id="city" name="city" 
title="%donate_interface-donor-city%" value="@city" 
placeholder="%donate_interface-donor-city%"/></span>-->
-                                                                               
<span class="loc-country">
-                                                                               
        <select class="txt" id="country" name="country" value="@country" 
placeholder="%donate_interface-country%">
-                                                                               
                <option value="">%donate_interface-select-country%</option>
-                                                                               
                <option 
value="SG">%donate_interface-country-dropdown-SG%</option>
-                                                                               
        </select>
-                                                                               
</span>
-                                                                       </div>
-                                                                       
<!--<p><input class="txt" title="%donate_interface-donor-email%" id="email" 
name="email" value="@email" placeholder="%donate_interface-donor-email%"/> 
</p>-->
-                                                                       <table 
style="margin-top: 10px;" >
-                                                                               
<tr><td>
-                                                                               
        <div id="bt-continue" style="margin-top: 7px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
-                                                                               
</td><td>
-                                                                               
        <img style="margin-left: 20px;" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/enets_logo2.jpg"
 width="50" alt="eNets">
-                                                                               
</td></tr>
-                                                                       </table>
-                                                               </div>
-                                                               
-
-                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
-                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
-
-                                                               <input 
type="hidden" value="@amount" name="amount" />
-                                                               <!--<input 
type="hidden" value="@country" name="country" id="country" /> -->
-                                                               <input 
type="hidden" value="SGD" name="currency_code" />
-                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
-                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
-                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
-                                                               <input 
type="hidden" value="@language" name="language"/>
-                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
-                                                               <input 
type="hidden" value="@wmf_token" name="wmf_token"/>
-                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
-                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
-                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
-                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
-                                                               <!-- new 
required fields -->
-                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
-                                                               <!-- required 
fields for bt and dd -->
-                                                               <input 
type="hidden" value="rtbt" name="payment_method"/>
-                                                               <input 
type="hidden" value="rtbt_enets" name="payment_submethod"/>
-                                                               <!-- required 
fields omitted above -->
-                                                               <input 
type="hidden" class="optional" value="" name="fname" id="fname" />
-                                                               <input 
type="hidden" class="optional" value="" name="lname" id="lname" />
-                                                               <input 
type="hidden" class="optional" value="" name="street" id="street" />
-                                                               <input 
type="hidden" class="optional" value="" name="city" id="city" />
-                                                               <input 
type="hidden" class="optional" value="" name="state" id="state" />
-                                                               <input 
type="hidden" class="optional" value="" name="zip" id="zip" />
-                                                               <input 
type="hidden" class="optional" value="" name="email" id="email" />
-                                                       </form>
-                                               </div>
-                                       </div>
-                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
-                                       <table>
-                                               <tr>
-                                                       <td>
-                                {% block moreinfolinks %}
-                                                       </td>
-                                                       <td>@verisign_logo</td>
-                                               </tr>
-                                       </table>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-
-
-
-</div>
-
-<!-- Wikimedia Project logo
-<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
- -->
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html 
b/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
deleted file mode 100644
index fa65d52..0000000
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-eps.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<script type="text/javascript">
-       // these must go through RapidHTML and thus are inline
-       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
-       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#email|escape'];
-       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
-       var actionURL = "@action";
-       var scriptPath = "@script_path";
-</script>
-<!--[if IE 7]>
-<style>
-       .gainlayout {
-               zoom: 1;
-               height: 1%;
-       }
-</style>
-<![endif]-->
-
-<div class="ltr">
-       <table id="layouttable">
-               <tr>
-                       <td>
-                               <div id="appeal">
-                                       <div id="appeal-content">
-                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
-                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
-                                       </div>
-                               </div>
-                       </td>
-                       <td>
-                               <div id="donate">
-                                       <div id="donate-content">
-                                               <div id="donate-body" 
style="padding: 0 1em;">
-                                                       <form method="post" 
name="paypalcontribution">
-                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount"></span> <span class="mute" id="change-amount" 
style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
-                                                               <div 
id="step1wrapper" style="display: none;">
-                                                                       <div 
id="amtErrorMessages" class="small"></div>
-                                                                       <table 
id="amount-table-white">
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio0" type="radio" name="amountRadio" 
value="5" /> <span id="amountSpan0">5</span></label></td>
-                                                                               
        <td><label><input id="amountRadio1" type="radio" name="amountRadio" 
value="10" /> <span id="amountSpan1">10</span></label></td>
-                                                                               
        <td><label><input id="amountRadio2" type="radio" name="amountRadio" 
value="20" /> <span id="amountSpan2">20</span></label></td>
-                                                                               
        <td><label><input id="amountRadio3" type="radio" name="amountRadio" 
value="40" /> <span id="amountSpan3">40</span></label></td>
-                                                                               
</tr>
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio4" type="radio" name="amountRadio" 
value="55" /> <span id="amountSpan4">55</span></label></td>
-                                                                               
        <td><label><input id="amountRadio5" type="radio" name="amountRadio" 
value="75" /> <span id="amountSpan5">75</span></label></td>
-                                                                               
        <td><label><input id="amountRadio6" type="radio" name="amountRadio" 
value="180" /> <span id="amountSpan6">180</span></label></td>
-                                                                               
        <td><input type="radio" name="amountRadio" id="input_amount_other" 
value="other" /> <label><span id="amountSpanOther"></span><input type="text" 
class="txt-sm hint"  name="amountGiven" size="4" id="other-amount" 
title="%donate_interface-other%" placeholder="%donate_interface-other%"  
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
-                                                                               
</tr>
-                                                                       </table>
-                                                               </div>
-                                                               
<h3>%donate_interface-cc-form-header-personal% <span class="mute" 
id="change-billing" style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3>
-                                                               <div 
id="billing-content" class="gainlayout">
-                                                                       <div 
id="billingErrorMessages" class="small"></div>
-                                                                       <div 
id="paymentErrorMessages" class="small"></div>
-                                                                       <div 
class="name-fields">
-                                                                               
<!--<span class="name-first"><input class="txt" id="fname" name="fname" 
title="%donate_interface-donor-fname%" value="@fname" 
placeholder="%donate_interface-donor-fname%"/></span>-->
-                                                                               
<!--<span class="name-last"><input class="txt" id="lname" name="lname" 
title="%donate_interface-donor-lname%" value="@lname" 
placeholder="%donate_interface-donor-lname%"/></span>-->
-                                                                       </div>
-                                                                       
<!--<p><input class="txt" title="%donate_interface-donor-email%" id="email" 
name="email" value="@email" placeholder="%donate_interface-donor-email%"/> 
</p>-->
-                                                                       <table 
style="margin-top: 10px;" >
-                                                                               
<tr><td>
-                                                                               
        <select style="margin-top: 15px;" id="issuer_id" name="issuer_id" 
value="@issuer_id">
-                                                                               
                <option value="">%donate_interface-rtbt-issuer_id%...</option>
-                                                                               
                <option value="825">Hypo Tirol Bank</option>
-                                                                               
                <option value="829">Easy</option>
-                                                                               
                <option value="828">P.S.K.</option>
-                                                                               
                <option value="827">BAWAG</option>
-                                                                               
                <option value="826">Erste Bank und Sparkassen</option>
-                                                                               
                <option value="831">Sparda-Bank</option>
-                                                                               
                <option value="824">Bankhaus Spängler</option>
-                                                                               
                <option value="823">Voralberger HYPO</option>
-                                                                               
                <option value="822">NÖ HYPO</option>
-                                                                               
                <option value="821">Volksbanken Gruppe</option>
-                                                                               
                <option value="820">Raifeissen</option>
-                                                                               
                </select>
-
-                                                                               
        <div id="bt-continue" style="margin-top: 15px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
-                                                                               
</td><td>
-                                                                               
        <img style="margin-left: 5px;" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/eps-logo-square.gif"
 alt="eps">
-                                                                               
</td></tr>
-                                                                       </table>
-                                                               </div>
-
-
-                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
-                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
-
-                                                               <input 
type="hidden" value="@amount" name="amount" />
-                                                               <input 
type="hidden" value="EUR" name="currency_code" />
-                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
-                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
-                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
-                                                               <input 
type="hidden" value="@language" name="language"/>
-                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
-                                                               <input 
type="hidden" value="@wmf_token" name="wmf_token"/>
-                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
-                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
-                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
-                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
-                                                               <!-- new 
required fields -->
-                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
-                                                               <!-- required 
fields for bt and dd -->
-                                                               <input 
type="hidden" value="rtbt" name="payment_method"/>
-                                                               <input 
type="hidden" value="rtbt_eps" name="payment_submethod"/>
-                                                               <!-- required 
fields omitted above -->
-                                                               <input 
type="hidden" class="optional" value="" name="fname" id="fname" />
-                                                               <input 
type="hidden" class="optional" value="" name="lname" id="lname" />
-                                                               <input 
type="hidden" class="optional" value="" name="street" id="street" />
-                                                               <input 
type="hidden" class="optional" value="" name="city" id="city" />
-                                                               <input 
type="hidden" class="optional" value="" name="state" id="state" />
-                                                               <input 
type="hidden" class="optional" value="" name="country" id="country" />
-                                                               <input 
type="hidden" class="optional" value="" name="zip" id="zip" />
-                                                               <input 
type="hidden" class="optional" value="" name="email" id="email" />
-                                                       </form>
-                                               </div>
-                                       </div>
-                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
-                                       <table>
-                                               <tr>
-                                                       <td>
-                                {% block moreinfolinks %}
-                                                       </td>
-                                                       <td>@verisign_logo</td>
-                                               </tr>
-                                       </table>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-
-
-
-</div>
-
-<!-- Wikimedia Project logo
-<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
- -->
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html 
b/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
deleted file mode 100644
index 965a8b6..0000000
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal-noadd.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<script type="text/javascript">
-       // these must go through RapidHTML and thus are inline
-       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
-       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#email|escape'];
-       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
-       var actionURL = "@action";
-       var scriptPath = "@script_path";
-</script>
-<!--[if IE 7]>
-<style>
-       .gainlayout {
-               zoom: 1;
-               height: 1%;
-       }
-</style>
-<![endif]-->
-
-<div class="ltr">
-       <table id="layouttable">
-               <tr>
-                       <td>
-                               <div id="appeal">
-                                       <div id="appeal-content">
-                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
-                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
-                                       </div>
-                               </div>
-                       </td>
-                       <td>
-                               <div id="donate">
-                                       <div id="donate-content">
-                                               <div id="donate-body" 
style="padding: 0 1em;">
-                                                       @noscript
-                                                       <p id="topError" 
class="errorMsg"></p>
-
-                                                       <form method="post" 
name="paypalcontribution">
-                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount"></span> <span class="mute" id="change-amount" 
style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
-                                                               <div 
id="step1wrapper" style="display: none;">
-                                                                       <div 
id="amtErrorMessages" class="small"></div>
-                                                                       <table 
id="amount-table-white">
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio0" type="radio" name="amountRadio" 
value="5" /> <span id="amountSpan0">5</span></label></td>
-                                                                               
        <td><label><input id="amountRadio1" type="radio" name="amountRadio" 
value="10" /> <span id="amountSpan1">10</span></label></td>
-                                                                               
        <td><label><input id="amountRadio2" type="radio" name="amountRadio" 
value="20" /> <span id="amountSpan2">20</span></label></td>
-                                                                               
        <td><label><input id="amountRadio3" type="radio" name="amountRadio" 
value="40" /> <span id="amountSpan3">40</span></label></td>
-                                                                               
</tr>
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio4" type="radio" name="amountRadio" 
value="55" /> <span id="amountSpan4">55</span></label></td>
-                                                                               
        <td><label><input id="amountRadio5" type="radio" name="amountRadio" 
value="75" /> <span id="amountSpan5">75</span></label></td>
-                                                                               
        <td><label><input id="amountRadio6" type="radio" name="amountRadio" 
value="180" /> <span id="amountSpan6">180</span></label></td>
-                                                                               
        <td><input type="radio" name="amountRadio" id="input_amount_other" 
value="other" /> <label><span id="amountSpanOther"></span><input type="text" 
class="txt-sm hint"  name="amountGiven" size="4" id="other-amount" 
title="%donate_interface-other%" placeholder="%donate_interface-other%"  
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
-                                                                               
</tr>
-                                                                       </table>
-                                                               </div>
-
-                                                               <table>
-                                                                       {% 
block personal-information country %}
-                                                               </table>
-
-                                                               <table 
style="margin-top: 10px;" >
-                                                                       <tr><td>
-                                                                               
<select style="margin-top: 15px;" id="issuer_id" name="issuer_id" 
value="@issuer_id">
-                                                                               
        <option value="">%donate_interface-rtbt-issuer_id%...</option>
-                                                                               
        <optgroup>
-                                                                               
                <option value="ABNANL2A">ABN Amro</option>
-                                                                               
                <option value="INGBNL2A">ING</option>
-                                                                               
                <option value="RABONL2U">Rabobank</option>
-                                                                               
                <option value="SNSBNL2A">SNS Bank</option>
-                                                                               
        </optgroup>
-                                                                               
        <optgroup label="%donate_interface-rtbt-issuer_id-longlist%">
-                                                                               
                <option value="ASNBNL21">ASN Bank</option>
-                                                                               
                <option value="FRBKNL2L">Friesland Bank</option>
-                                                                               
                <!-- <option value="KNABNL2H">Knab</option> -->
-                                                                               
                <option value="RBRBNL21">RegioBank</option>
-                                                                               
                <option value="TRIONL2U">Triodos Bank</option>
-                                                                               
                <option value="FVLBNL22">Van Lanschot Bankiers</option>
-                                                                               
                <option value="BUNQNL2A">bunq</option>
-                                                                               
        </optgroup>
-                                                                               
</select>
-
-                                                                               
<div id="bt-continue" style="margin-top: 15px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
-                                                                       
</td><td>
-                                                                               
<img style="margin-left: 25px;" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/iDEAL-klein.gif"
 alt="IDEAL klein">
-                                                                       
</td></tr>
-                                                               </table>
-
-                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
-                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
-                                                               <input 
type="hidden" value="@amount" name="amount" />
-                                                               <input 
type="hidden" value="EUR" name="currency_code" />
-                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
-                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
-                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
-                                                               <input 
type="hidden" value="@language" name="language"/>
-                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
-                                                               <input 
type="hidden" value="@wmf_token" name="wmf_token"/>
-                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
-                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
-                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
-                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
-                                                               <!-- new 
required fields -->
-                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
-                                                               <!-- required 
fields for bt and dd -->
-                                                               <input 
type="hidden" value="rtbt" name="payment_method"/>
-                                                               <input 
type="hidden" value="rtbt_ideal" name="payment_submethod"/>
-                                                               <!-- required 
fields omitted above -->
-                                                               <input 
type="hidden" class="optional" value="" name="state"/>
-                                                               <input 
type="hidden" class="optional" value="" name="street"/>
-                                                               <input 
type="hidden" class="optional" value="" name="zip"/>
-                                                       </form>
-                                               </div>
-                                       </div>
-                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
-                                       <table>
-                                               <tr>
-                                                       <td>
-                                {% block moreinfolinks %}
-                                                       </td>
-                                                       <td>@verisign_logo</td>
-                                               </tr>
-                                       </table>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-
-
-
-</div>
-
-<!-- Wikimedia Project logo
-<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
- -->
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html 
b/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
deleted file mode 100644
index 3335fe6..0000000
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-ideal.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<script type="text/javascript">
-       // these must go through RapidHTML and thus are inline
-       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
-       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#email|escape'];
-       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
-       var actionURL = "@action";
-       var scriptPath = "@script_path";
-</script>
-<!--[if IE 7]>
-<style>
-       .gainlayout {
-               zoom: 1;
-               height: 1%;
-       }
-</style>
-<![endif]-->
-
-<div class="ltr">
-       <table id="layouttable">
-               <tr>
-                       <td>
-                               <div id="appeal">
-                                       <div id="appeal-content">
-                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
-                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
-                                       </div>
-                               </div>
-                       </td>
-                       <td>
-                               <div id="donate">
-                                       <div id="donate-content">
-                                               <div id="donate-body" 
style="padding: 0 1em;">
-                                                       @noscript
-                                                       <p id="topError" 
class="errorMsg"></p>
-
-                                                       <form method="post" 
name="paypalcontribution">
-                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount"></span> <span class="mute" id="change-amount" 
style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
-                                                               <div 
id="step1wrapper" style="display: none;">
-                                                                       <div 
id="amtErrorMessages" class="small"></div>
-                                                                       <table 
id="amount-table-white">
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio0" type="radio" name="amountRadio" 
value="3" /> <span id="amountSpan0">3</span></label></td>
-                                                                               
        <td><label><input id="amountRadio1" type="radio" name="amountRadio" 
value="5" /> <span id="amountSpan1">5</span></label></td>
-                                                                               
        <td><label><input id="amountRadio2" type="radio" name="amountRadio" 
value="10" /> <span id="amountSpan2">10</span></label></td>
-                                                                               
        <td><label><input id="amountRadio3" type="radio" name="amountRadio" 
value="20" /> <span id="amountSpan3">20</span></label></td>
-                                                                               
</tr>
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio4" type="radio" name="amountRadio" 
value="30" /> <span id="amountSpan4">30</span></label></td>
-                                                                               
        <td><label><input id="amountRadio5" type="radio" name="amountRadio" 
value="50" /> <span id="amountSpan5">50</span></label></td>
-                                                                               
        <td><label><input id="amountRadio6" type="radio" name="amountRadio" 
value="100" /> <span id="amountSpan6">100</span></label></td>
-                                                                               
        <td><input type="radio" name="amountRadio" id="input_amount_other" 
value="Other" /> <label><span id="amountSpanOther"></span><input type="text" 
class="txt-sm hint"  name="amountGiven" size="4" id="other-amount" 
title="%donate_interface-other%" placeholder="%donate_interface-other%"  
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
-                                                                               
</tr>
-                                                                       </table>
-                                                               </div>
-
-                                                               <table>
-                                                                       {% 
block personal-information country %}
-                                                               </table>
-
-                                                               <table 
style="margin-top: 10px;" >
-                                                                       <tr><td>
-                                                                               
<select style="margin-top: 15px;" id="issuer_id" name="issuer_id" 
value="@issuer_id">
-                                                                               
        <option value="">%donate_interface-rtbt-issuer_id%...</option>
-                                                                               
        <optgroup>
-                                                                               
                <option value="ABNANL2A">ABN Amro</option>
-                                                                               
                <option value="INGBNL2A">ING</option>
-                                                                               
                <option value="RABONL2U">Rabobank</option>
-                                                                               
                <option value="SNSBNL2A">SNS Bank</option>
-                                                                               
        </optgroup>
-                                                                               
        <optgroup label="%donate_interface-rtbt-issuer_id-longlist%">
-                                                                               
                <option value="ASNBNL21">ASN Bank</option>
-                                                                               
                <option value="FRBKNL2L">Friesland Bank</option>
-                                                                               
                <!-- <option value="KNABNL2H">Knab</option> -->
-                                                                               
                <option value="RBRBNL21">RegioBank</option>
-                                                                               
                <option value="TRIONL2U">Triodos Bank</option>
-                                                                               
                <option value="FVLBNL22">Van Lanschot Bankiers</option>
-                                                                               
                <option value="BUNQNL2A">bunq</option>
-                                                                               
        </optgroup>
-                                                                               
</select>
-
-                                                                               
<div id="bt-continue" style="margin-top: 15px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
-                                                                       
</td><td>
-                                                                               
<img style="margin-left: 25px;" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/iDEAL-klein.gif"
 alt="IDEAL klein">
-                                                                       
</td></tr>
-                                                               </table>
-
-                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
-                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
-                                                               <input 
type="hidden" value="@amount" name="amount" id="amount"/>
-                                                               <input 
type="hidden" value="EUR" name="currency_code" id="currency_code"/>
-                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
-                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
-                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
-                                                               <input 
type="hidden" value="@language" name="language"/>
-                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
-                                                               <input 
type="hidden" value="@wmf_token" name="wmf_token"/>
-                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
-                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
-                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
-                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
-                                                               <!-- new 
required fields -->
-                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
-                                                               <!-- required 
fields for bt and dd -->
-                                                               <input 
type="hidden" value="rtbt" name="payment_method"/>
-                                                               <input 
type="hidden" value="rtbt_ideal" name="payment_submethod"/>
-                                                               <!-- required 
fields omitted above -->
-                                                               <input 
type="hidden" class="optional" value="" name="street" id="street" />
-                                                               <input 
type="hidden" class="optional" value="" name="state" id="state" />
-                                                               <input 
type="hidden" class="optional" value="" name="zip" id="zip" />
-                                                       </form>
-                                               </div>
-                                       </div>
-                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
-                                       <table>
-                                               <tr>
-                                                       <td>
-                                {% block moreinfolinks %}
-                                                       </td>
-                                                       <td>@verisign_logo</td>
-                                               </tr>
-                                       </table>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-
-
-
-</div>
-
-<!-- Wikimedia Project logo
-<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
- -->
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html 
b/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
deleted file mode 100644
index 7f26456..0000000
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo-GB.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<script type="text/javascript">
-       // these must go through RapidHTML and thus are inline
-       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
-       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#email|escape'];
-       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
-       var actionURL = "@action";
-       var scriptPath = "@script_path";
-</script>
-<!--[if IE 7]>
-<style>
-       .gainlayout {
-               zoom: 1;
-               height: 1%;
-       }
-</style>
-<![endif]-->
-
-<div class="ltr">
-       <table id="layouttable">
-               <tr>
-                       <td>
-                               <div id="appeal">
-                                       <div id="appeal-content">
-                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
-                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
-                                       </div>
-                               </div>
-                       </td>
-                       <td>
-                               <div id="donate">
-                                       <div id="donate-content">
-                                               <div id="donate-body" 
style="padding: 0 1em;">
-                                                       <form method="post" 
name="paypalcontribution">
-                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount"></span> <span class="mute" id="change-amount" 
style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
-                                                               <div 
id="step1wrapper" style="display: none;">
-                                                                       <div 
id="amtErrorMessages" class="small"></div>
-                                                                       <table 
id="amount-table-white">
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio0" type="radio" name="amountRadio" 
value="5" /> <span id="amountSpan0">5</span></label></td>
-                                                                               
        <td><label><input id="amountRadio1" type="radio" name="amountRadio" 
value="10" /> <span id="amountSpan1">10</span></label></td>
-                                                                               
        <td><label><input id="amountRadio2" type="radio" name="amountRadio" 
value="20" /> <span id="amountSpan2">20</span></label></td>
-                                                                               
        <td><label><input id="amountRadio3" type="radio" name="amountRadio" 
value="40" /> <span id="amountSpan3">40</span></label></td>
-                                                                               
</tr>
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio4" type="radio" name="amountRadio" 
value="55" /> <span id="amountSpan4">55</span></label></td>
-                                                                               
        <td><label><input id="amountRadio5" type="radio" name="amountRadio" 
value="75" /> <span id="amountSpan5">75</span></label></td>
-                                                                               
        <td><label><input id="amountRadio6" type="radio" name="amountRadio" 
value="180" /> <span id="amountSpan6">180</span></label></td>
-                                                                               
        <td><input type="radio" name="amountRadio" id="input_amount_other" 
value="other" /> <label><span id="amountSpanOther"></span><input type="text" 
class="txt-sm hint"  name="amountGiven" size="4" id="other-amount" 
title="%donate_interface-other%" placeholder="%donate_interface-other%"  
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
-                                                                               
</tr>
-                                                                       </table>
-                                                               </div>
-                                                               
<h3>%donate_interface-billing-address% <span class="mute" id="change-billing" 
style="display: none;">(<a href="#">%donate_interface-change%</a>)</span></h3>
-                                                               <div 
id="billing-content" class="gainlayout">
-                                                                       <div 
id="billingErrorMessages" class="small"></div>
-                                                                       <div 
id="paymentErrorMessages" class="small"></div>
-                                                                       <div 
class="name-fields">
-                                                                               
<span class="name-first"><input class="txt optional" id="fname" name="fname" 
title="%donate_interface-donor-fname%" value="@fname" 
placeholder="%donate_interface-donor-fname%"/></span>
-                                                                               
<span class="name-last"><input class="txt optional" id="lname" name="lname" 
title="%donate_interface-donor-lname%" value="@lname" 
placeholder="%donate_interface-donor-lname%"/></span>
-                                                                       </div>
-                                                                       <div 
class="nostate">
-                                                                               
<!--<span class="loc-street"><input class="txt" id="street" name="street" 
title="%donate_interface-donor-street%" value="@street" 
placeholder="%donate_interface-donor-street%"/></span>-->
-                                                                               
<!--<span class="loc-postal"><input class="txt" id="zip" name="zip" 
title="%donate_interface-donor-postal%" value="@zip" 
placeholder="%donate_interface-donor-postal%"/></span>-->
-                                                                               
<!--<span class="loc-city"><input class="txt" id="city" name="city" 
title="%donate_interface-donor-city%" value="@city" 
placeholder="%donate_interface-donor-city%"/></span>-->
-                                                                               
<span class="loc-country">
-                                                                               
        <select class="txt" id="country" name="country" value="@country" 
placeholder="%donate_interface-country%">
-                                                                               
                <option value="">%donate_interface-select-country%</option>
-                                                                               
                <option 
value="GB">%donate_interface-country-dropdown-GB%</option>
-                                                                               
        </select>
-                                                                               
</span>
-                                                                       </div>
-                                                                       
<p><input class="txt optional" title="%donate_interface-donor-email%" 
id="email" name="email" value="@email" 
placeholder="%donate_interface-donor-email%"/> </p>
-                                                                       <table 
style="margin-top: 10px;" >
-                                                                               
<tr><td>
-                                                                               
        <div id="bt-continue" style="margin-top: 7px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
-                                                                               
</td><td>
-                                                                               
        <img style="margin-left: 100px;" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/sofortEn.png"
 alt="Sofort">
-                                                                               
</td></tr>
-                                                                       </table>
-                                                               </div>
-
-
-                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
-                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
-
-                                                               <input 
type="hidden" value="@amount" name="amount" />
-                                                               <!--<input 
type="hidden" value="@country" name="country" id="country" /> -->
-                                                               <input 
type="hidden" value="GBP" name="currency_code" />
-                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
-                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
-                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
-                                                               <input 
type="hidden" value="@language" name="language"/>
-                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
-                                                               <input 
type="hidden" value="@wmf_token" name="wmf_token"/>
-                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
-                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
-                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
-                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
-                                                               <!-- new 
required fields -->
-                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
-                                                               <!-- required 
fields for bt and dd -->
-                                                               <input 
type="hidden" value="rtbt" name="payment_method"/>
-                                                               <input 
type="hidden" value="rtbt_sofortuberweisung" name="payment_submethod"/>
-                                                               <!-- required 
fields omitted above -->
-                                                               <input 
type="hidden" class="optional" value="" name="street" id="street" />
-                                                               <input 
type="hidden" class="optional" value="" name="city" id="city" />
-                                                               <input 
type="hidden" class="optional" value="" name="state" id="state" />
-                                                               <input 
type="hidden" class="optional" value="" name="zip" id="zip" />
-                                                       </form>
-                                               </div>
-                                       </div>
-                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
-                                       <table>
-                                               <tr>
-                                                       <td>
-                                {% block moreinfolinks %}
-                                                       </td>
-                                                       <td>@verisign_logo</td>
-                                               </tr>
-                                       </table>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-
-
-
-</div>
-
-<!-- Wikimedia Project logo
-<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
- -->
diff --git a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html 
b/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
deleted file mode 100644
index a686018..0000000
--- a/globalcollect_gateway/forms/html/rtbt/rtbt-sofo.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<script type="text/javascript">
-       // these must go through RapidHTML and thus are inline
-       var amountErrors = 
["#general|escape",'#retryMsg|escape','#amount|escape'];
-       var billingErrors = 
['#fname|escape','#lname|escape','#city|escape','#country|escape','#street|escape','#state|escape','#zip|escape','#email|escape'];
-       var paymentErrors = 
['#card_num|escape','#card_type|escape','#cvv|escape'];
-       var actionURL = "@action";
-       var scriptPath = "@script_path";
-</script>
-<!--[if IE 7]>
-<style>
-       .gainlayout {
-               zoom: 1;
-               height: 1%;
-       }
-</style>
-<![endif]-->
-
-<div class="ltr">
-       <table id="layouttable">
-               <tr>
-                       <td>
-                               <div id="appeal">
-                                       <div id="appeal-content">
-                                               <h2 id="appeal-head"> <span 
class="mw-headline">{{LanguageSwitch|2011FR/@appeal/title|@language}}</span></h2>
-                                               <div id="appeal-body" 
class="plainlinks">{{LanguageSwitch|2011FR/@appeal/text|@language}}</div>
-                                       </div>
-                               </div>
-                       </td>
-                       <td>
-                               <div id="donate">
-                                       <div id="donate-content">
-                                               <div id="donate-body" 
style="padding: 0 1em;">
-                                                       <form method="post" 
name="paypalcontribution">
-                                                               <div 
id="step1header"><h3>%donate_interface-amount-legend% <span 
id="selected-amount"></span> <span class="mute" id="change-amount" 
style="display: none;">(<a 
href="#">%donate_interface-change%</a>)</span></h3></div>
-                                                               <div 
id="step1wrapper" style="display: none;">
-                                                                       <div 
id="amtErrorMessages" class="small"></div>
-                                                                       <table 
id="amount-table-white">
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio0" type="radio" name="amountRadio" 
value="3" /> <span id="amountSpan0">3</span></label></td>
-                                                                               
        <td><label><input id="amountRadio1" type="radio" name="amountRadio" 
value="5" /> <span id="amountSpan1">5</span></label></td>
-                                                                               
        <td><label><input id="amountRadio2" type="radio" name="amountRadio" 
value="10" /> <span id="amountSpan2">10</span></label></td>
-                                                                               
        <td><label><input id="amountRadio3" type="radio" name="amountRadio" 
value="20" /> <span id="amountSpan3">20</span></label></td>
-                                                                               
</tr>
-                                                                               
<tr>
-                                                                               
        <td><label><input id="amountRadio4" type="radio" name="amountRadio" 
value="30" /> <span id="amountSpan4">30</span></label></td>
-                                                                               
        <td><label><input id="amountRadio5" type="radio" name="amountRadio" 
value="50" /> <span id="amountSpan5">50</span></label></td>
-                                                                               
        <td><label><input id="amountRadio6" type="radio" name="amountRadio" 
value="100" /> <span id="amountSpan6">100</span></label></td>
-                                                                               
        <td><input type="radio" name="amountRadio" id="input_amount_other" 
value="other" /> <label><span id="amountSpanOther"></span><input type="text" 
class="txt-sm hint"  name="amountGiven" size="4" id="other-amount" 
title="%donate_interface-other%" placeholder="%donate_interface-other%"  
onfocus="this.form.input_amount_other.checked=true;"/></label></td>
-                                                                               
</tr>
-                                                                       </table>
-                                                               </div>
-                                                               
<h3>%donate_interface-billing-address% <span class="mute" id="change-billing" 
style="display: none;">(<a href="#">%donate_interface-change%</a>)</span></h3>
-                                                               <div 
id="billing-content" class="gainlayout">
-                                                                       <div 
id="billingErrorMessages" class="small"></div>
-                                                                       <div 
id="paymentErrorMessages" class="small"></div>
-                                                                       <div 
class="name-fields">
-                                                                               
<span class="name-first"><input class="txt optional" id="fname" name="fname" 
title="%donate_interface-donor-fname%" value="@fname" 
placeholder="%donate_interface-donor-fname%"/></span>
-                                                                               
<span class="name-last"><input class="txt optional" id="lname" name="lname" 
title="%donate_interface-donor-lname%" value="@lname" 
placeholder="%donate_interface-donor-lname%"/></span>
-                                                                       </div>
-                                                                       <div 
class="nostate">
-                                                                               
<!--<span class="loc-street"><input class="txt" id="street" name="street" 
title="%donate_interface-donor-street%" value="@street" 
placeholder="%donate_interface-donor-street%"/></span>-->
-                                                                               
<!--<span class="loc-postal"><input class="txt" id="zip" name="zip" 
title="%donate_interface-donor-postal%" value="@zip" 
placeholder="%donate_interface-donor-postal%"/></span>-->
-                                                                               
<!--<span class="loc-city"><input class="txt" id="city" name="city" 
title="%donate_interface-donor-city%" value="@city" 
placeholder="%donate_interface-donor-city%"/></span>-->
-                                                                               
<span class="loc-country">
-                                                                               
        <select class="txt" id="country" name="country" value="@country" 
placeholder="%donate_interface-country%">
-                                                                               
                <option value="">%donate_interface-select-country%</option>
-                                                                               
                <option 
value="AT">%donate_interface-country-dropdown-AT%</option>
-                                                                               
                <option 
value="BE">%donate_interface-country-dropdown-BE%</option>
-                                                                               
                <option 
value="DE">%donate_interface-country-dropdown-DE%</option>
-                                                                               
                <option 
value="NL">%donate_interface-country-dropdown-NL%</option>
-                                                                               
                <option 
value="CH">%donate_interface-country-dropdown-CH%</option>
-                                                                               
        </select>
-                                                                               
</span>
-                                                                       </div>
-                                                                       
<p><input class="txt optional" title="%donate_interface-donor-email%" 
id="email" name="email" value="@email" 
placeholder="%donate_interface-donor-email%"/> </p>
-                                                                       <table 
style="margin-top: 10px;" >
-                                                                               
<tr><td>
-                                                                               
        <div id="bt-continue" style="margin-top: 7px;"> <input class="btn" 
id="bt-continueBtn" type="button" value="%donate_interface-continue%" /></div>
-                                                                               
</td><td>
-                                                                               
        <img style="margin-left: 100px;" 
src="@script_path/extensions/DonationInterface/gateway_forms/includes/sofortEn.png"
 alt="Sofort">
-                                                                               
</td></tr>
-                                                                       </table>
-                                                               </div>
-                                                               
-
-                                                               <input 
type="hidden" name="returnto" value="Thank_You/en" />
-                                                               <input 
type="hidden" value="0" name="PaypalRedirect" id="PaypalRedirect">
-
-                                                               <input 
type="hidden" value="@amount" name="amount" />
-                                                               <!--<input 
type="hidden" value="@country" name="country" id="country" /> -->
-                                                               <input 
type="hidden" value="EUR" name="currency_code" />
-                                                               <input 
type="hidden" value="@utm_source" name="utm_source"/>
-                                                               <input 
type="hidden" value="@utm_medium" name="utm_medium"/>
-                                                               <input 
type="hidden" value="@utm_campaign" name="utm_campaign"/>
-                                                               <input 
type="hidden" value="@language" name="language"/>
-                                                               <input 
type="hidden" value="@referrer" name="referrer"/>
-                                                               <input 
type="hidden" value="@wmf_token" name="wmf_token"/>
-                                                               <input 
type="hidden" value="@order_id"  name="order_id"/>
-                                                               <input 
type="hidden" value="@data_hash" name="data_hash"/>
-                                                               <input 
type="hidden" value="@owa_session" name="owa_session"/>
-                                                               <input 
type="hidden" value="@owa_ref" name="owa_ref"/>
-                                                               <!-- new 
required fields -->
-                                                               <input 
type="hidden" value="@gateway" name="gateway"/>
-                                                               <!-- required 
fields for bt and dd -->
-                                                               <input 
type="hidden" value="rtbt" name="payment_method"/>
-                                                               <input 
type="hidden" value="rtbt_sofortuberweisung" name="payment_submethod"/>
-                                                               <!-- required 
fields omitted above -->
-                                                               <input 
type="hidden" class="optional" value="" name="street" id="street" />
-                                                               <input 
type="hidden" class="optional" value="" name="city" id="city" />
-                                                               <input 
type="hidden" class="optional" value="" name="state" id="state" />
-                                                               <input 
type="hidden" class="optional" value="" name="zip" id="zip" />
-                                                       </form>
-                                               </div>
-                                       </div>
-                                       <p 
id="informationsharing">%donate_interface-informationsharing|url%</p>
-                                       <table>
-                                               <tr>
-                                                       <td>
-                                {% block moreinfolinks %}
-                                                       </td>
-                                                       <td>@verisign_logo</td>
-                                               </tr>
-                                       </table>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-
-
-
-</div>
-
-<!-- Wikimedia Project logo
-<li id="footer-copyrightico"><a href="//wikimediafoundation.org/"><img 
src="//bits.wikimedia.org/images/wikimedia-button.png" width="88" height="31" 
alt="Wikimedia Foundation"/></a></li> 
- -->
diff --git a/globalcollect_gateway/forms/js/ingenico.js 
b/globalcollect_gateway/forms/js/ingenico.js
index 335a71d..2669ba4 100644
--- a/globalcollect_gateway/forms/js/ingenico.js
+++ b/globalcollect_gateway/forms/js/ingenico.js
@@ -12,7 +12,11 @@
                $( '#payment-form' ).append( $form );
        }
 
-       di.forms.submit = function () {
-               di.forms.callDonateApi( showIframe );
-       };
+       if ( di.forms.isIframe() ) {
+               di.forms.submit = function () {
+                       di.forms.callDonateApi( function ( result ) {
+                               showIframe( result );
+                       } );
+               };
+       }
 } )( jQuery, mediaWiki );
diff --git a/globalcollect_gateway/globalcollect.adapter.php 
b/globalcollect_gateway/globalcollect.adapter.php
index 1f07285..9fce34d 100644
--- a/globalcollect_gateway/globalcollect.adapter.php
+++ b/globalcollect_gateway/globalcollect.adapter.php
@@ -37,7 +37,10 @@
                        || strpos( $ffname, 'maintenance') === 0 ) {
                        return 'MustacheErrorForm';
                }
-               if ( $this->getPaymentMethod() === 'cc' ) {
+               if (
+                       $this->getPaymentMethod() === 'cc' ||
+                       $this->getPaymentMethod() === 'rtbt'
+               ) {
                        return 'Gateway_Form_Mustache';
                };
                return 'Gateway_Form_RapidHtml';
diff --git a/modules/js/ext.donationInterface.forms.js 
b/modules/js/ext.donationInterface.forms.js
index 9ca5fee..76f4458 100644
--- a/modules/js/ext.donationInterface.forms.js
+++ b/modules/js/ext.donationInterface.forms.js
@@ -45,6 +45,7 @@
                        payment_method: $( '#payment_method' ).val(),
                        language: $( '#language' ).val(),
                        payment_submethod: $( 
'input[name="payment_submethod"]:checked' ).val().toLowerCase(),
+                       issuer_id: $( '#issuer_id' ).val(),
                        utm_source: $( '#utm_source' ).val(),
                        utm_campaign: $( '#utm_campaign' ).val(),
                        utm_medium: $( '#utm_medium' ).val(),
@@ -83,13 +84,26 @@
                } );
        }
 
+       function isIframe() {
+               var payment_method = $( '#payment_method' ).val();
+
+               switch ( payment_method ) {
+               case 'cc':
+                       return true;
+               default:
+                       return false;
+               }
+       }
+
+       // FIXME: move function declarations into object
        di.forms = {
                disable: disableForm,
                enable: enableForm,
                // Gateways with more complex form submission can overwrite this
                // property with their own submission function.
                submit: submitForm,
-               callDonateApi: callDonateApi
+               callDonateApi: callDonateApi,
+               isIframe: isIframe
        };
 
        $( function () {
@@ -100,7 +114,7 @@
 
                // Submit on submethod click if valid, otherwise show continue 
button.
                $( 'input[name="payment_submethod"]' ).on( 'click', function () 
{
-                       if ( di.validation.validateAmount() && 
di.validation.validatePersonal() ) {
+                       if ( di.validation.validate() ) {
                                di.forms.submit();
                        } else {
                                $( '#paymentContinue' ).show();
@@ -108,7 +122,7 @@
                } );
 
                $( '#paymentContinueBtn' ).on( 'click', function () {
-                       if ( di.validation.validateAmount() && 
di.validation.validatePersonal() ) {
+                       if ( di.validation.validate() ) {
                                di.forms.submit();
                        }
                } );
diff --git a/modules/js/ext.donationInterface.validation.js 
b/modules/js/ext.donationInterface.validation.js
index c7e593a..187529d 100644
--- a/modules/js/ext.donationInterface.validation.js
+++ b/modules/js/ext.donationInterface.validation.js
@@ -30,10 +30,25 @@
        }
 
        di.validation = {
+               validate: function () {
+                       // This funkiness is to make sure we run all the 
validations and
+                       // highlight bad values, rather than short-circuiting 
the second
+                       // group of tests if "&&" detects that the first tests 
failed.
+                       var results = [
+                                       this.validateAmount(),
+                                       this.validatePersonal()
+                               ],
+                               // Fail if one or more tests failed.
+                               success = ( results.indexOf( false ) === -1 );
+
+                       return success;
+               },
+               // FIXME: Move global scope functions here
                validateAmount: window.validateAmount,
                validatePersonal: window.validate_personal,
                showErrors: showErrors
        };
+
        // Set up email error detection and correction
        $( document ).on( 'blur', '#email', function () {
                $( this ).mailcheck( {
diff --git a/modules/validate_input.js b/modules/validate_input.js
index 36636c0..c41c812 100644
--- a/modules/validate_input.js
+++ b/modules/validate_input.js
@@ -86,11 +86,12 @@
                        // newness
                        $amountMsg.removeClass( 'errorMsgHide' ).addClass( 
'errorMsg' ).text( message );
                } else {
+                       // TODO: remove me once RapidHtml is gone.
                        // ugliness
                        alert( message );
                }
                error = true;
-               // See if we're on a webitects accordian form
+               // See if we're on a webitects accordion form
                if ( $( '#step1wrapper' ).length ) {
                        $( '#step1wrapper' ).slideDown();
                        $( '#paymentContinue' ).show();
@@ -108,6 +109,8 @@
 
 /**
  * Validates the personal information fields
+ * FIXME: Bad name, this validates more than just personal info.
+ * Move the good parts to ext.donationInterface.validation.js
  *
  * @return {boolean} true if no errors, false otherwise (also uses in-page 
error messages to notify the user)
  */
@@ -189,6 +192,7 @@
        }
 
        // validate email address
+       // FIXME: replace with regex in wgDonationInterfaceValidationRules
        $emailAdd = document.getElementById( 'email' );
        if (
                $emailAdd &&
diff --git a/tests/Adapter/GlobalCollect/GlobalCollectFormLoadTest.php 
b/tests/Adapter/GlobalCollect/GlobalCollectFormLoadTest.php
index c8a2c64..4888eaf 100644
--- a/tests/Adapter/GlobalCollect/GlobalCollectFormLoadTest.php
+++ b/tests/Adapter/GlobalCollect/GlobalCollectFormLoadTest.php
@@ -225,44 +225,6 @@
        }
 
        /**
-        * Make sure Belgian form loads in all of that country's supported 
languages
-        * @dataProvider belgiumLanguageProvider
-        */
-       public function testGlobalCollectSofortLoad_BE( $language ) {
-               $init = $this->getDonorTestData( 'BE' );
-               unset( $init['order_id'] );
-               $init['payment_method'] = 'rtbt';
-               $init['payment_submethod'] = 'rtbt_sofortuberweisung';
-               $init['ffname'] = 'rtbt-sofo';
-               $init['language'] = $language;
-
-               $assertNodes = array (
-                       'fname' => array (
-                               'nodename' => 'input',
-                               'placeholder' => wfMessage( 
'donate_interface-donor-fname')->inLanguage( $language )->text(),
-                       ),
-                       'lname' => array (
-                               'nodename' => 'input',
-                               'placeholder' => wfMessage( 
'donate_interface-donor-lname')->inLanguage( $language )->text(),
-                       ),
-                       'email' => array (
-                               'nodename' => 'input',
-                               'placeholder' => wfMessage( 
'donate_interface-donor-email')->inLanguage( $language )->text(),
-                       ),
-                       'informationsharing' => array (
-                               'nodename' => 'p',
-                               'innerhtml' => wfMessage( 
'donate_interface-informationsharing', '.*' )->inLanguage( $language )->text(),
-                       ),
-                       'country' => array (
-                               'nodename' => 'select',
-                               'selected' => 'BE',
-                       ),
-               );
-
-               $this->verifyFormOutput( 'TestingGlobalCollectGateway', $init, 
$assertNodes, true );
-       }
-
-       /**
         * Make sure Canadian CC form loads in English and French
         * @dataProvider canadaLanguageProvider
         */
diff --git a/tests/Adapter/GlobalCollect/RealTimeBankTransferEnetsTest.php 
b/tests/Adapter/GlobalCollect/RealTimeBankTransferEnetsTest.php
deleted file mode 100644
index e82fd51..0000000
--- a/tests/Adapter/GlobalCollect/RealTimeBankTransferEnetsTest.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/**
- * Wikimedia Foundation
- *
- * LICENSE
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-/**
- * 
- * @group Fundraising
- * @group DonationInterface
- * @group GlobalCollect
- * @group RealTimeBankTransfer
- */
-class DonationInterface_Adapter_GlobalCollect_RealTimeBankTransferEnetsTest 
extends DonationInterfaceTestCase {
-       public function setUp() {
-               parent::setUp();
-
-               $this->setMwGlobals( array(
-                       'wgGlobalCollectGatewayEnabled' => true,
-               ) );
-       }
-
-       /**
-        * testBuildRequestXml
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXml() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_enets',
-                       'payment_product_id' => 810,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       public function testFormAction() {
-
-               $optionsForTestData = array (
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_enets',
-                       'payment_product_id' => 810,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-
-               $this->gatewayAdapter = $this->getFreshGatewayObject( $options 
);
-               $this->gatewayAdapter->do_transaction( 
"INSERT_ORDERWITHPAYMENT" );
-               $action = $this->gatewayAdapter->getTransactionDataFormAction();
-               $this->assertEquals( "url_placeholder", $action, "The 
formaction was not populated as expected (enets)." );
-       }
-
-}
-
diff --git a/tests/Adapter/GlobalCollect/RealTimeBankTransferEpsTest.php 
b/tests/Adapter/GlobalCollect/RealTimeBankTransferEpsTest.php
deleted file mode 100644
index 51ad355..0000000
--- a/tests/Adapter/GlobalCollect/RealTimeBankTransferEpsTest.php
+++ /dev/null
@@ -1,344 +0,0 @@
-<?php
-/**
- * Wikimedia Foundation
- *
- * LICENSE
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * @since              r100820
- * @author             Jeremy Postlethwaite <[email protected]>
- */
-
-/**
- * 
- * @group Fundraising
- * @group DonationInterface
- * @group GlobalCollect
- * @group RealTimeBankTransfer
- */
-class DonationInterface_Adapter_GlobalCollect_RealTimeBankTransferEpsTest 
extends DonationInterfaceTestCase {
-       public function setUp() {
-               parent::setUp();
-
-               $this->setMwGlobals( array(
-                       'wgGlobalCollectGatewayEnabled' => true,
-               ) );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId820
-        *
-        * Raifeissen: 820
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId820() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 820,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId821
-        *
-        * Volksbanken Gruppe: 821
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId821() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 821,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId822
-        *
-        * NÖ HYPO: 822
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId822() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 822,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId823
-        *
-        * Voralberger HYPO: 823
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId823() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 823,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId824
-        *
-        * Bankhaus Spängler: 824
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId824() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 824,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId825
-        *
-        * Hypo Tirol Bank: 825
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId825() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 825,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId826
-        *
-        * Erste Bank und Sparkassen: 826
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId826() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 826,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId827
-        *
-        * BAWAG: 827
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId827() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 827,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId828
-        *
-        * P.S.K.: 828
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId828() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 828,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId829
-        *
-        * Easy: 829
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId829() {
-               
-               $optionsForTestData = array(
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 829,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-
-       /**
-        * testBuildRequestXmlWithIssuerId831
-        *
-        * Sparda-Bank: 831
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXmlWithIssuerId831() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_eps',
-                       'payment_product_id' => 856,
-                       'issuer_id' => 831,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-}
-
diff --git a/tests/Adapter/GlobalCollect/RealTimeBankTransferIdealTest.php 
b/tests/Adapter/GlobalCollect/RealTimeBankTransferIdealTest.php
index d9e5d77..ffe528e 100644
--- a/tests/Adapter/GlobalCollect/RealTimeBankTransferIdealTest.php
+++ b/tests/Adapter/GlobalCollect/RealTimeBankTransferIdealTest.php
@@ -60,8 +60,8 @@
                                'value' => '1.55',
                        ),
                        'currency_code' => array (
-                               'nodename' => 'input',
-                               'value' => 'EUR',
+                               'nodename' => 'select',
+                               'selected' => 'EUR',
                        ),
                        'country' => array (
                                'nodename' => 'input',
diff --git 
a/tests/Adapter/GlobalCollect/RealTimeBankTransferNordeaSwedenTest.php 
b/tests/Adapter/GlobalCollect/RealTimeBankTransferNordeaSwedenTest.php
deleted file mode 100644
index 9497d25..0000000
--- a/tests/Adapter/GlobalCollect/RealTimeBankTransferNordeaSwedenTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/**
- * Wikimedia Foundation
- *
- * LICENSE
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * @since              r100823
- * @author             Jeremy Postlethwaite <[email protected]>
- */
-
-/**
- * 
- * @group Fundraising
- * @group DonationInterface
- * @group GlobalCollect
- * @group RealTimeBankTransfer
- */
-class 
DonationInterface_Adapter_GlobalCollect_RealTimeBankTransferNordeaSwedenTest 
extends DonationInterfaceTestCase {
-       public function setUp() {
-               parent::setUp();
-
-               $this->setMwGlobals( array(
-                       'wgGlobalCollectGatewayEnabled' => true,
-               ) );
-       }
-
-       /**
-        * testBuildRequestXml
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXml() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_nordea_sweden',
-                       'payment_product_id' => 805,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-}
-
diff --git 
a/tests/Adapter/GlobalCollect/RealTimeBankTransferSofortuberweisungTest.php 
b/tests/Adapter/GlobalCollect/RealTimeBankTransferSofortuberweisungTest.php
deleted file mode 100644
index 01d4667..0000000
--- a/tests/Adapter/GlobalCollect/RealTimeBankTransferSofortuberweisungTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/**
- * Wikimedia Foundation
- *
- * LICENSE
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * @since              r100824
- * @author             Jeremy Postlethwaite <[email protected]>
- */
-
-/**
- * 
- * @group Fundraising
- * @group DonationInterface
- * @group GlobalCollect
- * @group RealTimeBankTransfer
- */
-class 
DonationInterface_Adapter_GlobalCollect_RealTimeBankTransferSofortuberweisungTest
 extends DonationInterfaceTestCase {
-       public function setUp() {
-               parent::setUp();
-
-               $this->setMwGlobals( array(
-                       'wgGlobalCollectGatewayEnabled' => true,
-               ) );
-       }
-
-       /**
-        * testBuildRequestXml
-        *
-        * @covers GatewayAdapter::__construct
-        * @covers GatewayAdapter::setCurrentTransaction
-        * @covers GatewayAdapter::buildRequestXML
-        * @covers GatewayAdapter::getData_Unstaged_Escaped
-        */
-       public function testBuildRequestXml() {
-               
-               $optionsForTestData = array(
-                       'form_name' => 'TwoStepAmount',
-                       'payment_method' => 'rtbt',
-                       'payment_submethod' => 'rtbt_sofortuberweisung',
-                       'payment_product_id' => 836,
-               );
-
-               //somewhere else?
-               $options = $this->getDonorTestData( 'ES' );
-               $options = array_merge( $options, $optionsForTestData );
-               unset( $options['payment_product_id'] );
-
-               $this->buildRequestXmlForGlobalCollect( $optionsForTestData, 
$options );
-       }
-}
-

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia5f2dcad16674464740ee521c21d0ef87edee640
Gerrit-PatchSet: 17
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
Gerrit-Reviewer: AndyRussG <[email protected]>
Gerrit-Reviewer: Awight <[email protected]>
Gerrit-Reviewer: Cdentinger <[email protected]>
Gerrit-Reviewer: Ejegg <[email protected]>
Gerrit-Reviewer: Ssmith <[email protected]>
Gerrit-Reviewer: XenoRyet <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to