Help

2

What is the intended function of the PayPal IPN handler?

Avatar
Matt Taylor

What is the PayPal IPN processor intended to do?  I assumed that it would create a Payment Transaction record (Settings -> Payments -> Payment Transactions) using the data in the PayPal Instant Payment Notification.  Instead, the PayPal module tries to find an existing transaction that matches the notification coming from PayPal.  Since the transaction doesn't exist, I get an error message:

ERROR  openerp.addons.payment_paypal.models.paypal: Paypal: received data for reference SAJ/2014/0406; no order found

How are Payment Transaction records created, if not from the IPN data?

I'm using 8.0, and testing with master.

4 Comments
Avatar
Discard
Avatar
Matt Taylor
-

The only calls to the create() method self-test code. Am I required to write some code to get this working?

Avatar
Matt Taylor
-

I see some s2s (server2server) methods, but I don't see any code that calls them. Is there some documentation for how this should be used? Do I need some other module?

Avatar
Matt Taylor
-

There are a lot of people that report success with this feature. How do they do it? Can't some one give me a clue? Just a little hint? Maybe I am asking the wrong question. Do I need to clarify what I am asking?

Avatar
Matt Taylor
-

I have customers using the portal to pay multiple invoices. They need some indication of which invoices have been paid, so they don't try to pay them twice.

2 Answers
1
Avatar
Fabrice Henrion (fhe)
Best Answer

1. It highly depends on the exact version of Odoo that you are using: v7-SaaS3? SaaS4? SaaS5? Odoo trunk pre-v8-release? Odoo 8 final?
2. Did you configure your Paypal account to send the IPN?
3. When Odoo receives the IPN message from Paypal, Odoo will change the existing payment transaction's status from Draft to Done. The payment transaction is initially created in Draft before the payment is successful (known via IPN); depending on which exact version of Odoo you are using, this payment transaction could be created when a visitor clicks on the last "Buy" button in the Odoo checkout process, or at a different time.

2 Comments
Avatar
Discard
Avatar
Matt Taylor
-

Okay, Thanks Fabrice. I'm really not doing e-commerce. My customers click the PayPal button on the invoice in the customer portal. So, do I need to write some code to create the transaction when the customer clicks the PayPal button? It's probably easier to just call the create method when I receive the IPN. I'll use the IPN data to create and complete the transaction. Unless you have a better way.

Avatar
Cliff Kujala
-

I'm in the same situation as @Matt. Can the PayPal Acquirer be setup to automatically record, and reconcile payments customers make via PayPal from the link included in the emails we manually send for invoices from Odoo v8 Final? Also, those links don't respect the settings we configure for any added fees for the PayPal payments. Did you find a solution @Matt?

0
Avatar
Anton Chepurov
Best Answer

@Matt,

How did you end up solving this?

UPD: this could be helpful, as a nice starting point:

https://github.com/laslabs/odoo-payment/blob/release/8.0/payment_authorize_auto_reconcile/models/payment_transaction.py

Avatar
Discard