Guest Posted October 25, 2005 Share Posted October 25, 2005 Hi Guys Got a little glitch with paymate When someone buys a product transferred to paymate and pays all go es through ok. Order has gone thorugh and gets processed by paymate order also goes into shop orders on pending. But when purchaser presses continue at paymate site they come back to the confirmed.php page saying sorry your order has failed try again. Even though it was successfull. and doesnt empty there cart For a short term fix I have changed wording in failed confirmed. Any ideas would be great Quote Link to comment Share on other sites More sharing options...
Guest estelle Posted October 26, 2005 Share Posted October 26, 2005 This same problem has been observed with PayPal. I think your little change was a good idea. You could optionally add more, e.g. "If you have had problems completing payment, please contact a member of staff". Or, "If you have successfully completed payment your order will be shipped at the first possible opportunity". Quote Link to comment Share on other sites More sharing options...
Guest Posted October 27, 2005 Share Posted October 27, 2005 Thanks ANyone esle has this problem and anyone know a fix for it Quote Link to comment Share on other sites More sharing options...
Guest ArmenSoft Posted November 18, 2005 Share Posted November 18, 2005 Hi, I had the same issue and after checking the paymate responses` PA=Payment Accepted PP=Payment in Process PD=Payment Declined Paymate module in CC3 only checks for PA, else it fails. So if a person makes a payment using Direct Debit, rather than Credit Card, the response will be FALSE. Just changed this code to make it work in MODULES/GATEWAY/PAYMATE/TRANSFER.INC.PHP function success(){ global $basket; if( ($_POST['ref'] == $basket['cart_order_id']) && ($_POST['responseCode']=="PA") || ($_POST['responseCode']=="PP") ) { return TRUE; } else { return FALSE; } } Regards ArmenSoft http://www.armensoft.com.au Quote Link to comment Share on other sites More sharing options...
Guest estelle Posted November 18, 2005 Share Posted November 18, 2005 But if someone pays with debit card, don't you want to wait until the money hits your account before setting the status to Processing (which reduces stock levels and/or emails download links) Quote Link to comment Share on other sites More sharing options...
Guest ArmenSoft Posted November 18, 2005 Share Posted November 18, 2005 Hi, Yes, that's true. It all depends what you are selling. If they are downloads, then this approuch may not work. If they are products, obviously you don't send the items until you receive the money, if it is declined, cancelling the order would re-stock (not sure of re-stock, need to check). If payment is "in process", then PASS is a better response than FAIL, because "in process" means initial checks are ok. Better to let the customer know that it will be ok, than confuse them with failed message. I guess re-wording the failed message is better on top. The idea is to make the customer feel as comfortable as possible, specially if they are shopping on your web site for the first time. By no means this was a better solution, but an alternative. It works for me. Regards ArmenSoft http://www.armensoft.com.au Quote Link to comment Share on other sites More sharing options...
Guest estelle Posted November 18, 2005 Share Posted November 18, 2005 I agree that in your case this solution works perfectly I don't believe CubeCart does re-stock if you change the status to Cancelled, but I'm not sure. Quote Link to comment Share on other sites More sharing options...
Guest eltazaar Posted March 23, 2007 Share Posted March 23, 2007 Hi I tried this fix but it is still not working. Here is teh code <?php /* +-------------------------------------------------------------------------- | CubeCart v3.0.15 | ======================================== | by Alistair Brookbanks | CubeCart is a Trade Mark of Devellion Limited | Copyright Devellion Limited 2005 - 2006. All rights reserved. | Devellion Limited, | 22 Thomas Heskin Court, | Station Road, | Bishops Stortford, | HERTFORDSHIRE. | CM23 3EE | UNITED KINGDOM | http://www.devellion.com | UK Private Limited Company No. 5323904 | ======================================== | Web: http://www.cubecart.com | Date: Thursday, 4th January 2007 | Email: sales (at) cubecart (dot) com | License Type: CubeCart is NOT Open Source Software and Limitations Apply | Licence Info: http://www.cubecart.com/site/faq/license.php +-------------------------------------------------------------------------- | transfer.php | ======================================== | Core functions for the PayMate Gateway +-------------------------------------------------------------------------- */ /* ////////////////////////// // PAYMATE GATEWAY ////////////////////////// // L@@K AT ALL THE LOVELY // VARIABLES WE HAVE TO // PLAY WITH!! ////// ////////////////////////// // IN THE REPEATED REGION ////// $orderInv['productId'] - product id as an integer $orderInv['name'] - product name as a varchar $orderInv['price'] - price of each product (inc options) $orderInv['quantity'] - quantity of products as an integer $orderInv['product_options'] - products attributes as test $orderInv['productCode'] - product code as a varchar $i - This is the current incremented integer starting at 0 ///////////////////////// // FIXED VARS /////// $cart_order_id - cart order id as a varchar $ccUserData[0]['email'] - Customers email address $ccUserData[0]['title'] - Customers title (Mr Miss etc...) $ccUserData[0]['firstName'] - Customers first name $ccUserData[0]['lastName'] - Customers last name $ccUserData[0]['add_1'] - Invoice Address line 1 $ccUserData[0]['add_2'] - Invoice Address line 1 $ccUserData[0]['town'] - Invoice Town or city $ccUserData[0]['county'] - Invoice County or state $ccUserData[0]['postcode'] - Invoice Post/Zip Code $ccUserData[0]['country'] - Invoice country Id we can look up the country name like this countryName($ccUserData[0]['country']); $ccUserData[0]['phone'] - Contact phone no $ccUserData[0]['mobile'] - Mobile/Cell phone number $basket['delInf']['title'] - Delivery title (Mr Miss etc...) $basket['delInf']['firstName'] - Delivery customers first name $basket['delInf']['lastName'] - Delivery customers last name $basket['delInf']['add_1'] - Delivery Address line 1 $basket['delInf']['add_2'] - Delivery Address line 1 $basket['delInf']['town'] - Delivery Town or city $basket['delInf']['county'] - Delivery County or state $basket['delInf']['postcode'] - Delivery Post/Zip Code $basket['delInf']['country'] - Delivery country Id we can look up the country name like this countryName($basket['delInf']['country']); $basket['subTotal'] - Order Subtotal (exTax and Shipping) $basket['grandTotal'] - Basket total which has to be paid (inc Tax and Shipping). $basket['tax'] - Total tax to pay $basket['shipCost'] - Shipping price //////////////////////////////////////////////////////// */ $module = fetchDbConfig("paymate"); function repeatVars(){ return FALSE; } function fixedVars(){ global $module, $basket, $ccUserData, $cart_order_id, $config, $GLOBALS; $hiddenVars = "<input type='hidden' name='mid' value='".$module['email']."' /> <input type='hidden' name='amt' value='".$basket['grandTotal']."' /> <input type='hidden' name='currency' value='".$config['defaultCurrency']."' /> <input type='hidden' name='ref' value='".$cart_order_id."' /> <input type='hidden' name='pmt_sender_email' value='".$ccUserData[0]['email']."' /> <input type='hidden' name='pmt_contact_firstname' value='".$ccUserData[0]['firstName']."' /> <input type='hidden' name='pmt_contact_surname' value='".$ccUserData[0]['lastName']."' /> <input type='hidden' name='pmt_contact_phone' value='".$ccUserData[0]['phone']."' /> <input type='hidden' name='regindi_address1' value='".$ccUserData[0]['add_1']."' /> <input type='hidden' name='regindi_address2' value='".$ccUserData[0]['add_2']."' /> <input type='hidden' name='regindi_sub' value='".$ccUserData[0]['town']."' /> <input type='hidden' name='regindi_pcode' value='".$ccUserData[0]['postcode']."' /> <input type='hidden' name='return' value='".$GLOBALS['storeURL']."/confirmed.php?act=conf' /> <input type='hidden' name='popup' value='0' />"; return $hiddenVars; } function success(){ global $basket; if( ($_POST['ref'] == $basket['cart_order_id']) && ($_POST['responseCode']=="PA") || ($_POST['responseCode']=="PP") ) { return TRUE; } else { return FALSE; } } /////////////////////////// // Other Vars //////// $formAction = "https://www.paymate.co.nz/PayMate/GenExpressPayment"; $formMethod = "post"; $formTarget = "_self"; $transfer = "auto"; $stateUpdate = TRUE; ?> Quote 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.