This is a post concerning the bundled Paypal Payment Pro method that is only used in the USA & UK and needs a Paypal Business account
It renders a credit card form in the checkout, the client doesn't leave the site - in fact they don't even know they are paying by paypal unless u label it
I just post here what I found before the client bailed out
Problems so far are:
1. cc number validation script vmcreditcard.js doesn't load
2. when fixed(loaded) the script is faulty and validates nothing - last updated 2012
3. when e.g. Paypal rejects the submit because of e.g. wrong cc number there is no way to get the Confirm button back - remains on Check Out Now
4. in sandbox all cc numbers are auto loaded- ALL auto loaded numbers are WRONG as are the texts and just generate a generic Paypal error that u would never suspect is because the numbers are wrong
5. There is no pay by Paypal buttons or routine: only CC fields
6. In the standard VM checkout it is almost impossible to get the form to show (with ajax, opc etc settings) - if u do then the form doesn't show when rejected by Paypal for e.g. wrong number - only the name shows with no form
1.
change in plugins\vmpayment\paypal\paypal\tmpl\creditcardform.php
JHTML::script('vmcreditcard.js', 'components/com_virtuemart/assets/js/', false);
to
vmJsApi::addJScript('/components/com_virtuemart/assets/js/vmcreditcard.js');
vmJsApi could be added in other parts of the plugin
2. there are updated versions here: http://www.braemoor.co.uk/software/creditcard.shtml
3. up to now found no fix apart from configuring a 2nd payment method to force the choice again so you can access the form again
4. VMPAYMENT_PAYPAL_CC_SANDBOX_INFO contains the wrong cc numbers - if used the return shows a generic error with no mention that the number is incorrect
the correct are:
VMPAYMENT_PAYPAL_CC_SANDBOX_INFO="You are using the sandbox Mode. You can use these Credit Cards Test Numbers<br />Visa: 4111111111111111 / Amex: 378282246310005 / MasterCard: 5555555555554444 / Discover: 6011111111111117"
the auto loaded numbers are also incorrect
in plugins\vmpayment\paypal\paypal\assets\js\site.js
jQuery().ready(function($) {
$('.cc_type_sandbox').change(function() {
var pmid = $(this).attr('rel');
var cc_type = $('#cc_type_'+pmid).val();
switch (cc_type) {
case 'Visa':
$('#cc_number_'+pmid).val('4111111111111111');
$('#cc_cvv_'+pmid).val('123');
break;
case 'Mastercard':
$('#cc_number_'+pmid).val('65555555555554444');
$('#cc_cvv_'+pmid).val('123');
break;
case 'Amex':
$('#cc_number_'+pmid).val('378282246310005');
$('#cc_cvv_'+pmid).val('1234');
break;
case 'Discover':
$('#cc_number_'+pmid).val('6011111111111117');
$('#cc_cvv_'+pmid).val('123');
break;
case 'Maestro':
$('#cc_number_'+pmid).val('6763318282526706');
$('#cc_cvv_'+pmid).val('123');
break;
default:
$('#cc_number_'+pmid).val('');
$('#cc_cvv_'+pmid).val('');
}
});
the old numbers may be used in non US countries????
5. you could config the standard Paypal method as well but in the Paypal Payment Pro they definitely show/state that the paypal button should also be part of the credit card form
6. appears to be a combination of the OPC scripts etc .. it will show if a 2nd payment method is configged and a choice is forced
the return is the most problematic ( with the above changes all is working except of course the validation) - as the client is stuck at this point
with correct numbers the payment goes thru, the order is confirmed and Paypal is happy
i think that old vmcreditcard.js, was simply a convertion from vm1.1 with some little fixes to do it work, if i remember me.
But i never pay when i don't get redirect to a payment gateway, it's really strange that so many user pay, with such unsecured page(you never know the shop owner) that can save the credit cart number in a database or can be hacked at any time. But this is another problem
QuoteBut i never pay when i don't get redirect to a payment gateway, it's really strange that so many user pay, with such unsecured page(you never know the shop owner) that can save the credit cart number in a database or can be hacked at any time. But this is another problem
Can only agree.. why would I trust to enter my credit card details into a site I know nothing about.. he doesn't even state who the card or bank processor is.. :-\
but shoppers in the US seem very blasé about payment security and the site owner is convinced this is the way to go
BTW - ended up with the commercial plugin which works but interestingly fails on all the Paypal Sandbox CC numbers that Paypal supply..
but works on the a test number supplied by the developer.. hmmmm ... awaiting the clients real api data so I can test on live cards..
Developer confirmed that the published test card numbers do not work with Paypal Payment Pro. He gets his from within the developers site..