Cheque / Money Order Payment Module

Open to all! Ask other shopowners for help.
User avatar
burt
Core Team
Posts: 4547
Joined: Tue Oct 29, 2019 9:37 am
Phoenix Version: v1.1.0.8
Has thanked: 252 times
Been thanked: 412 times

Re: Cheque / Money Order Payment Module

Post by burt »

Nigel wrote: Thu Mar 04, 2021 12:58 pm My next task is to create some shipping options.
What is that you need to do with shipping ?
I do have an upcoming supporters code that is a shipping module.
I am not here to build for you.
I am here to build with you. Let's help each other.


Join The Code Co-op to get access to your library in the Code Co-op Forum
Nigel
Contributor
Posts: 114
Joined: Mon Jan 11, 2021 1:39 am
Phoenix Version:
Has thanked: 29 times
Been thanked: 8 times

Re: Cheque / Money Order Payment Module

Post by Nigel »

We sell heavy, fragile goods. Any order really needs verbal confirmation.

Ideally it would be that customers simply place their order with no requirement for shipping choices or even payment as that would be part of the confirmation phone call.
A simple delivery please / collection option could work if it means the cart sequence of events needs to be maintained.

After clicking the final checkout completion bar, a simple message saying that the order has been received and we will be in contact shortly . . . blah blah.

Account customers wouldn't really need the callback option either if we hold their details and they have a regular delivery routine.
heatherbell
Senior Contributor
Posts: 2540
Joined: Mon Oct 07, 2019 4:39 am
Phoenix Version:
Has thanked: 35 times
Been thanked: 243 times

Re: Cheque / Money Order Payment Module

Post by heatherbell »

Nigel wrote: Thu Mar 04, 2021 3:06 pm A simple delivery please / collection option could work if it means the cart sequence of events needs to be maintained.
There's more than one way to skin the unfortunate cat but we used to do something similar by simply cloning the Flat Rate.
Clone once for e.g. "Delivery - we will contact you with delivery quote/charge" and set charge to 0.00.
Clone again for "Collection".
Checkout Success message is whatever you set in the language file for that.
Nigel
Contributor
Posts: 114
Joined: Mon Jan 11, 2021 1:39 am
Phoenix Version:
Has thanked: 29 times
Been thanked: 8 times

Re: Cheque / Money Order Payment Module

Post by Nigel »

My original plans were for collection, local delivery or courier delivery options.
All would still be via a callback manual card payment system, no online card verification.

The collection and local deliveries would be free. Courier services would probably incur a charge dependant on what they order, quantity and weight.
Nigel
Contributor
Posts: 114
Joined: Mon Jan 11, 2021 1:39 am
Phoenix Version:
Has thanked: 29 times
Been thanked: 8 times

Re: Cheque / Money Order Payment Module

Post by Nigel »

heatherbell wrote: Thu Mar 04, 2021 3:15 pm
Nigel wrote: Thu Mar 04, 2021 3:06 pm A simple delivery please / collection option could work if it means the cart sequence of events needs to be maintained.
There's more than one way to skin the unfortunate cat but we used to do something similar by simply cloning the Flat Rate.
Clone once for e.g. "Delivery - we will contact you with delivery quote/charge" and set charge to 0.00.
Clone again for "Collection".
Checkout Success message is whatever you set in the language file for that.
Yes, this was what I was planning to do.
Then I thought I'd make zones for local, courier, collection so they could work with shipping options but, at 2am, it all started to get a bit blurry !
ecartz
Core Team
Posts: 3084
Joined: Tue Nov 05, 2019 6:02 pm
Phoenix Version:
Has thanked: 4 times
Been thanked: 208 times

Re: Cheque / Money Order Payment Module

Post by ecartz »

Nigel wrote: Thu Mar 04, 2021 3:06 pm Ideally it would be that customers simply place their order with no requirement for shipping choices or even payment as that would be part of the confirmation phone call.
If you want every customer to do this, then rather than trying to implement this as custom shipping/payment modules, I would suggest a hook.

Code: Select all

class hook_shop_checkout__06_initialize_shipping_module {

  public function listen_startApplication {
    if (isset($_SESSION['shipping'], $_SESSION['payment'])) {
      switch (basename($GLOBALS['PHP_SELF'])) {
        case 'checkout_shipping':
        case 'checkout_payment':
          tep_redirect(tep_href_link('checkout_confirmation.php'));
      }
      return;
    }

    $_SESSION['shipping'] = false;
    $_SESSION['sendto'] = false;
    $_SESSION['payment'] = 'money_order';
    if (!isset($_SESSION['billto'])) {
      $_SESSION['billto'] = $GLOBALS['customer']->get('default_billto');
    }

    tep_redirect(tep_href_link('checkout_confirmation.php'));
  }

}
This is just off the top of my head. There might be more to it. Or less. I'm not sure that you need to install a payment module. Setting the payment to an empty string and installing no payment modules might work as well. I haven't tried it.


Join The Code Co-op to get access to your library in the Code Co-op Forum
Post Reply