Template:2012FR/Form-section/Processing/Default: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
allow an override for worldpay |
note why this is kept |
||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<!-- Merged to MediaWiki:DonationForm.js. Kept this page for the history. --> |
|||
<html> |
|||
<script> |
|||
var donationForm = {}; |
|||
function redirectPayment (legacyPaymentMethod) { |
|||
return undefined; |
|||
} |
|||
donationForm.redirectPayment = function(paymentMethod, paymentSubMethod, skipValidation) { |
|||
// 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_code' : $("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'; |
|||
} |
|||
// Worldpay |
|||
if( paymentMethod === 'cc-wp' ) { |
|||
paymentMethod = 'cc'; |
|||
params.paymentmethod = 'cc'; |
|||
params.gateway = 'worldpay'; |
|||
params.ffname = 'worldpay'; |
|||
} |
|||
var frequency = $("input[name='frequency']:checked").val(); |
|||
if( frequency !== 'monthly' ){ |
|||
frequency = 'onetime'; |
|||
// commented out below as it breaks eNETS for some reason |
|||
// params['recurring'] = 'false'; |
|||
} else { |
|||
params['recurring'] = 'true'; |
|||
// the following causes tons of errors. Don't. |
|||
// paymentMethod = 'r' + paymentMethod; |
|||
} |
|||
form.action = paymentsURL + '?' + $.param(params); |
|||
form.payment_method.value = paymentMethod; |
|||
if( paymentSubMethod != '' ){ |
|||
form.payment_method.value = form.payment_method.value + '.' + paymentSubMethod; |
|||
} |
|||
donationForm.addAnalytics(); |
|||
if (validateForm(form) || skipValidation) { |
|||
form.method = "POST"; |
|||
form.submit(); |
|||
} |
|||
} |
|||
donationForm.addAnalytics = function() { |
|||
// 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' ); |
|||
} |
|||
donationForm.toggleMonthly = function(monthly) { |
|||
if (monthly) { |
|||
$('#form-wrapper').addClass('form-monthly'); |
|||
} else { |
|||
$('#form-wrapper').removeClass('form-monthly'); |
|||
} |
|||
} |
|||
</script> |
|||
</html> |