Template:2012FR/Form-section/Processing/Default: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
rename redirectPayment, add way to skip validation (for USD methods where there's no need to select an amount) |
remove paypal_ec override for Japan, it's default everywhere now |
||
(17 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
function redirectPayment (legacyPaymentMethod) { |
function redirectPayment (legacyPaymentMethod) { |
||
return undefined; |
|||
// wrapper for new function |
|||
} |
|||
// using old method parameters |
|||
// until buttons can be updated |
|||
donationForm.redirectPayment = function(paymentMethod, paymentSubMethod, skipValidation) { |
|||
switch (legacyPaymentMethod) { |
|||
case 'cc': |
|||
donationForm.redirectPayment('cc'); |
|||
break; |
|||
var form = document.paypalcontribution; // we should really change this some day |
|||
case 'paypal': |
|||
if ( skipValidation || validateForm(form) ) { |
|||
case 'ew-pp': |
|||
case 'ew-rpp': |
|||
case 'ew-pp-usd': |
|||
case 'ew-pp-eur': |
|||
donationForm.redirectPayment('paypal'); |
|||
break; |
|||
if (typeof paymentSubMethod == 'undefined') { |
|||
paymentSubMethod = ''; |
|||
} |
|||
var paymentsURL = 'https://payments.wikimedia.org/index.php/Special:GatewayFormChooser'; |
|||
form.action = paymentsURL; |
|||
donationForm.redirectPayment('rtbt', 'rtbt_ideal'); |
|||
break; |
|||
// set up inputs |
|||
form.currency_code.value = '</html>{{{currency|USD}}}<html>'; |
|||
donationForm.redirectPayment('ew', 'ew_yandex'); |
|||
break; |
|||
if (typeof paymentSubMethod == 'undefined') { |
|||
paymentSubMethod = ''; |
|||
} |
|||
// WorldPay override for cc |
|||
if( paymentMethod === 'cc-wp' ) { |
|||
donationForm.redirectPayment('amazon'); |
|||
paymentMethod = 'cc'; |
|||
form.payment_method.value = 'cc'; |
|||
form.gateway.value = 'worldpay'; |
|||
form.ffname.value = 'worldpay'; |
|||
} |
|||
// Adyen override for cc |
|||
if( paymentMethod === 'cc-adyen' ) { |
|||
donationForm.redirectPayment('obt', 'bpay'); |
|||
paymentMethod = 'cc'; |
|||
form.payment_method.value = 'cc'; |
|||
form.gateway.value = 'adyen'; |
|||
form.ffname.value = 'adyen'; |
|||
} |
|||
var frequency = $("input[name='frequency']:checked").val(); |
|||
case 'ew-wm': |
|||
if( frequency !== 'monthly' ){ |
|||
donationForm.redirectPayment('ew', 'ew_webmoney'); |
|||
frequency = 'onetime'; |
|||
form.recurring.value = 'false'; |
|||
} else { |
|||
form.recurring.value = 'true'; |
|||
} |
|||
form.payment_method.value = paymentMethod; |
|||
case 'cash-bl': |
|||
form.payment_submethod.value = paymentSubMethod; |
|||
donationForm.redirectPayment('cash', 'boleto'); |
|||
break; |
|||
donationForm.addAnalytics(); |
|||
donationForm.redirectPayment('rtbt', 'rtbt_enets'); |
|||
break; |
|||
} |
|||
var full_dotted_payment_method = paymentMethod; |
|||
} |
|||
if ( form.recurring.value == 'true' ) { |
|||
full_dotted_payment_method = 'r' + full_dotted_payment_method; |
|||
} |
|||
if ( paymentSubMethod ) { |
|||
full_dotted_payment_method = form.payment_method.value + '.' + paymentSubMethod; |
|||
} |
|||
form.utm_source.value += '.' + full_dotted_payment_method; |
|||
donationForm.redirectPayment = function(paymentMethod, paymentSubMethod, skipValidation) { |
|||
form.method = "GET"; |
|||
// 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'; |
|||
// 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(); |
form.submit(); |
||
} |
} |
||
} |
}; |
||
donationForm.addAnalytics = function() { |
donationForm.addAnalytics = function() { |
||
Line 153: | Line 108: | ||
} |
} |
||
form.utm_source.value += '.' + form.payment_method.value; |
|||
form.utm_campaign.value = getQuerystring( 'utm_campaign' ); |
form.utm_campaign.value = getQuerystring( 'utm_campaign' ); |
||
} |
}; |
||
donationForm.toggleMonthly = function(monthly) { |
donationForm.toggleMonthly = function(monthly) { |
||
Line 163: | Line 117: | ||
$('#form-wrapper').removeClass('form-monthly'); |
$('#form-wrapper').removeClass('form-monthly'); |
||
} |
} |
||
} |
}; |
||
</script> |
</script> |
||
</html> |
</html> |
Revision as of 18:19, 8 March 2018