If you are receiving email with this title: “EDD FastSpring: an error occurred!” and the first line of the email is: “pp-edd-fs-logger.ERROR: This order ID: fs_order_id_goes_here (ref: fs_order_ref_goes_here) was already processed in the EDD payment ID: edd_payment_id_goes_here“, then this means, that FastSpring (FS) has unprocessed webhooks events.
Note: This is not a problem, nothing is really wrong, you can simply ignore these emails and after 24 hours, the emails should stop. Although, you will get a lot of email in that time…
These FS webhook events were already processed by your site (with our plugin), but FS does not know about that, so you have to manually let FS know, that this webhook event was already processed. Let’s look at the steps needed to make that happen.
Retrieve all FS unprocessed webhook events:
- you will need a tool, to send GET and POST requests to FastSpring API. I recommend the Postman app. Download and install it on your computer
- In the Postman app in a new tab, where it says “enter request URL”, input this URL:
https://your_fs_api_username_goes_here:your_fs_api_password_goes_here@api.fastspring.com/events/unprocessed?days=14 - replace the your_fs_api_username_goes_here with your FS API username and replace the your_fs_api_password_goes_here with your FS API password. You can get these details from the plugin settings on your website (Downloads » Settings » Payment Gateways » FastSpring). Don’t forget there is a colon character separating the username and password in the above URL.
- Leave the request type on GET and click on the “Send” Button.
- A JSON response should be returned and and in the data attribute, you will see an array of all unprocessed FS webhook events on your account. You will need the IDs of these events to mark them as processed, so copy paste them to a text file, for later use.
Mark an FS webhook event as processed:
-
- create a new tab (new request) in the Postman app
- set the request type to POST
- in the URL field input this URL:
https://your_fs_api_username_goes_here:your_fs_api_password_goes_here@api.fastspring.com/events/id_of_the_unprocessed_webhook_event_goes_here - replace the your_fs_api_username_goes_here with your FS API username and replace the your_fs_api_password_goes_here with your FS API password. You can get these details from the plugin settings on your website (Downloads » Settings » Payment Gateways » FastSpring). Don’t forget there is a colon character separating the username and password in the above URL. Replace the id_of_the_unprocessed_webhook_event_goes_here with one ID you got from the previous steps
- In the Body tab, select the raw type, a dropdown will appear on the right hand side. In this dropdown select JSON. In the content bellow past this text:
{"processed":true}
- Click on the “Send” button.
- This will mark the webhook event as processed.
- If you have more unprocessed event IDs to mark, then just keep replacing the id_of_the_unprocessed_webhook_event_goes_here from the step 4 and clicking on “Send”.