Announcement

Collapse
No announcement yet.

Adding "Payment by BACS" option?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Adding "Payment by BACS" option?

    I would like to give people the option to pay by Bank Transfer.

    I would need to create the new payment method, and have on the receipt page some text along the lines of:-

    "Please pay £xx.xx into the following bank account:-
    A/C 12345678
    Sort-Code 12-34-56
    Please use reference YYYYYYYYYYYYY"

    Text should be centred, and the xx.xx should be replaced by the order total, and YYYYYYYYYYYYY should be replaced by the Actinic order number.

    What's the best (least messy) way of doing this?

    #2
    Are you using the 'Credit Card Details Sent Separately' payment method? I'm really hoping you're not, becase you can recylcle this to add the BACS details into the receipt.

    When you look at the Act_Order04.html template (for the receipt) the code between the two NETQUOTEDEL:PAYMENTSENTSEPARATE tags will only appear if you have selected the 'Credit Card Details Sent Separately' payment method.

    You could replace the code between those two tags with something similar to the following:

    Code:
      <TR>
    	<TD NOWRAP BGCOLOR="NETQUOTEVAR:CHECKOUTBG" CLASS="actxsmall" colspan="2">
    
    Pay NETQUOTEVAR:FORMATTEDORDERTOTALHTML into the following bank account:<br><br>
    A/C 12345678<br>
    Sort-Code 12-34-56<br>
    Please use reference: NETQUOTEVAR:THEORDERNUMBER 
    
                    </TD>
      </TR>

    Comment


      #3
      It works, but looks messy because all of the fields for Credit Card information still show up - can I safely remove these?

      Also, Payment Method shows the PAYMENTMETHODNAME "Credit Card Details Sent Separately" even though the Website Description reads "BACS"

      Can this be modified to show the Website Description instead of PAYMENTMETHODNAME?

      Comment


        #4
        It works, but looks messy because all of the fields for Credit Card information still show up - can I safely remove these?
        Yes.
        Also, Payment Method shows the PAYMENTMETHODNAME "Credit Card Details Sent Separately" even though the Website Description reads "BACS"
        Search for 'separately' in 'Design | Text'.

        Comment


          #5
          Payment by bacs

          I am trying to do the above but am a bit of of novice, can you possibly tell me exactly where to put the above text to enable me to set up bacs payment?

          Many Thanks

          Comment


            #6
            Hi

            You may want to look at this thread -

            http://community.actinic.com/showthread.php?t=8168

            - where we have used a different route and give the info to the customer using the automatic email reply after completing checkout .

            We have set this up for Direct Bank Transfer (we did not call it BACS as some Internet Banking sites have both BACS & Bill Payment services and they are different) Also we told customers they could go into their local bank branch and pay over the counter if they do not use Internet Banking.

            We set this up following a request from a customer from Holland to pay using IBAN (International Bank Account Number) and found it was remarkably cheap on our bank charges tariff when we checked our statement. Much cheaper than other payment method (apart from cash !!!)

            Regards
            Andrew Mellor
            Collectors Supplies http://www.csbooks.co.uk 01633 615601 Skype - csbooks
            Reference Books & Price Guides on Antiques & Collectables
            ==============================================================

            Comment


              #7
              Update - v18

              Much as Chris describes but with some layout changes.

              Make a new payment option (Settings, Business Settings, Payment and Security).
              Click the + to make a new row and use the drop down to select 'Credit card details sent separately'.
              Change 'Web Site description' to 'Bank Transfer BACS'
              Change 'Desktop description' to 'Bank Transfer BACS'

              Click image for larger version  Name:	bacs-option-1.jpg Views:	21 Size:	36.5 KB ID:	552573

              Go to Design, Text, and bottom left 'GoTo' enter Phase -1 ID 80 and OK
              In 'Current Value' change 'Credit Card Details Sent Separately' to 'Bank Transfer (BACS)'

              Click image for larger version  Name:	bacs-option-1a.jpg Views:	27 Size:	92.2 KB ID:	552574

              Click Design, Library, Layouts, Checkout Area find 'Receipt Payment Sent Separately Fields'
              Right click to copy and rename the copied layout to:
              Receipt Payment Sent Separately Fields BACS.

              Open the Receipt Payment Sent Separately Fields BACS layout, delete everything and replace with the following:

              Code:
              NETQUOTEDEL:PAYMENTSENTSEPARATE
              <actinic:variable name="CheckoutPrompt" value="Receipt Enter Payment Method" />
              <actinic:variable Name="PurchaseOrderNumber"/>
              <div class="row">
              <div class="cartheading col-12">
              <b>Please pay now by Bank Transfer (BACS)</b>
              </div>
              </div>
              <div class="row">
              <div class="cart col-6">
              <b>Pay NETQUOTEVAR:FORMATTEDORDERTOTALHTML into this bank account:</b>
              </div>
              <div class="cart col-6">
              <actinic:variable name="CompanyName" /><br>
              Amount: NETQUOTEVAR:FORMATTEDORDERTOTALHTML<br>
              A/C 12345678<br>
              Sort-Code 12-34-56<br>
              Please use reference: NETQUOTEVAR:THEORDERNUMBER
              </div>
              </div>
              NETQUOTEDEL:PAYMENTSENTSEPARATE
              You would change
              Code:
              A/C 12345678<br>
              Sort-Code 12-34-56<br>
              to your own bank details

              In Design Tab Select Page Type 'Receipt'
              Look for
              Receipt Page Bulk RWD then
              Receipt Order Information RWD then
              Receipt Payment Detail Fields then

              Replace
              Code:
              <actinic:variable name="CheckoutArea" value="Receipt Payment Sent Separately Fields" />
              with
              Code:
              <actinic:variable name="CheckoutArea" value="Receipt Payment Sent Separately Fields BACS" />
              Click image for larger version  Name:	bacs-option-2.jpg Views:	36 Size:	26.1 KB ID:	552575

              The code you enetered above into the new layout will look like this:

              Click image for larger version  Name:	bacs-option-3.jpg Views:	38 Size:	75.7 KB ID:	552576

              Now close the software and open the database in Access, then go to the 'Variable' table and scroll down the 'nID' column until you reach number: 741 and then move along the record to 'sDefault' and change the entry there to

              Print this page and keep it for your records. If you need to contact us, refer to the "Order Number" below. Your order has been recorded. Please pay now by bank transfer (BACS) using the details that appear below.
              In Page type Receipt, Receipt Page Bulk RWD add '<br /><b></b>' to 'SendSeparately' and add the following to the layout around line 29-30:
              Code:
              <button onclick="window.print()">Print this page</button></p>
              so it looks like this:

              Click image for larger version  Name:	printpage.jpg Views:	6 Size:	52.0 KB ID:	552608


              Save and close and open the software. Please note that what you see in preview may not be the same as in the live site.

              Go to Design Text Phase -1 ID 73 and change the current value to

              Your order has been recorded. Please pay now by bank transfer (BACS) using the details that appear below.
              Save and close.

              We now need to put the instruction to pay by BACS in the Customer email - the one they get when they place an order.

              Open 'OrderScript.pl' and locate the code:
              Code:
              my $sPaymentDescription = $::g_pPaymentList->{$nPaymentMethod}-> {PROMPT};
              Then add the block of code that follows, below the code above and before the line:
              Code:
              $ACTINIC::B2B->SetXML('PAYMENT_METHOD', $sPaymentDescription);
              The code to be added is:
              Code:
              if ($nPaymentMethod == $::PAYMENT_CREDIT_CARD_SEPARATE) { $sPaymentDescription = $sPaymentDescription . " Please pay now by bank transfer (BACS) using the following details:</b><br>Sort-Code 12-34-56<br>A/C 12345678<br>Please use reference: " . $sOrderNumber; }
              Click image for larger version

Name:	orderscriptedit.jpg
Views:	165
Size:	51.8 KB
ID:	552637

              Then save, close the file and upload.

              Remember you wll need to repatch this if you upgrade or purge and refresh the site.

              Now open Design, Library, Email Inner Layout 'Order received HTML Email Inner Layout' (if using html email). This is the email you send from the desktop when you have downloaded the order and have started processing it.

              Change the content so it looks like this:

              Code:
              <p>Dear <actinic:variable encoding="html" name="ContactInvoiceName"/>,
              <p>
              <actinic:block if="%3cactinic%3avariable%20name%3d%22ContactInvoiceCompany%22%2f%3e%20%21%3d%20%22%22"><p><actinic:variable encoding="html" name="ContactInvoiceCompany"/>
              </actinic:block><p>We have received and are processing the following order:
              <p>
              <pre><actinic:variable encoding="htmlline" name="CustomerData"/></pre>
              <font face="Courier New, Courier, sans-serif">
              <pre><actinic:variable encoding="htmlline" name="OrderData"/></pre>
              <pre><actinic:variable encoding="htmlline" name="OrderLines"/></pre>
              <pre><actinic:variable encoding="htmlline" name="OrderTotals"/></pre>
              <actinic:block PHP='true' SELECTABLE='false'>
              
              $myString = '<actinic:variable encoding="htmlline" name="OrderData"/>';
              
              if (strpos($myString, "Bank BACS") !== false) {
              echo "<b>If not already done please pay now by bank transfer (BACS) using the following details:</b><br>
              Sort-Code 12-34-56<br>
              A/C 12345678<br>
              Please use reference: <actinic:variable encoding="perl" name="OrderNumberOnlineXML" selectable="false" /> ";
              }
              </actinic:block>
              </font>
              <p><actinic:variable encoding="html" name="SSPRateMessage"/>
              <p>
              <p>Sincerely,
              <p><actinic:variable encoding="html" name="CompanyName"/>
              <p>
              <p>
              <p style="font-size: <actinic:variable name="SmallFontSize" />"><strong>Returns and Cancellations</strong><br><actinic:variable name="ReturnsPolicy" />
              <p>
              <p><actinic:variable encoding="html" name="SSPTrademarks"/>

              Publish to web and test. You can try it at https://www.graphicz.co.uk/sellerdeck/store/

              In both cases remember to use your own bank details in both instances.


              Just use 'Test' for all the fields.
              Last edited by graphicz; 08-Jul-2020, 07:43 AM. Reason: Correction of email layouts and a perl script edit
              Jonathan Chappell
              Website Designer
              SellerDeck Website Designer
              Actinic to SellerDeck upgrades
              Graphicz Limited - www.graphicz.co.uk

              Comment


                #8
                Many thanks for that Jonathan.

                Just 1 thing needs updating.

                The edit to Orderscript.pl has the test sort code and account in. Just need to advise the details need changing.

                If I were to use variables for sort code and account number so that it is easily set up across sites, do you know if you can use variables in orderscript.pl ? my gut feeling is no.
                Regards

                Jason

                Titan Jewellery (Swift Design)
                Zirconium Rings
                Damascus Steel Rings

                Comment


                  #9
                  I never really knew by what manner of wizardry some variables are recognised in files in the site1 folder!
                  Jonathan Chappell
                  Website Designer
                  SellerDeck Website Designer
                  Actinic to SellerDeck upgrades
                  Graphicz Limited - www.graphicz.co.uk

                  Comment


                    #10
                    Variables with a Site level setting are generally usable in the Perl Scripts.

                    E.g.

                    my $testvar = '<actinic:variable name="MyVariable" />';
                    Norman - www.drillpine.biz
                    Edinburgh, U K / Bitez, Turkey

                    Comment


                      #11
                      Many thanks Norman,

                      I made a variable Bank Sort Code to test and added it to Jonathan's code but it generates a script error.

                      The code is

                      if ($nPaymentMethod == $::PAYMENT_CREDIT_CARD_SEPARATE) { $sPaymentDescription = $sPaymentDescription . " Please pay now by bank transfer (BACS) using the following details:</b><br>Sort-Code my $testvar = '<actinic:variable name="Bank Sort Code" />';<br>A/C 999999999<br>Please use reference: " . $sOrderNumber; }

                      Any idea how this should be?
                      Regards

                      Jason

                      Titan Jewellery (Swift Design)
                      Zirconium Rings
                      Damascus Steel Rings

                      Comment


                        #12
                        Several problems:
                        Spaces in the variable name are a bad idea.
                        And you copied my entire bit of code but it was purely an example of a complete line of Perl and not meant to plonked into an existing expression.
                        Delete your Variable and recreate it without the spaces.
                        Then use:
                        Code:
                        if ($nPaymentMethod == $::PAYMENT_CREDIT_CARD_SEPARATE)
                        {
                        $sPaymentDescription = $sPaymentDescription . ' Please pay now by bank transfer (BACS) using the following details:</b><br>Sort-Code <actinic:variable name="BankSortCode" /><br>A/C 999999999<br>Please use reference: ' . $sOrderNumber;
                        }
                        If it still fails you can find the generated Perl file in your SellerDeck Temp folder (location dependent on how you installed SD). Look there to for the above line and post it.
                        If it's OrderScript.pl that you're patching, the generated file will be named similar to os000001.pl
                        Norman - www.drillpine.biz
                        Edinburgh, U K / Bitez, Turkey

                        Comment


                          #13
                          Many thanks Norman.

                          That was how I would have done it, not understanding perl I thought that first snippet of code was to make it work in perl, not an example

                          All working now.
                          Regards

                          Jason

                          Titan Jewellery (Swift Design)
                          Zirconium Rings
                          Damascus Steel Rings

                          Comment


                            #14
                            Well done Jason and Norman. You can also make the variable for the account number and use them both also in the Order Received email.
                            Jonathan Chappell
                            Website Designer
                            SellerDeck Website Designer
                            Actinic to SellerDeck upgrades
                            Graphicz Limited - www.graphicz.co.uk

                            Comment


                              #15
                              I added a few more variables.
                              Attached Files
                              Regards

                              Jason

                              Titan Jewellery (Swift Design)
                              Zirconium Rings
                              Damascus Steel Rings

                              Comment

                              Working...
                              X