PayPal 10412: Payment has already been made for this InvoiceID.

Started by jooomlaa, September 25, 2013, 20:43:44 PM

Previous topic - Next topic

jooomlaa

Hi, sorry for german post:

Ich habe einen Kunden mit mehreren Shops, die alle über die gleiche PayPal-ID arbeiten. Nun wurde eine PayPal-Zahlung abgewiesen mit folgendem Hinweis:
"Wir sind nicht in der Lage Ihre Zahlung durchzuführen, bitte versuchen Sie es noch einmal.
10412: Payment has already been made for this InvoiceID."


Ich habe bei PayPal noch folgende Hinweise zum Fehlercode 10412 erhalten:
10412 | Duplicate invoice | Payment has already been made for this InvoiceID?. | Payment already made for the invoice.

Ich gehe davon aus, dass eine Rechnung die mit einem der Shops erzeugt wurde, mit einer Rechnung kollidiert, die nun bei einem anderen Shop erzeugt und an PayPal übermittelt wurde. PayPal meint, die wäre schon bezahlt.

Nun habe ich mir die Erzeugung der Rechnungsnummern mal angeschaut. Sind ja leider keine einfach hochzählenden Integer. Meine Idee war, für die verschiedenen Shops unterschiedliche Rechnungsnummernbereiche vergeben zu können, z.B: ab 1.000.000 und ab 2.000.000 usw. Aber das geht wohl so leider nicht.

Hat jemand eine Idee, wie man das Problem zuverlässig umgehen könnte.
Liege ich überhaupt richtig mit meiner Vermutung für die Fehlerursache?

alatak


ssc3

Quote from: jooomlaa on September 25, 2013, 20:43:44 PM
Translation by Google Toolbar

Hi, sorry for German post: I have a client with several stores, all working on the same PayPal ID. Now, a PayPal payment has been rejected with the following note: "We are not able to pay by out, please try again. 10412: Payment has Already been made ​​for this InvoiceID. " I have at PayPal, the following information about the error code 10412 receive: 10412 | duplicate invoice | Already payment has been made ​​for this InvoiceID?. | Already made ​​payment for the invoice. I assume that an invoice has been produced by one of the shops, collides with a bill that has now produced at another shop and transferred to PayPal. PayPal says that would have been paid. now I have to generate the invoice numbers looked at times. Are unfortunately no simple incrementing integer. My idea was to be able to assign different invoice number ranges for the various stores, eg: starting from 1,000,000 and 2,000,000, etc. But this does not work so well, unfortunately. Has anyone an idea how to work around the problem reliably. Am I at all right with my assumption for the cause?

Apparently the invoice number is made up of date, random and sequencial elements so you if you have more than one shop there is a chance of duplicate invoice numbers.
I am not sure if this can be changed from Virtuemart yet, but someone has a third party solution at http://forum.virtuemart.net/index.php?topic=111147
Virtuemart Payment Plugins
https://plugins.online-store.co.uk

jooomlaa

@ssc3: wow! thx for translation!!
this third-party solution is a option i will try out.

I am afraid that the reason for this error is not that I had suspected.
With VM (2.0.22c) I use some extensions that interact here (newest build of OnePage-Checkout  ?.197, PayPal-Express-SCC 1.0.17). Each of these could cause the error.

Which id's paypal check for unique: ~_virtuemart_invoices.virtuemart_invoice_number, ~_virtuemart_invoices.virtuemart_order_id, ~_virtuemart_orders.order_number ...?

ssc3

Both PayPal standard and Express are using the order_number as generated by Virtuemart as their invoice number.
However it would be possible for the payment plugin to append an individual shop identifier or name to the invoice number to distinguish between invoices from different shops.
We may add that to a future version of Express.
Virtuemart Payment Plugins
https://plugins.online-store.co.uk

jooomlaa