dynamoeffects Posted September 23, 2008 Share Posted September 23, 2008 This is the support thread for the new PayPal Payflow Pro module. Any questions you have should be directed here. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
pafranklin Posted September 23, 2008 Share Posted September 23, 2008 Hi there, Â I am really sorry for the apparently "stupid" question but I am using PayPal WPP Pro, although it does still have some glitches which can affect the ability of some to complete their transactions. Â Is PayPal Payflow Pro the same as PayPal WPP Pro or something entirely different? Â Also does this work with UK based PayPal accounts? Â Many thanks!! Â Paul Quote You will never learn if you don't try. And boy am I trying....! Link to comment Share on other sites More sharing options...
dynamoeffects Posted September 24, 2008 Author Share Posted September 24, 2008 Payflow Pro is a completely separate product from WPP. WPP is an all-in-one type of product whereas Payflow Pro is just a payment gateway and requires that you already have a merchant account setup. It was previously Verisign Payflow Pro before it was purchased by PayPal a couple of years ago. Â This should work fine for UK merchants, though. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
aboyz Posted September 24, 2008 Share Posted September 24, 2008 I tried this and I'm getting this error. Old version of payflow is working fine, but I gotta use the /bin and /certs file for the payflow modules. and they says they will not support it 2009 and discontinue so I'm trying this module and its not working. any help will be appreicilate. Â errno: 2 errstr: Missing argument 5 for cc_validation::validate(), called in /home/www/includes/modules/payment/paypal_payflow_pro.php on line 115 and defined errfile: /home/www/includes/classes/cc_validation.php errline: 16 errcontext: SERVER INFO: Array ( [HTTP_HOST] => test.mydomain.com [HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5 [HTTP_ACCEPT_ENCODING] => gzip,deflate [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7 [HTTP_KEEP_ALIVE] => 300 [HTTP_CONNECTION] => keep-alive [HTTP_REFERER] => http://test.mydomain.com/checkout_confirmation.php [HTTP_COOKIE] => __utmz=31074234.1213910578.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmz=172075839.1219774548.49.3.utmcsr=test.mydomain.com|utmccn=(referral)|utmc md=referral|utmcct=/; __utma=31074234.337618847028810500.1213910578.1222295879.1222298046.185; bn_u=32575558; WT_FPC=id=24c5d458d2be5b9437d1213906977293:lv=1222295317484:ss=1222294446009; cookie_test=please_accept_for_session; __utma=172075839.2014671464289330700.1214000800.1221700877.1221772197.76; osCsid=2tg3jga5j72q7ad7ej2ku2h422; __utmc=31074234; __utmb=31074234.25.10.1222298046 [CONTENT_TYPE] => application/x-www-form-urlencoded [CONTENT_LENGTH] => 0 [PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin [sERVER_SIGNATURE] => <address>Apache/2.0.52 (Red Hat) Server at test.mydomain.com Port 80</address> Â [sERVER_SOFTWARE] => Apache/2.0.52 (Red Hat) [sERVER_NAME] => test.mydomain.com [sERVER_ADDR] => 192.168.1.212 [sERVER_PORT] => 80 [REMOTE_ADDR] => 74.7.61.2 [DOCUMENT_ROOT] => /home/www/ [sERVER_ADMIN] => root@localhost [sCRIPT_FILENAME] => /home/www/checkout_process.php [REMOTE_PORT] => 36960 [REMOTE_USER] => stage [AUTH_TYPE] => Basic [GATEWAY_INTERFACE] => CGI/1.1 [sERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => POST [QUERY_STRING] => [REQUEST_URI] => /checkout_process.php [sCRIPT_NAME] => /checkout_process.php [php_SELF] => /checkout_process.php [php_AUTH_USER] => pokgai [php_AUTH_PW] => pokgai111 [REQUEST_TIME] => 1222298919 [argv] => Array ( ) Â [argc] => 0 ) Â POST: Array ( ) Â DEBUG BACKTRACE: Array ( [0] => Array ( [file] => /home/www/includes/classes/cc_validation.php [line] => 16 [function] => mydomain_error_handler [args] => Array ( [0] => 2 [1] => Missing argument 5 for cc_validation::validate(), called in /home/www/includes/modules/payment/paypal_payflow_pro.php on line 115 and defined [2] => /home/www/includes/classes/cc_validation.php [3] => 16 [4] => Array ( [number] => [expiry_m] => [expiry_y] => [phone_number] => ) Â ) Â ) Â [1] => Array ( [file] => /home/www/includes/modules/payment/paypal_payflow_pro.php [line] => 115 [function] => validate [class] => cc_validation [object] => cc_validation Object ( [cc_type] => [cc_number] => [cc_expiry_month] => [cc_expiry_year] => [phone_number] => [cc_cvv] => ) Â [type] => -> [args] => Array ( [0] => [1] => [2] => ) Â ) Â [2] => Array ( [file] => /home/www/includes/classes/payment.php [line] => 170 [function] => before_process [class] => paypal_payflow_pro [object] => paypal_payflow_pro Object ( => paypal_payflow_pro [title] => PayPal Payflow Pro [description] => <center><b><h2>PayPal Payflow Pro for osCommerce 2.2MS2+</h2><i>Developed and maintained by:</i><br><a href="http://www.oscommerce.com/forums/index.php?showuser=80233">Brian Burton (dynamoeffects)</a></b></center> [enabled] => 1 [public_title] => Secure Credit Card [sort_order] => 0 )Â [type] => -> [args] => Array ( )Â )Â [3] => Array ( [file] => /home/www/checkout_process.php [line] => 121 [function] => before_process [class] => payment [object] => payment Object ( [modules] => Array ( [0] => paypal_payflow_pro.php )Â [selected_module] => paypal_payflow_pro )Â [type] => -> [args] => Array ( )Â )Â ) Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted September 25, 2008 Author Share Posted September 25, 2008 The problem is that you have a non-standard /includes/classes/cc_validation.php file that has five parameters instead of just three. Â Grab a stock version of that file and put it in your store and see if that fixes the problem. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
aboyz Posted September 25, 2008 Share Posted September 25, 2008 The problem is that you have a non-standard /includes/classes/cc_validation.php file that has five parameters instead of just three. Grab a stock version of that file and put it in your store and see if that fixes the problem.  Thanks!! i'll try it out!! Will update. Quote Link to comment Share on other sites More sharing options...
aboyz Posted September 25, 2008 Share Posted September 25, 2008 Thanks!! i'll try it out!! Will update.  This is my cc_validation.php  <?php /* $Id: cc_validation.php,v 1.3 2003/02/12 20:43:41 hpdl Exp $  osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com  Copyright © 2003 osCommerce  Released under the GNU General Public License */  class cc_validation { var $cc_type, $cc_number, $cc_expiry_month, $cc_expiry_year, $phone_number , $cc_cvv;  function validate($number, $expiry_m, $expiry_y, $phone_number="" , $cc_cvv ) {  $this->cc_number = ereg_replace('[^0-9]', '', $number);  if (ereg('^4[0-9]{12}([0-9]{3})?$', $this->cc_number)) { $this->cc_type = 'Visa'; } elseif (ereg('^5[1-5][0-9]{14}$', $this->cc_number)) { $this->cc_type = 'Master Card'; } elseif (ereg('^3[47][0-9]{13}$', $this->cc_number)) { $this->cc_type = 'American Express'; } elseif (ereg('^3(0[0-5]|[68][0-9])[0-9]{11}$', $this->cc_number)) { $this->cc_type = 'Diners Club'; } elseif (ereg('^6011[0-9]{12}$', $this->cc_number)) { $this->cc_type = 'Discover'; } elseif (ereg('^(3[0-9]{4}|2131|1800)[0-9]{11}$', $this->cc_number)) { $this->cc_type = 'JCB'; } elseif (ereg('^5610[0-9]{12}$', $this->cc_number)) { $this->cc_type = 'Australian BankCard'; }  else { return -1; }  if ( is_numeric($expiry_m) && ($expiry_m > 0) && ($expiry_m < 13) ) { $this->cc_expiry_month = $expiry_m; } else { return -2; }  if( strlen( $cc_cvv ) == 3 || strlen( $cc_cvv ) == 4 && is_numeric( $cc_cvv ) ){ $this->cc_cvv = $cc_cvv; } else{ return -6; }   $current_year = date('Y'); $expiry_y = substr($current_year, 0, 2) . $expiry_y; if (is_numeric($expiry_y) && ($expiry_y >= $current_year) && ($expiry_y <= ($current_year + 10))) { $this->cc_expiry_year = $expiry_y; } else { return -3; }  if ($expiry_y == $current_year) { if ($expiry_m < date('n')) { return -4; } }  $phone = str_replace("-", "", $phone_number);  if (strlen($phone)==10) $this->phone_number = $phone; else return -5;  return $this->is_valid(); }  function is_valid() { $cardNumber = strrev($this->cc_number);  $numSum = 0;   for ($i=0; $i<strlen($cardNumber); $i++) { $currentNum = substr($cardNumber, $i, 1);  // Double every second digit if ($i % 2 == 1) { $currentNum *= 2; }  // Add digits of 2-digit numbers together if ($currentNum > 9) { $firstNum = $currentNum % 10; $secondNum = ($currentNum - $firstNum) / 10; $currentNum = $firstNum + $secondNum; }  $numSum += $currentNum; }  // If the total has no remainder it's OK return ($numSum % 10 == 0); } } ?>   Only differnet is i added the phone number for validation  anyway to fix this? without chaning the cc_validation.? Quote Link to comment Share on other sites More sharing options...
ken0306 Posted September 25, 2008 Share Posted September 25, 2008 Hi, I install the module on my current site, when I trying enter a wrong CC #, it doesn't really show me any message, it just go back to the CC enter page. So, what can be the problem? thank you ken Quote Link to comment Share on other sites More sharing options...
aboyz Posted September 26, 2008 Share Posted September 26, 2008 Hi, I install the module on my current site, when I trying enter a wrong CC #, it doesn't really show me any message, it just go back to the CC enter page. So, what can be the problem?thank you ken  Ken wei,  I'm having the same issues, Test is working fine, but everything i set it to live mode, and test it with a real credit card, it always say that the credit card is invalid, please check your card . Can someone help me? I'm still using the OLD SDK which will expire sept 2009. Can someone help me?  I signed up with a new payflow and the login i use is pilot-payflowpro.paypal.com = testing payflowpro.paypal.com = live Quote Link to comment Share on other sites More sharing options...
desrog Posted September 26, 2008 Share Posted September 26, 2008 Thanks for the great contribution. The exact day I am having problems with the old Payflow Pro module, I see you have posted this new module. I installed and everything is working great, except one minor detail. When I test it with a bad credit card number, it sends me back to the checkout_payment.php WITHOUT ANY ERRORS. In the URL it says  .../checkout_payment.php?payment_error=paypal_payflow_pro&error=Your+transaction+was+declined.  But no errors are shown on the page. Also, the information, (bad credit card number), I typed in does not return either -- the fields are blank.  I am a PHP newbie, so I don't know where the problem is coming from. Please help.  Thank you! Quote Link to comment Share on other sites More sharing options...
Guest Posted September 30, 2008 Share Posted September 30, 2008 Hi Brian, I have downloaded and installed the latest version of this contribution. And I have a couple of issues. Â 1. Error messages just appear in the URL 2. The URL gives me an error and returns me back to the payment options screen, but the tranaction is approved and money changes hands. This happens in both test and Live scenarios. Â checkout_payment.php?payment_error=paypal_payflow_pro&error=Your+billing+%28cvv2%29+information+does+not+match.+Please+re-enter. Quote Link to comment Share on other sites More sharing options...
Guest Posted September 30, 2008 Share Posted September 30, 2008 (edited) checkout_payment.php?payment_error=paypal_payflow_pro&error=Your+billing+%28cvv2%29+information+does+not+match.+Please+re-enter.   in PayPal_Payflow_pro.php line 278 I have changed  $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode(stripslashes(MODULE_PAYMENT_PAYPAL_PAYFLOW_PRO_TEXT_ERROR_BAD_RESPONSE ));  to  $payment_error_return = 'error_message=' . $this->code . '&error=' . urlencode(stripslashes(MODULE_PAYMENT_PAYPAL_PAYFLOW_PRO_TEXT_ERROR_BAD_RESPONSE ));   similar change on line to 342.  This resolves the issue for me with regards to no error message. Edited September 30, 2008 by pbcharlie Quote Link to comment Share on other sites More sharing options...
Guest Posted September 30, 2008 Share Posted September 30, 2008 I know have it installed and accepting payments. Â Where I was going wrong, was the billing address and also it does not seem to accept live cards during test. The Live Cards during test were being processed but the cart was not seing that and displaying an error. Â hope this helps. Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted October 2, 2008 Author Share Posted October 2, 2008 Very strange, I'll look into the issues as soon as I can. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
desrog Posted October 6, 2008 Share Posted October 6, 2008 I have been using this module for about 1 week and have found a problem with Amex credit card processing. Â American Express credit cards are being processed and CHARGED, but customer is being sent back to the checkout_payment.php screen with a credit card error and we are not receiving an order. This is resulting in customer trying to order multiple times, we receive the money multiple times, but customer does not know, and we don't know, since we never get an order in OSC. Â I have had to refund all the AMEX transactions and remove the Amex logo, showing we only accept Visa and MC. Â All Visa and MC transactions are working perfectly. I need some help to know what could be going wrong here, if it is not the module itself. Quote Link to comment Share on other sites More sharing options...
desrog Posted October 7, 2008 Share Posted October 7, 2008 Brian, Â Here is some more information about the Amex problem. Â This is actually more of a verification of cc information problem. It seems that the CVV2 field does not work for amex 4 digit confirmation numbers, the response in the PayPal Manager always shows an X meaning it is incorrect, this makes the module respond with an error and send back to the checkout_payment.php, and customer thinks it was denied, when actually it approved the charge. Â When using any other credit card, if you have an incorrect zip code, the same thing happens-- makes the module respond with an error and send back to the checkout_payment.php, and customer thinks it was denied, when actually it approved the charge. (Note: The CVV2 field works with the 3 digit confirmation numbers with these cards, they do show up in PayPal Manager with a Y meaning they matched.) Â I hope this helps figure out where the problem lies, and prove to be a quick fix. I've looked at the code and have no idea. Â Thanks, Â Rory Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted October 14, 2008 Author Share Posted October 14, 2008 I have uploaded a new version of the module that fixes the error message issue. pbcharlie's fix wasn't exactly right, but it was close. Â However the AMEX issue is still a mystery. It works fine in the sandbox, so the live server could be sending back something unexpected. An "X" actually means that it didn't receive a response as to whether the CVV2 code is correct or not. Â What I will need you to do is to open the paypal_payflow_pro.php file and find this line: $result = strstr($result, "RESULT"); Â Right above that line, add this: die($paypal_query . "\n\n" . $result); Â Then test a transaction using an AMEX card with a 4-digit CVV2 code. You will get a page of output. What I need you to do is to confirm that all of the information being sent looks correct and send me the response that you receive, which is the bottom part. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
ls129 Posted October 17, 2008 Share Posted October 17, 2008 I installed and made 2 live transactions. (I have a UK paypal merchant account)  Transaction1: provided a real mastercard number with right CVV2 but wrong name, address, post code, country. Result1: Error message saying the postcode (zip) was bad. Hoever, the money was collected from the card and is listed in paypal history.  Transaction2: provided a real mastercard number with right CVV2 and right zip postcode but wrong name, address and country Result2: Got to the "success" page but the transaction is not listed in the paypal history    3 bad things about this:  1) In case of Transaction1 the user would give his card again resulting in 2 payments  2) a criminal who stole the card number and CVV can basically type in any arbitrary name, zip, country and paypal would authorize the card?!  3) someone who completed a transaction would get a false positive result that all went well when actually paypal will not have taken money from his card Quote *Do not advertise in your signature Link to comment Share on other sites More sharing options...
dynamoeffects Posted October 17, 2008 Author Share Posted October 17, 2008 Very strange, again I would have to see the transactions to know what's going on. If you can add the code I posted above to your module and then send me the transaction (minus any personal data), I would appreciate it. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
ls129 Posted October 17, 2008 Share Posted October 17, 2008 (edited) Very strange, again I would have to see the transactions to know what's going on. If you can add the code I posted above to your module and then send me the transaction (minus any personal data), I would appreciate it. USER[9]=secret1&VENDOR[9]=secret2&PARTNER[8]=PayPalUK&PWD[9]=secret3&TENDER[1]=C&TRXTYPE[1]=S&ACCT[16]=5473xxxxxxxxxx53&CVV2[3]=999&EXPDATE[4]=0111&FREIGHTAMT[4]=2.27&TAXAMT[4]=0.52&AMT[4]=3.49&CURRENCY[3]=GBP&FIRSTNAME[2]=Jo&LASTNAME[4]=Blow&STREET[12]=12 my street&CITY[6]=Slough&STATE[0]=&ZIP[6]=w3 e89&COUNTRY[3]=GBR&SHIPTOFIRSTNAME[2]=Jo&SHIPTOLASTNAME[4]=Blow&SHIPTOSTREET[12]=12 my street&SHIPTOCITY[6]=Slough&SHIPTOSTATE[0]=&SHIPTOZIP[6]=w3 e89&EMAIL[20][email protected]&CUSTIP[13]=82.155.211.76&COMMENT1[0]=&INVNUM[0]=&ORDERDESC[0]=&VERBOSITY[6]=MEDIUM HTTP/1.1 200 OK Connection: close Server: VPS-3.033.00 Date: Fri, 17 Oct 2008 12:12:54 GMT Content-type: text/namevalue Content-length: 171 RESULT=0&PNREF=EUJP2ED45F59&RESPMSG=Approved&AUTHCODE=111111&AVSADDR=N&AVSZIP=N&CVV2MATCH=Y&PPREF=2L3394479U647950P&CORRELATIONID=eb817159e5631&PROCAVS=N&PROCCVV2=M&IAVS=N Â Â the transaction went through and is listed on paypal history. the postcode, country, and name are all wrong (Jo Blow from 12 my street in Slough UK). I would expect this transaction to fail! Edited October 17, 2008 by ls129 Quote *Do not advertise in your signature Link to comment Share on other sites More sharing options...
ls129 Posted October 17, 2008 Share Posted October 17, 2008 Hi Brian, Â I would really love to have this thing working because i'm at my wits end with the 10001 errors i've started getting recently with the paypal API 2.0 interface (i posted about this in your paypal pro uk contribution thread) Â Â I looked at your code a bit and had some questions/comments: Â 1) is is possible to add the INVNUM in the request? it would help a lot in tax reports to have the oscommerce transaction id as the invoice number recorded with paypal history logs. Â 2) what is this mystery variable $fraud ? where is it set ? Â 3) why do you copy the credit-card number and details in $order ? where does this information end up and is that secure ? Â 4) can all the returned codes be stored in the transaction history so that I can later cancel the transaction if it was "approved" although none of the fields match ? Â thanks for your great contributions! Quote *Do not advertise in your signature Link to comment Share on other sites More sharing options...
dynamoeffects Posted October 17, 2008 Author Share Posted October 17, 2008 The response from PayPal was that it was approved, which means the module is working exactly as it should. That is it's not misunderstanding a "Failure" response. Â I would suggest going into your PayPal account and modifying the risk controls. That will allow you to instruct the module to reject certain transactions if specific information is missing or incorrect. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
themiadude Posted October 17, 2008 Share Posted October 17, 2008 I am having the same problem. When logging into the PayPal Manager for Payflow pro, I dont see anything about risk controls besides: Maximum Amount per Transaction: Maximum Amount for Credits: Allow Non-referenced Credits: Yes No Credits may exceed original transaction amount: Yes No Allow reference transactions: Yes No  and that is under manage security.  Please advise Quote Link to comment Share on other sites More sharing options...
dynamoeffects Posted October 17, 2008 Author Share Posted October 17, 2008 No, your paypal account at www.paypal.com. There's a Risk Controls page under your profile. Quote Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail. Link to comment Share on other sites More sharing options...
ls129 Posted October 17, 2008 Share Posted October 17, 2008 There doesn't seem to be Risk-Controls or Fraud-Management-Filters in my account! see this link for paypal's dubious for-a-fee risk control merchant tools: http://www.paypaldeveloper.com/pdn/board/m...;thread.id=7277 Â Found a small error in the module.. the following string doesnt exist in the english strings file: MODULE_PAYMENT_PAYPAL_PAYFLOW_PRO_TEXT_ERROR_INCORRECT_BILLING_STREET Â Also, there should be a way to choose between TRXTYPE = S or A due to the over permissive payflow gateway (without the risk-control policy option etc.). this way the card can be authorized pending manual approval. Quote *Do not advertise in your signature Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.