-
Content count
314 -
Joined
-
Last visited
-
Days Won
2
Everything posted by Supertex
-
Well...thought it worked, but it was sending the email for every transaction. Did a little digging, and it appears that strcasecmp returns zero or non-zero, rather than true of false. This made it work, as far as I can tell: if ((strcasecmp($blacklisted['entry_street_address'], $order->delivery['street_address'])== 0) && (strcasecmp($blacklisted['entry_suburb'], $order->delivery['suburb'])== 0) && (strcasecmp($blacklisted['entry_city'], $order->delivery['city'])== 0) && (strcasecmp($blacklisted['entry_postcode'], $order->delivery['postcode'])== 0) && (strcasecmp($blacklisted['entry_state'], $order->delivery['state'])== 0)) {
-
That seems to have broken it. Im seeing this in the error log: [26-Mar-2022 20:53:45 America/Chicago] PHP Warning: strcasecmp() expects exactly 2 parameters, 1 given in /home/public_html/checkout_process.php on line 363 Edit: NVM...found it. There was a period between the street address comparisons...I just copy/pasted from your post. It works
-
BTW...I assume it wouldn't be too complicated to add some code in the create_account.php that would look for name, phone, and make that same comparison on address book entries?
-
Thanks Jack. We do appreciate ya, sir.
-
Hi Jack, Recently had an issue where a banned customer came back and created a new account with a different email (he'd made no attempt to login with his original email recently), and used the same address as he'd used before. Originally though, his city entry used all caps. When he created the new account, only the first letter of the city was cap'd, so his street address was not 'strictly' the same. There was no email sent to notify that an order on the new account had occurred. Am I correct in assuming the difference in caps usage is why? I noticed this in the code of checkout_process.php: $blacklisted['entry_street_address'] === $order->delivery['street_address'] Would changing the "===" to "==" solve the issue, or would the address string require 'scrubbing' or normalization before comparison? Please forgive my ignorance, I know just enough to be dangerous, heh.
-
Lost session variable - should I be doing something different?
Supertex posted a topic in General Support
So the fedex web services module that's available in the addons section will pull quotes, but most of the other features don't work...specifically insurance. Soooo...I tried to a cart value check and add the appropriate fees to the shipping method from within the module. I couldn't get that to work. But what I could (and did) do was calculate the appropriate fees in shopping_cart.php, and put that into a session variable: //set insurance figures for fedex shipping methods $pkg_val = $cart->show_total(); if ($pkg_val <= 100){ $insurancemarkup = 0; }else if (($pkg_val > 100)&&($pkg_val <= 300)){ $insurancemarkup = 3; }else if ($pkg_val > 300){ $insurancemarkup = (ceil($pkg_val/100)); } tep_session_register ('insurancemarkup'); Then I did this in the fedexwebservices.php file itself: function quote($method = '') { /* FedEx integration starts */ global $shipping_weight, $shipping_num_boxes, $cart, $order, $insurancemarkup; And and then this also: $methods[] = array('id' => str_replace('_', '', $rateReply->ServiceType), 'title' => ucwords(strtolower(str_replace(array('_', ' HOME', 'DELIVERY'), array(' ', '', ''), $rateReply->ServiceType))) . ' <font color="orange">(signature may be required)</font>', 'cost' => $insurancemarkup + $cost + (strpos($this->types[$rateReply->ServiceType]['handling_fee'], '%') ? ($cost * (float)$this->types[$rateReply->ServiceType]['handling_fee'] / 100) : (float)$this->types[$rateReply->ServiceType]['handling_fee'])); This works fine...most of the time. However, someone will occasionally manage to place an order and have $insurancemarkup as zero. Handling fees are correctly calculated, prices are coming back correctly...it just doesn't add the insurance. I don't know if they're creating a cart from work and then coming home to actually place the order, or...? Again...this is a rare occurrence but it can really cause problems; especially when I cannot replicate the error. Is there a way to successfully make the calculations from within the module? Have I gone about this in a foolish manner? Thoughts? -
Lost session variable - should I be doing something different?
Supertex replied to Supertex's topic in General Support
@kymation -
Square Payments Plugin for osCommerce
Supertex replied to shichemt's topic in General Add-Ons Support
BTW...what protection do I as a merchant have if someone uses a stolen card here? If someone has a stolen card, all they need is a zip code and this transaction will pass, yes? Nothing authenticating a card's zip code with a site user's payment address? So no protection from charge back... or am I missing something? -
[Contribution] Quantity Discounts by That Software Guy
Supertex replied to swguy's topic in Order Total Modules
TEXT -> CONTENT -
@djmonkey1 Seems like I would be able to find more information about using this mod in a v2.3.1 store with SPPC and Quantity Discounts, but I'm not having great luck. The Quantity Discounts mod works great on the front side. In fact, I duplicated it, using one version for Category Discounts, and the other for Line Item discounts. This way, both or either can be toggled on a customer group or customer id basis. Again...works -great- as a visiting customer. The problem comes when I try to edit an order. Let's say I have an order for which neither discount (line or category) is toggled on, for either account or customer group. If I edit the order and add enough product that the criteria for the discount is met, the discount applies itself. Or...if they'd purchased enough to meet one or all of the criteria, once I open it in the editor and change anything, the discounts apply. I can't even adjust shipping without having this happen. I'm at a loss.
-
Any idea how to omit a method? As in...I have a heavy package that wants to return both Ground Home Delivery, and FedEx Ground. I want to omit FedEx Ground...as in remove it from the methods array completely. I want the methods array to contain ONLY Ground Home Delivery...but Im not sure how to do that.
-
USPS Rate V4, Intl Rate V2 (official support thread)
Supertex replied to fulluvscents's topic in Shipping Modules
Anyone else seeing a drastic reduction in price for FCP Intl? -
Square Payments Plugin for osCommerce
Supertex replied to shichemt's topic in General Add-Ons Support
Been a while since I've messed with payment modules, but doesn't entering a CC number this way change the PCI compliance scope for the site? -
Sometime I'm going to get up to WA, and when I do, I'm buying you a steak dinner. Thank you.
-
@kymation Hey Jim, In chasing my need, I've duplicated the (outdated, I know) USPS module I've been using. It installs fine, including the defaults for package dimensions, so I've had partial success with it. However, it seems everytime I try to save settings in the admin, I get "Array" in 'package dimensions' and 'handling fees'. To clone it, I took the working USPS module files and duplicated them and renamed them. There were only 2 files: usps.php for the modules/shipping, and the same for the languages directory. Then I found every 'usps' and changed it to 'usps2'...constants, functions, variables, etc., along with filenames. I've put the old and new in WinMerge and ensured that the only differences are the aforementioned. Any idea what I might have missed? I think these are the functions associated with the problem: // Required configuration functions // USPS Methods. Added by Greg Deeth // Alias function for Store configuration values in the Administration Tool function usps2_cfg_select_multioption($select_array, $key_value, $key = '') { for ($i=0; $i<sizeof($select_array); $i++) { $name = (($key) ? 'configuration[' . $key . '][]' : 'configuration_value'); $string .= '<br /><input type="checkbox" name="' . $name . '" value="' . $select_array[$i] . '"'; $key_values = explode( ", ", $key_value); if ( in_array($select_array[$i], $key_values) ) $string .= ' CHECKED'; $string .= '> ' . $select_array[$i]; } $string .= '<input type="hidden" name="' . $name . '" value="--none--">'; return $string; } // Alias function for Store configuration values in the Administration Tool. function usps2_cfg_multiinput_list($select_array, $key_value, $key = '') { $key_values = explode( ", ", $key_value); for ($i=0; $i<sizeof($select_array); $i++) { $name = (($key) ? 'configuration[' . $key . '][]' : 'configuration_value'); $string .= '<br /><input type="text" name="' . $name . '" value="' . $key_values[$i] . '" size="7"> ' . $select_array[$i]; } $string .= '<input type="hidden" name="' . $name . '" value="--none--">'; return $string; } /** * displays a json string as a list * * @param (string) $cfg_value */ function usps2_cfg_display_json_as_list( $cfg_value ){ $array = json_decode($cfg_value, true); $string = '<ul>'; foreach( $array as $li ){ $string .= '<li><pre>' . $li . '</pre></li>'; } $string .= '</ul>'; return $string; }
-
Thank you Jim.
-
Heya Jim, Still working on this much at all, or kinda letting it go? I have kind of a special need that could be solved by having a second USPS module for per-zone application, and rather than trying to rename/duplicate an ancient module...
-
Well..for anyone else that needs something like this, in create_account_success.php add: $max_order_query = tep_db_query("SELECT max_order FROM " . TABLE_CUSTOMERS . " WHERE customers_id = '" . $_SESSION['customer_id'] ."'"); $max_order_result = tep_db_fetch_array($max_order_query); $max_order = $max_order_result['max_order']; tep_session_register('max_order'); Just below: require(DIR_WS_INCLUDES . 'template_top.php'); And in checkout_shipping.php, add: if (isset($_SESSION['max_order'])) { $max_order = $_SESSION['max_order']; } just above: if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } This fixed it for me...or some part of it did =P
-
@Johnson Old thread...and pretty simple mod, but I installed this yesterday and today, 2 out of 5 customers so far, have had issues with completing a transaction with far less than the max_value entry in the DB (I currently have it set to 2499.99). One customer's cart was only ~$150, but he was still directed from checkout_shipping to the max_order page. Both were new customers, and had just set up their accounts. But I tested new account functionality immediately after installation, with no issues whatsoever. In addition, other transactions went through just fine. I'm waiting to hear back from the customers on device type, OS, and browser, but I can't understand what might have happened...thoughts?
-
USPS Rate V4, Intl Rate V2 (official support thread)
Supertex replied to fulluvscents's topic in Shipping Modules
I have $pkg_val as a session variable. Can I use that in the class constructor, or do I have to make that a global somehow? - and thank you for the reply. I love this community! -
USPS Rate V4, Intl Rate V2 (official support thread)
Supertex replied to fulluvscents's topic in Shipping Modules
Anyone happen to know where the test for whether the shipping module is enabled occurs, and if I can add a condition in that test that would disable the module if the subtotal is over a certain value? -
PayPal Payment Status: Completed vs. Pending - same store order status
Supertex posted a topic in PayPal
With PayPal, I think we're missing a step with regard to the store's order status. The store is assigning "new order" status to orders that PayPal has not yet approved. To be clear - this has nothing to do with the osCommerce order status level of "Pending", but rather a PAYPAL status of 'pending.' I see it under order comments, and there are entries for both order completion by the customer, and for arrival of the IPN. In most cases this says "Complete," but in some cases shows up as "Pending" (those that show up as "under review" in the PayPal website's account summary, for example). This is later updated via IPN when the payment actually goes through. This has occurred more and more often as business picks up. Here's a screenshot of exactly what I'm talking about: Note the times - payment submitted (customer didnt return to the store, but IPN handled completing the order) at 17:39 on the 21'st...but Payment Status is "Pending." I read that as payment submitted but not yet approved. My site applies Then the next day, the 22nd at 4:36 am, payment approval notification arrives, and Payment Status now shows "Completed." The problem comes in when you have a list of orders in the admin that all appear to be paid orders per the status the store assigns, but one or more of them are apparently hanging in limbo. Is there something that I've missed, that details a way to apply a different status to such orders? -
USPS Rate V4, Intl Rate V2 (official support thread)
Supertex replied to fulluvscents's topic in Shipping Modules
Yep, tried that. I don't think $subtotal exists at this point, and I didn't want to chance screwing something up down the line that might use it so I added this to shopping_cart.php: $pkg_val = $cart->show_total(); tep_session_register ('pkg_val'); and then used $pkg_val in place of $subtotal in the shipping class. Now it works. Thanks Jim :) -
USPS Rate V4, Intl Rate V2 (official support thread)
Supertex replied to fulluvscents's topic in Shipping Modules
Problem was between the seat and the keyboard. function cheapest() { global $is_cont48, $shipping_weight... I never added the bold. Now it works. Just have to figure out what to use for the cart value. I thought maybe: (($is_cont48 != 1) && ($shipping_weight < 0.8125) && ($subtotal < 400.00)) but that's not worked so far. -
USPS Rate V4, Intl Rate V2 (official support thread)
Supertex replied to fulluvscents's topic in Shipping Modules
I actually used 0.8125 first, and it didn't work. The '.8125' was kind of a hail Mary. Any other ideas?