Paid Invoice via WorldPay not marked as 'Paid' on QuickFile

Hi Glenn,

I have just recently setup the payment integration for Worldpay so I can process all payments using this gateway. I sent a test invoice to myself for a small transaction and it was successfully processed by WorldPay but I noticed that the invoice was not marked as ‘Paid’. Even when you visit the invoice there is still the ‘Pay Online’ button visible. The invoice ID is 000110. Is there a certain time it takes before it is marked as ‘Paid’? Any help would be greatly appreciated. Thank you :smile:

It would appear that you have not fully completed the payment integration details on your Quick File account, please see our knowledgebase guide on ‘Setting up an online payment provider’: for further help, the details that need to completed are highlighted in the example below:

Hi Joe,

Thanks for your reply. When we spoke to Worldpay they told us that the MD5 key is not required. They also told us to leave the virtual terminal section blank as we do no accept phone payments. This would require a separate installation ID. We only intend to send customers invoices to make payments. The integration works well. We are able to process payments successfully when a payment is made via the invoice link. The only problem is that the invoice does not get marked as ‘Paid’ :smile:

I’ll refer this to our engineers and return to you.

Some Worldpay customers have two installations, one for web based payments and one for telephone payments (virtual terminal). The VT installation is usually the same, minus the 3D Secure. If you don’t use this feature fill out the same details for both.

The MD5 is a security measure as it prevents people tampering with the payment token. Without this people (with sufficient knowledge) can use their browser to modify the amounts and trick the system into thinking that the invoice is fully paid when it isn’t.

Hi Glenn,

Thanks for the MD5 information, I was not aware of the importance of this. WorldPay simply told me it was not relevant in our case. I have updated the installation ID details for both terminals and included an MD5. I noticed that in my WorldPay account there is something called SignatureFields. Do I need to enter something here relevant to Quickfile or can I simply leave it blank?

Also I have just performed another live transaction and it worked successfully. However the same problem persists. Invoices that have been paid are not being marked as paid. Please could you update me once you guys have spoken to your engineers. Thanks in advance :smile:

You can leave signature fields blank you just need to make sure you’ve entered the same MD5 key in Quick File and Worldpay. I will check with our engineers to see why those invoices aren’t getting automatically marked as paid.

Hello Glenn,

Did you discover what the problem was in the above thread? I’m experiencing the same issue - can take payment via worldpay but the invoice does not update to ‘paid’. I have the setup completed including MD5 key. Any ideas?


We use Worldpay internally but haven’t noticed any instance where payments aren’t getting auto-logged. I will PM you for precise info on the transaction and we can take it from there.


OK we found an issue with users who already have a callback URL saved in their Worldpay CMS system. Here’s what you need to do to get the payments working if you’re encountering this issue.

You will need to log into Worldpay and go to installation and then production installation settings (look for a spanner icon). You should then find a field ‘Payment Response URL’, enter and save the following value into this field.

http://<WPDISPLAY ITEM=MC_callback EMPTY="">

Don’t forget to swap the URL for your actual callback URL (i.e. the one your using on your website if applicable).

After that it should work fine. Basically you’re telling WP to use your URL if no callback URL is supplied. As we are supplying the URL it will then be overriden.

This is rather complicated for the average user, but this is how Worldpay are doing things for the time being.