How To Add Invoice Prefix to WooCommerce PayPal Pro Payment Gateway to Solve Duplicate Invoice ID supplied Error
If you are using WooCommerce PayPal Pro Payment Gateway on multiple websites you might experience “Duplicate Invoice ID Supplied” error. There are really two ways how you can solve that problem.
1st – Modify your PayPal settings (not the best option).
2nd – Add unique “invoice prefix” (best option).
Solve Duplicate Invoice ID supplied Error by changing your PayPal Settings
In order for you to be able to accept multiple payments for the same invoice you need to turn that setting on in your PayPal account.
To do so go to:
Click “Update” next to block payments
Select “No” under Block accidental payments: You may prevent accidental payments by blocking duplicate invoice IDs
Done! Now you can accept multiple payments for the same invoice.
Add unique “invoice prefix” (Better Option)
Now, the option that we suggest is adding a “unique invoice prefix” for each of the websites that you are using WooCommerce PayPal Pro Payment Gateway on.
To do so go to “Plugin Editor”: in your WordPress Admin Menu
Select WooCommerce PayPal Pro from the dropdown
Select the file woo-paypal-pro-gateway-class.php
Scroll down to the follow line (line number around 381-382) ‘INVNUM’ => $this->order->get_order_number(),
And change it to the following: ‘INVNUM’ => “Your-Prefix-Here” . $this->order->get_order_number(),
IMPORTANT! DO NOT USE ANY SPACES OR SPECIAL CHARACTERS IN YOUR INVOICE PREFIX
Done! Now your invoice will have custom invoice prefix and you no longer should be getting Duplicate Invoice ID Error.