Hi,
When I try to add a basic payment to an order through the admin screen, I select the basic payment, enter an amount, and click add payment. Nothing happens. The page refreshes, the balance isn't updated, and no payment is created. Checking my watchdog logs, the following errors appear:

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in payment_commerce_form_process_submit_form() (line 237 of /homepages/40/d120381516/htdocs/sites/all/modules/payment_commerce/payment_commerce.module).

and

Notice: Undefined index: buttons in payment_commerce_form_process_submit_form() (line 237 of /homepages/40/d120381516/htdocs/sites/all/modules/payment_commerce/payment_commerce.module).

Any thoughts?

CommentFileSizeAuthor
#4 payment_commerce_1949618_00.patch395 bytesxano

Comments

xano’s picture

1) Not all Payment payment methods can be processed this way. There is currently no way to let the system know which ones that are, so that should be added. Basic payment method should work, though.

2) When I try to add a payment using the terminal, it fails, simply because Payment's payment/payment method validation kicks in and says there are no available payment methods (which shouldn't happen either).

xano’s picture

Title: Errors on creating basic payment » Support payments through the Commerce Payment terminal

This requires more fundamental changes. Currently, we execute Payment payments in the redirect pane, which does not exist for terminal payments. This means we'll have to add one or two metadata properties to payment method controllers:
- "requires payer action": whether payments using the controller need the payer to perform actions during payment execution.
- "interrupts context workflow": whether executing a payment using the controller interrupts the context's workflow, e.g. by redirecting the user off-site.
If either of these are true, administrators cannot use this controller to add terminal payments.

phiscock’s picture

This isn't working for the Basic payment method for me. I find that I getting these same two errors when I try to make a payment through the commerce payment screen.

xano’s picture

Assigned: Unassigned » xano
Status: Active » Needs review
StatusFileSize
new395 bytes

Supporting terminal payments requires fundamental changes to Payment. Until those changes are made, let's make sure that Payment payment methods are not exposed at all.

xano’s picture

Title: Support payments through the Commerce Payment terminal » Do not allow payment methods to be used for terminal payments
xano’s picture

Can you please confirm whether this works?

Christopher Riley’s picture

Version: 7.x-1.3 » 7.x-1.x-dev

It works for me with the latest dev version.

xano’s picture

Status: Needs review » Fixed

Thanks for the reviews!

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

xano’s picture

Assigned: xano » Unassigned