New Zenner
- Join Date:
- Apr 2013
- Location:
- Johannesburg, South Africa
- Posts:
- 13
- Plugin Contributions:
- 0
Direct Bank Deposit
Is there a way that I can put a logo either before "Direct Bank Deposit" or just after it - on the same line?
Views: 78,007
New Zenner
Is there a way that I can put a logo either before "Direct Bank Deposit" or just after it - on the same line?
New Zenner
Hi,
Yes, there is a way.
Open the file for your payment module.
The file is on the following folder /includes/modules/payment/
Look for the following function
function selection() {
That function returns an array, you should add a new element to the array like this:
'icon' => '<img src="images/payment_logo.gif" />'
New Zenner
Is there a way to turn off/hide the module for a particular product? I can do it for the moneyorder module but cannot see how to do it here.
Totally Zenned
gilby:
It provides details only, to customers about your bank account.
Its up to you to check and despatch when they finally pay
Its not real time like poli polipayments(dot)com
Have read through the entire thread. It does look like this adds value for some markets. I wanted to confirm, this plugin is used to provide information to a shopper on how they could use an electronic transfer to deposit money directly into a bank account. It doesn't handle the transaction of taking the money from their account and depositing it into the store's account.
Did I understand that correctly?
ZC Installation/Maintenance Support <- Site
Contribution for contributions welcome...
Deceased
mc12345678:
Have read through the entire thread. It does look like this adds value for some markets. I wanted to confirm, this plugin is used to provide information to a shopper on how they could use an electronic transfer to deposit money directly into a bank account. It doesn't handle the transaction of taking the money from their account and depositing it into the store's account.
Did I understand that correctly?
That is correct.
I have my sites set up that my bank details are not publicly displayed on the site but are ebing emailed to the customer within the order confirmaton email.
NOTE: We are sorry that Frank is no longer with us.
We are grateful for all his contributions to the Zen Cart community.
Totally Zenned
frank18:
That is correct.
I have my sites set up that my bank details are not publicly displayed on the site but are ebing emailed to the customer within the order confirmaton email.
Yeah, I think it was when the discussion turned towards the choice of emailing versus providing on screen that I began questioning why either was considered important, and then caught on that it is this information the customer needed to finish their side of the transaction. (Leads to the thought of needing to balance the books, does one ship before payment is received, invoicing, etc.) But hey if it works to get more business and the customers are happy, as I said works in some markets. Might for us, but wanted to understand from the forum what it's all about. :). Thank you for your time.
ZC Installation/Maintenance Support <- Site
Contribution for contributions welcome...
Deceased
mc12345678:
.... (Leads to the thought of needing to balance the books, does one ship before payment is received, invoicing, etc.) ....
I never let stock go out of the house before the crow did what it needed to do, sh.. in the nest! Only when the money is in the bank, the order is shipped.
The only problem with this module is (as I see it) that you need to ask for the customer's bank details in order to issue a refund should anything go wrong with the order.
NOTE: We are sorry that Frank is no longer with us.
We are grateful for all his contributions to the Zen Cart community.
Deceased
mc12345678:
does one ship before payment is received
No. That's asking for trouble. HOWEVER, I rarely have any qualms shipping a product if the customer sends a copy of an online bank transfer rather than waiting for their payment to appear in our account, about the only exception being if the order is abnormally large or appears suspicious in some way.
This still carries a little bit of risk, but I have the philosophy that most people are basically honest.
Cheers
RodG
New Zenner
Has anybody placed this information on the invoice and how would you do that
we now have customers that need invoice with goods.
Peter
Totally Zenned
tenthilltoys:
Has anybody placed this information on the invoice and how would you do that
we now have customers that need invoice with goods.PeterNot quite sure what you are asking?
The Invoice will show the payment method as "Direct Bank Deposit"
I can't see that you would need more than this as you wouldn't ship without the payment being processed
So its not informing the customer what bank account to pay it into
The same as if paying by cc the cc details are not on the Invoice.
The bank account details are shown on the "order confirmation email" for the customer to pay into.
Contribs: - Time Zone Fix/Offset ■ Google Adsense ■ betterCategoriesEzInfo ■ Multi Cross Sell
New Zenner
We are dealing with government schools who unless we setup new payment gateways (they are not allowed to use PayPal or have PayPal mentioned on the invoice) the invoice with banking details then goes to accounts department to be paid.
Pete
Totally Zenned
tenthilltoys:
We are dealing with government schools who unless we setup new payment gateways (they are not allowed to use PayPal or have PayPal mentioned on the invoice) the invoice with banking details then goes to accounts department to be paid.
PeteIn that case you will need to modify
admin/invoice.php around lines 136-7 which shows this
<tr>
<td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
<td class="main"><?php echo $order->info['payment_method']; ?></td>
</tr>
```to add the info that you want on the invoice
Contribs: - Time Zone Fix/Offset ■ Google Adsense ■ betterCategoriesEzInfo ■ Multi Cross Sell
New Zenner
Being in NZ, direct bank deposit accounts for about 50% of my sales, and have noticed two problems with it I would like some advice on before I just change it.
1/ There are no reference instructions shown, so it is hard to match payments with orders.
I believe that if I add the last line here that will add it to the email (but I haven't tested it yet because of issue 2)
define('MODULE_PAYMENT_DIRBANKNZ_TEXT_EMAIL_FOOTER',
"Please use the following details to transfer your total order value:\n\n" .
"\nAccount No.: " . MODULE_PAYMENT_DIRBANKNZ_ACCNUM .
// "\nRouting Number:" . MODULE_PAYMENT_DIRBANKNZ_ROUTING .
"\nAccount Name: " . MODULE_PAYMENT_DIRBANKNZ_ACCNAM .
"\nBank Name: " . MODULE_PAYMENT_DIRBANKNZ_BANKNAM .
"\nReference: ".$zf_insert_id .
From my research it seems the order number cannot be added to the checkout_confirmation page as it does not exist yet, and while people have suggested workarounds of getting the last order and adding one, that is an approximation that will fail at some point.
2/ Probably more significant, I had an issue a little while back where someone just deposited money into my account with no details and no order! It could be a worse problem:D, but there was nothing I could do other than wait until someone complained that they didn't get their order and then sort it out. Less than ideal. I was confused about how they had got my bank details without an order, and then it came to me - the customer followed the process to checkout_confirmation, got the bank details, made the deposit and then exited the process, leaving me with no information on the "order" they thought they made.
These two issues suggest to me that the best solution is to have the following process: checkout_confirmation page shows a message like "you have chosen bank deposit, the account details will be shown once your order is confirmed"
checkout_success shows the account details along with the order number.
Does this make sense or have I missed something important (happens a lot:P)
Oh, and thanks to everyone for their work on making this the rest of zencart, it quite simply makes the impossible possible!
Thanks for your advice.
Pat
Deceased
PatClay:
From my research it seems the order number cannot be added to the checkout_confirmation page as it does not exist yet, and while people have suggested workarounds of getting the last order and adding one, that is an approximation that will fail at some point.
The order number is part of the standard 'Order Confirmation' email - so the order number does in fact exist when the email goes out.
PatClay:
2/ Probably more significant, I had an issue a little while back where someone just deposited money into my account with no details and no order! It could be a worse problem:D, but there was nothing I could do other than wait until someone complained that they didn't get their order and then sort it out. Less than ideal. I was confused about how they had got my bank details without an order, and then it came to me - the customer followed the process to checkout_confirmation, got the bank details, made the deposit and then exited the process, leaving me with no information on the "order" they thought they made.
I only reveal the bank details in my 'Order Confirmation' email - they do not appear on any of my sites. So I never have this issue. They need to complete the order, get the email and there are the details.
This is the wording I have on the 'Order Confirmation' page (mysite.com/index.php?main_page=checkout_confirmation):
We will email you our bank details for the transfer of your total order value
Thank you for your order which will be processed as soon as we receive payment in our account.
Cheers / Frank
NOTE: We are sorry that Frank is no longer with us.
We are grateful for all his contributions to the Zen Cart community.
Deceased
My file includes/languages/english/modules/payment/dirbankaus.php (minus the header..):
define('MODULE_PAYMENT_DIRBANKAUS_TEXT_EMAIL_FOOTER',
"Please use the following details to transfer your total order value:\n\n" .
"\nAccount No.: " . MODULE_PAYMENT_DIRBANKAUS_ACCNUM .
"\nBSB Number: " . MODULE_PAYMENT_DIRBANKAUS_BSB .
"\nAccount Name: " . MODULE_PAYMENT_DIRBANKAUS_ACCNAM .
"\nBank Name: " . MODULE_PAYMENT_DIRBANKAUS_BANKNAM .
//"\nSwift Code: " . MODULE_PAYMENT_DIRBANKAUS_SWIFT .
"\n\n<b>Thank you for your order which will be processed as soon as we have received payment in the above account.</b>\n");
define('MODULE_PAYMENT_DIRBANKAUS_TEXT_TITLE', '<b>Direct Bank Deposit - Australia</b>');
define('MODULE_PAYMENT_DIRBANKAUS_TEXT_DESCRIPTION',
'<div class="important"><br />We will email you our bank details for the transfer of your total order value<br />' .
//"\nAccount No.: " . MODULE_PAYMENT_DIRBANKAUS_ACCNUM .
//"\nBSB Number: " . MODULE_PAYMENT_DIRBANKAUS_BSB .
//"\nAccount Name: " . MODULE_PAYMENT_DIRBANKAUS_ACCNAM .
//"\nBank Name: " . MODULE_PAYMENT_DIRBANKAUS_BANKNAM .
//"\nSwift Code: " . MODULE_PAYMENT_DIRBANKAUS_SWIFT .
'<p><br />Thank you for your order which will be processed as soon as we receive payment in our account.<p><br /></div>');
Also try:
"\nReference: " .$zf_insert_id .
instead of
"\nReference: ".$zf_insert_id .
(note the space between " and .$zf_insert_id . )
Suggest you do a test order as customer using the codes above
Cheers / Frank
NOTE: We are sorry that Frank is no longer with us.
We are grateful for all his contributions to the Zen Cart community.
New Zenner
Thanks for your comments Frank.
My original post was not completely clear about the checkout steps, and they have different names in different areas of the screen (I am using cherry zen, and checkout without account, so that may have caused the differences), so I will try to clarify:
Step 4/5
Page: index.php?main_page=checkout_confirmation
Page title: Order Review
This is where the default setup shows the bank account details, but from what I have read, the order number has not been created yet, until someone clicks "confirm order" and moves to:
Step 5/5
index.php?main_page=checkout_success
Page title: Thank You! We Appreciate your Business!/Checkout Successful
At this point you actually have an order.
I have been doing some experimenting and have some answers, but none of them are good:(.
define('MODULE_PAYMENT_DIRBANKNZ_TEXT_EMAIL_FOOTER',
"Please use the following details to transfer your total order value:\n\n" .
"\nAccount No.: " . MODULE_PAYMENT_DIRBANKNZ_ACCNUM .
// "\nRouting Number:" . MODULE_PAYMENT_DIRBANKNZ_ROUTING .
"\nAccount Name: " . MODULE_PAYMENT_DIRBANKNZ_ACCNAM .
"\nBank Name: " . MODULE_PAYMENT_DIRBANKNZ_BANKNAM .
"\nReference: " . $zv_orders_id .
"\n\nThanks for your order which will ship immediately once we receive payment in the above account.\n");
Doesn't add the order number to the email. I guess that the variable $zv_orders_id is not available to that page. Adding "global $zv_orders_id" doesn't work either.
I could just tell the customer to look it up, but that is a hassle for them and I think the less effort for customers, the more $ for me.
As far as the web pages go, I am thinking something along this line:
define('MODULE_PAYMENT_DIRBANKNZ_TEXT_DESCRIPTION',
'<BR>You have chosen to pay by direct deposit, our bank account details will be displayed on the next screen when you confirm your order.');
And then modify includes/templates/MY_TEMPLATE/templates/tpl_checkout_success_default.php
to check to see if the payment method was DIRBANKNZ and if so display the account details.
Unfortunately at this point I am stuck. I can see several people wanting to do similar things in the forums, but no notes about anyone actually succeeding. I can see arrays with the information I need, but any attempts at getting the information end up with error messages along the lines of "you obviously know nothing about php, arrays or classes, here is a banana, now go away" Or at least they seem that way to me :unsure:
Any pointers would be appreciated.
Pat
New Zenner
I have had partial success:
Change dirbanknz.php to:
define('MODULE_PAYMENT_DIRBANKNZ_TEXT_DESCRIPTION',
'<BR>You have chosen to pay by direct deposit, our bank account details will be displayed on the next screen when you confirm your order.');
add the following to MY_TEMPLATE/templates/tpl_checkout_success_default.php
?>
<div class="content">
<?php
IF ($order_summary['payment_module_code']=="dirbanknz") {
echo "Please use the following details to transfer your total order value:\n\n" .
"<BR>Account No.: " . MODULE_PAYMENT_DIRBANKNZ_ACCNUM .
"<BR>Account Name: " . MODULE_PAYMENT_DIRBANKNZ_ACCNAM .
"<BR>Bank Name: " . MODULE_PAYMENT_DIRBANKNZ_BANKNAM .
"<BR>Reference: " . $zv_orders_id.
"<BR>Thanks for your order which will ship immediately once we receive payment in the above account.<BR>";
}
?>
</div>
<?php
Still no luck on getting the order number on the emails though - several threads have asked about it, but no-one has published a solution.
New Zenner
I have now managed to get the emails to show the invoice number:
Change
languages/english/modules/payment/dirbanknz.php to
define('MODULE_PAYMENT_DIRBANKNZ_TEXT_EMAIL_FOOTER',
"Thanks for your order which will ship once we receive payment in the account below:\n\n" .
"\nAccount No.: " . MODULE_PAYMENT_DIRBANKNZ_ACCNUM .
"\nAccount Name: " . MODULE_PAYMENT_DIRBANKNZ_ACCNAM .
"\nBank Name: " . MODULE_PAYMENT_DIRBANKNZ_BANKNAM );
The reference number will be added after this, so you want the last line to be part of the bank details, not instructions.
Add the following to /classes/order.php (code segment starts at about line 1060.
if (is_object($GLOBALS[$_SESSION['payment']])) {
$cc_num_display = (isset($this->info['cc_number']) && $this->info['cc_number'] != '') ? /*substr($this->info['cc_number'], 0, 4) . */ str_repeat('X', (strlen($this->info['cc_number']) - 8)) . substr($this->info['cc_number'], -4) . "\n\n" : '';
$email_order .= EMAIL_TEXT_PAYMENT_METHOD ;
$email_order .=EMAIL_SEPARATOR . "\n";
$payment_class = $_SESSION['payment'];
$email_order .= $GLOBALS[$payment_class]->title . "\n\n";
$email_order .= (isset($this->info['cc_type']) && $this->info['cc_type'] != '') ? $this->info['cc_type'] . ' ' . $cc_num_display . "\n\n" : '';
$email_order .= ($GLOBALS[$payment_class]->email_footer) ? $GLOBALS[$payment_class]->email_footer . "\n" : '';
//addition to add invoice number as reference for bank details
IF($_SESSION['payment']=="dirbanknz") {
$email_order.="Reference: ".$zf_insert_id."\n";
}
It isn't fully tested yet,, and I only send out plain text emails, but it gets the job done for me.
If I have committed major sins in the "right way to do things in Zen Cart" please let me know. I hope that these help someone else.
Pat
Deceased
Pat, let us know if this displays properly when sending html emails (theoretically it should...)
Cheers / Frank
NOTE: We are sorry that Frank is no longer with us.
We are grateful for all his contributions to the Zen Cart community.
New Zenner
Sorry Frank, reality is different to theory here.
It doesn't show the reference for the html emails, I am not sure why, but I send out text emails, so it does the job for me. I am sure someone who knows this better than I will be able to fix the html part
Tell staff why this post should be reviewed.