Template:2012FR/Form-section/Processing/Default: Difference between revisions

From Donate
Jump to navigation Jump to search
Content deleted Content added
No edit summary
note why this is kept
 
(36 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- Merged to MediaWiki:DonationForm.js. Kept this page for the history. -->
<html>
<style>
/* temporary to indicate this is the beta code. REMOVE when in production use */
#donate-form-wrapper {
background: #ffff00 !important;
}
</style>
<script>
function redirectPayment (legacyPaymentMethod) {
// wrapper for redirectPayment2()
// using old method parameters
// until buttons can be updated

switch (legacyPaymentMethod) {
case 'cc':
redirectPayment2('cc');
break;

case 'paypal':
case 'pp':
case 'ew-pp':
case 'ew-rpp':
case 'ew-pp-usd':
case 'ew-pp-eur':
redirectPayment2('paypal');
break;

case 'dd':
redirectPayment2('dd');
break;

case 'rtbt-id':
redirectPayment2('rtbt', 'rtbt_ideal');
break;

case 'ew-yd':
redirectPayment2('ew', 'ew_yandex');
break;

case 'rtbt-sf':
redirectPayment2('rtbt', 'rtbt_sofortuberweisung');
break;

case 'ew-amazon':
redirectPayment2('amazon');
break;

case 'obt-bp':
redirectPayment2('obt', 'bpay');
break;

case 'ew-wm':
redirectPayment2('ew', 'ew_webmoney');
break;

case 'cash-bl':
redirectPayment2('cash', 'boleto');
break;

case 'rtbt-en':
redirectPayment2('rtbt', 'rtbt_enets');
break;
}

}

function redirectPayment2(paymentMethod, paymentSubMethod) {

// set up inputs
document.getElementsByName("currency_code")[0].value = '</html>{{{currency|USD}}}<html>';

if (typeof paymentSubMethod == 'undefined') {
paymentSubMethod = '';
}
var form = document.paypalcontribution; // we should really change this some day
var paymentsURL = 'https://payments.wikimedia.org/index.php/Special:GatewayFormChooser';
var params = {
'uselang' : $("input[name='language']").val(),
'language' : $("input[name='language']").val(),
'currency' : $("input[name='currency_code']").val(),
'country' : $("input[name='country']").val(),
'paymentmethod' : paymentMethod
};
if( paymentSubMethod != '' ){
params['submethod'] = paymentSubMethod;
}
// Testing for Adyen
if( paymentMethod === 'adyen-cc' ) {
paymentMethod = 'cc';
params.paymentmethod = 'cc';
params.gateway = 'adyen';
}
var frequency = $("input[name='frequency']:checked").val();
if( frequency !== 'monthly' ){
frequency = 'onetime';
} else {
params['recurring'] = 'true';
// the following is only for contribution_tracking, do not submit 'r' to payments
paymentMethod = 'r' + paymentMethod;
}
form.action = paymentsURL + '?' + $.param(params);
form.payment_method.value = paymentMethod;
if( paymentSubMethod != '' ){
form.payment_method.value = form.payment_method.value + '.' + paymentSubMethod;
}

addAnalytics();
if (validateForm(form)) {
form.method = "POST";
form.submit();
}
}

function addAnalytics () {
// stuffs parameters into utm_source to make them available for analytics

var form = document.paypalcontribution;

form.utm_source.value = getQuerystring( 'utm_source' ) + '.';

if(getQuerystring( 'template' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'template' ).replace("Lp-layout-","") + '~';
}

if(getQuerystring( 'appeal-template' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'appeal-template' ).replace("Appeal-template-","") + '~';
}

if(getQuerystring( 'appeal' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'appeal' ).replace("Appeal-","") + '~';
}

if(getQuerystring( 'form-template' ) == '') {
form.utm_source.value += 'default' + '~';
} else {
form.utm_source.value += getQuerystring( 'form-template' ).replace("Form-template-","") + '~';
}

if(getQuerystring( 'form-countryspecific' ) == '') {
form.utm_source.value += 'control';
} else {
form.utm_source.value += getQuerystring( 'form-countryspecific' ).replace("Form-countryspecific-","");
}

form.utm_source.value += '.' + form.payment_method.value;
form.utm_campaign.value = getQuerystring( 'utm_campaign' );
}
</script>
</html>

Latest revision as of 13:04, 2 April 2019