Bank Transfers - Offline Payment Processing Not Possible

Hi



I am just trying to figure out what causes one of my stores, a V4.2.4 to not accept offline payments.



I am trying to accomplish the following. Have clients order but pay later via a bank transfer.



Please look at my payment option here below:



[attachment=9856:prnscr_bank transfer.png]



A customer should have the option to be billed later and pay via a banktransfer in our stores but he/she cannot. If he selects the offline payment option and agrees with the terms and conditions he/she is being notified with this popup message


[quote][color=#B94A48][font=Comfortaa]Your order has been declined by the payment processor. Please review your information and contact store administration.[/font][/color][/quote]



[attachment=9857:prnscr_declined.png]



I cannot find anything in the settings that does not allow for offline payment to be selected by the customer.

prnscr_bank transfer.png

prnscr_declined.png

I guess the first question I'd ask is what's the phone.tpl contain?

Have you tried using something like check.tpl or other templates to narrow down the issue?

[quote name='tbirnseth' timestamp='1436729243' post='222627']

I guess the first question I'd ask is what's the phone.tpl contain?

Have you tried using something like check.tpl or other templates to narrow down the issue?

[/quote]



Well if I opt for check.tpl I am asked as a customer to fill in my “customer signature”, my “checking account number” and “bank routing number”.



But that does not seem to fit our bill in general at all. Our common practice with a non CSCart shop is to let the customer order and than opt for offline checkout where the order is placed and the customer receives instructions in what to do next since the order was not paid via credit / debetcard payment , nor via Paypal or other means of direct online payment.



Yes I tried as much all templates but the non fit the bill and the one that from a customers point of view does, is money.tpl. But I went one step further and followed the following instructions:



CS-Cart Documentation — CS-Cart 4.15.x documentation



Still the same result,



"Your order has been declined by the payment processor. Please review your information and contact the store administration. "

Looks like a bug. The system should set the Open status for all offline payment methods. What status do you see in the admin panel after the order is placed?

[quote name='eComLabs' timestamp='1436778056' post='222659']

Looks like a bug. The system should set the Open status for all offline payment methods. What status do you see in the admin panel after the order is placed?

[/quote]



It says:



[attachment=9858:prnscr_orderdeclined.png]



Order in detail:



[attachment=9859:prnscr_orderdeclined_orderdetail.png]

prnscr_orderdeclined.png

prnscr_orderdeclined_orderdetail.png

What is the letter of this order status? Looks like the reason is the value of the Inventory parameter of the status. It should be Decrease, not Increase. Please check

[quote name='eComLabs' timestamp='1436779099' post='222667']

What is the letter of this order status? Looks like the reason is the value of the Inventory parameter of the status. It should be Decrease, not Increase. Please check

[/quote]



The letter ?? Not sure what you mean by that.



The qty of stock for this product is plenty to let the customer buy this particular product.

Please check the first and last parameters of this status:



Clip2Net — screen capture tool for Windows, Android, iPad, Mac, Linux



The Inventory should be Decrease

I see what you mean now. Order statuses.



My other half is to blame for this issue. :grin: . We got it fixed thanks again @ecom-labs

You are welcome!

Can someone identify what exactly was causing the notice that the payment was “declined”? How does that relate to inventory?

The order is considered to be paid if the inventory was decreased by the new order status. It is default CS-Cart behavior for many years.



Please open the app/functions/fn.catalog.php file and check the fn_get_order_paid_statuses function

But being marked 'paid' (I.e. proceeding to Processed status) is quite different than declined (Declined status).

So if inventory is enabled and not decremented for the Open status (the default status for offline payments), the customer is going to see order declined?

We created a new status that says: order in processor - not paid. No if an customer is going to opt for the offline payment therefor decides to use the ol'fashion way of doing a banktransfer we do not decline the order but simply put it on hold (in process).



and the customer receives than automated instructions for the payment.



Does that answer your question Tony ?

[quote name='tbirnseth' timestamp='1436924777' post='222942']

But being marked 'paid' (I.e. proceeding to Processed status) is quite different than declined (Declined status).

So if inventory is enabled and not decremented for the Open status (the default status for offline payments), the customer is going to see order declined?

[/quote]



The order status will be set to Open, but instead of the order landing page, the customer will be redirected back to the checkout page after the order is placed.

Somewhat answers my question… I guess I struggle to understand why inventory would have anything to do with a payment being accepted or declined. If the item is not available the order should not be able to be placed (unless item is set to do so). Once the order is placed for an offline payment, order status should be Open and the checkout.complete page should be executed. It shouldn't matter what the merchant wants to do with stock levels at different statuses. I understand that completed orders statuses are defined as those that have inventory debited. But the merchant might choose NOT to debit inventory until the payment is made. Or they may want to debit it to reduce (hold) their stock. This is a business decision by the merchant.



So no idea why it would be desirable in an offline payment method to have the customer see an error message that the payment processor has declined their payment.

[quote name='tbirnseth' timestamp='1436990627' post='223106']



So no idea why it would be desirable in an offline payment method to have the customer see an error message that the payment processor has declined their payment.

[/quote]



I fully agree with you but this is how things are arranged in CSCart. Our workaround is that we just deal with the fact that CSCart does it this way.

It is designed so. There are bad statuses (with inventory = Increase) and good (with inventory = Decrease) :)

Here's the other half that added statuses with the description: order placed but not paid.

It does NOT (always) make sense to decrease inventory when an inventory has not yet been paid: after all, about 1 in 3 orders that are placed this way, never get paid and rarely are cancelled. We cancel ourselves if the order goes unpaid for a full week.

In our old shop we have 3 choices for inventory tracking :

1 store ; subtracts quantities when the order is placed;

2 admin : subtracts when the order is filled

3 : mixed subtracts when placed for online, when filled for offline payment



We currently use mixed: inventory gets subtracked immediately when an order is paid for, while an unpaid for order only gets subtracked once it has been FILLEd (mind you filled/sent out, NOT paid as we allow trusted customers to pay after shiping

I can see advantages to both methods but it would have been nice to have had a choice here.



It did make my head spin , having to choose between decrease and increase rather than 'do nothing' , until seeing a better explanation: (increase following increase = zero action).





In the end, the main PITA is not having an explicit separate button to check off for paid orders and having had to create separate statuses to keep an eye on upaid for orders (some special customers are allowed to pay AFTER shipment.



To end with a positive note, I do love it that statuses can be color-coded, I use a separate Excel-sheet with color-codes as well and was able to mimick them with the status-codes.



Yvana