reverbdotcom / reverb-magento

Magento 1.x plugin for syncing with Reverb
Other
7 stars 10 forks source link

Orders on Reverb that are "verifying payment" are invoiced and appear fully paid in Magento #134

Closed StevenWolfe closed 9 years ago

StevenWolfe commented 9 years ago

In Magento orders which haven't yet been paid are typically in a "Pending" status; once payment is received they get invoiced and change their state to "Processing" which indicates that they are ready to fulfill/ship.

Currently Reverb orders which are in a "We're verifying this payment...please wait to ship." status on Reverb are being imported and invoiced in Magento, which adds them to the shipping queue.

It would be best if the extension mapped these Reverb->Magento statuses:

Alternatively (although a bit unconventional) these orders could be placed into Magento's On-Hold state.

dunagan5887 commented 9 years ago

Steven,

In the system, anything which is "Pending' means it is eligible to be processed; "Processing" means that the cron process is literally executing the task at that exact time.

Given this, it sounds like you wouldn't want orders to be synced at all until the orders are in "Payment Verified" step, is that correct? At that point, should an invoice automatically be created for them upon syncing in the Magento system?

StevenWolfe commented 9 years ago

I'm referring to the state/status of the sales/order model (not the reverb order sync task)

skwp commented 9 years ago

@StevenWolfe if you want only paid orders you can change your settings to pull from the Awaiting Shipment endpoint in the configuration screen, I think that will take care of what you're asking about?

StevenWolfe commented 9 years ago

I can do that, but then I'd strongly suggest removing the ability to import unpaid orders. It's extremely likely to result in problems where orders are shipped before being paid. It's misleading and inaccurate to mark an Order as paid in Magento before it's been cleared to ship by Reverb.

skwp commented 9 years ago

I think in our ideal world sellers take items off the shelf when they have an accepted offer (unpaid order). The inventory should be held and not double sold at that time. So we want to guide people in that direction. Maybe we just need to separate the magento invoicing process as you've pointed out here so we don't invoice the order until it's paid. If I understand correctly there's a state where you can see the order but it's not yet invoiced?

dunagan5887 commented 9 years ago

Yes, the Magento "Pending" state indicates "Order has been placed but payment has not yet been verified/invoice has not been created". Magento's "Processing" state means that the invoice has been created and payment has been verified.

skwp commented 9 years ago

@dunagan5887 so we do need to fix up our process not to immediately put orders into Processing and keep them Pending? an Order that is "paid" is ready to go so when we get that status update it should change to Processing

dunagan5887 commented 9 years ago

I wouldn't call it "fix up" as much as "refactor/update". I'll have to change the Reverb Payment method to not invoice orders automatically. I'll then have to create a "paid" status event observer which will trigger invoice creation.

skwp commented 9 years ago

Let's put it on the list, thanks

skwp commented 9 years ago

139 is going to address this

skwp commented 9 years ago

dupe #139