I've been struggling with this all day. I have the Paypal acquirer all setup. It goes smoothly, returns to the customer portal and says the payment was accepted. But it never applies to the SO.
I've been following this bug, and all related links found within, and have tried the solutions listed in there without avail: https://github.com/odoo/odoo/issues/768#issuecomment-215951673
That is, I've tried:
-setting 'return url' in paypal to https://website.com/shop/confirmation
-checked that my web.base.url matches the above URL's, and added the freeze url option as well
-setting language encoding to UTF-8
-adding/removing merchant ID from the payment acquirer in Odoo
The Paypal transactions show up as "Done" in "Payment Transactions" but just won't apply to the SO still.
Or so I don't think so, where would an SO be marked as paid anyways, if there is no invoice created?
Edit: I also noticed that if I go into Account->Dashboard->Customer Invoices->More->Payments Matching and reconcile various payments, they still aren't applied to the invoices.
Assuming v9e, here are a couple things to know on this topic:
The call back from the acquirer is managed by the payment.transaction model. As you pointed, a "Done" status means it was successful. Any other status means it wasn't successful (either because the user killed his browser page before submit, or because he submitted and it didn't go through for some reason).
The fact that the quotation gets confirmed into an SO automatically depends on the exact Odoo version you are on. There have been several changes around this.
Configuring Paypal (on the Paypal side) is not straightforward. If you want to make sure your Paypal is properly set up, make sure to read all of the following:
As of June 2016, it is not possible to automatically generate an invoice, a payment, and reconcile them in standard when a credit card is processed. This needs to be done manually and it's ok for majority of businesses. Also the statement reconciliation widget makes it very quick (so you can bypass the payment registration and the invoice reconciliation). The automatic generation of invoice, payment, and reconciliation is on the roadmap and should land in an upcoming SaaS release and in v10e. In the meantime, it's all a matter of volume: if you have say less than 100 invoices per month, you can take care of the invoice creation manually without problem; on the other hand if you are an ecommerce merchant with thousands of sales per month, you will probably want to write a short server action to automate this.
In v9e, a payment is 'processed' on an SO and is 'registered' on an invoice. The link between the processed payment and the SO is on the model payment.transaction; the link between the registered payment and the invoice is the reconciliation code in the corresponding A/R journal items. It is not possible to process a payment on an invoice (coming in v10e); it is not possible to register a payment on an SO (and it shouldn't considering this is an accounting operation).
Payments (transactions, tokens, S2S, recurrence,...) are being revamped for v10e in order to allow for more use cases than what is possible in v9e.
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 6/19/16, 9:39 PM|
|Seen: 327 times|
|Last updated: 6/21/16, 5:08 AM|