Self-Hosted v4.5.6 - PCI Compliance Logo & Email Woes

Hello!

I was wondering if there is a way to place the PCI compliance site seal somewhere on the invoice payment screen. It would be a nice bonus for customers to see that the site is both 256-bit encrypted and PCI compliant!

I am also having a very puzzling email issue - every time an invoice is paid via credit card, the first client who ever paid via credit card gets a payment confirmation in the amount of the invoice they paid, and so do I! I’ve done an SQL dump, purged data and re-imported everything but the problem persists!

Thanks in advance for the help :slight_smile:

You’d need to modify the source code.

Have you made any manual changes to the database?

Hello Hillel!

I’ve modified code for Invoice Plane and Fusion Invoice successfully in the past - if it’s OK for me to do that would you be able to send instructions, or the file that would need to be modified? I’m a White Label user if that’s a per-requisite :slight_smile: I’d like it to show up when the customer chooses Credit Card from the drop-down!

I actually did have to do a manual SQL import for all of my payments, for some reason when I used the built-in import feature it refused to import the payment dates, so it looked like all of my invoices since 2014 were paid in 2018 - very problematic!

Is there a particular entry in the database that would be causing this, or should I just delete the “problematic” sale and re-enter it manually?

Thank you!!

resources/views/payments/credit_card.blade.php

Is the date formatted as YYYY-MM-DD?

Yes the date was formatted correctly when I tried importing through the Setting in Invoice Ninja, and also when I attempted to import the data as a CSV via phpMyAdmin, but for some reason it didn’t “stick”.

I re-formatted it into an SQL query and imported it that way; the dates are now correct for all of my invoice but I believe I’ve found a potential problem. Is it OK if I PM you a screenshot of what I’m looking at in phpMyAdmin?

We STRONGLY advise against manually editing data in the database, it will very likely break the app. A lot of data is cached for performance reasons.

Feel free to email it to [email protected].

Understood, I didn’t realize there was caching for this particular part, if we can get it fixed I will make a backup and never mess with it again lol!

I’ve emailed the file - ‘invoice_id 1795’ is the exact invoice that the payment confirmation email is being sent out for every time anyone pays via credit card. The ‘id’ for that invoice and each one following it is 0 which is clearly not correct!

Thanks a million for your help, if there’s a way I can donate something to the cause please let me know! I’ve done a considerable amount of database work with my previous invoicing systems without issue, but if I had known I was going to bungle this up I would have asked before doing so!!

I’ve looked at the screenshot but it doesn’t explain the problem.

Is it possible the client exists as a user?

Do you mean a user listed under “User Management” in settings? Unfortunately not, I’m the only user there. I’ve checked their client portal side out and everything is accurate.

I’m wondering if I’ve explain the issue correctly, every time I think about how to explain it I end up confusing myself lol. Here’s a scenario just in case:

  • "Customer A" paid "Invoice 10" in the amount of $19.20
  • I imported SQL to the payments database directly afterwards
  • Now when any credit card payment is made, "Customer A" gets another payment confirmation for "Invoice 10"
  • I also get a payment received email with the correct invoice number, but for $19.29 from "Invoice 10" instead of the actual invoice amount

The person who actually paid the invoice receives a confirmation with the correct invoice number and the correct amount, so that’s good!

Sorry, I’m not sure…

No one else has reported this issue so I think the problem is more likely with the data than the code.

It appears that I had two invoices with duplicate public IDs somehow but I believe I’ve fixed it! I did a test sale and received a correct payment confirmation email to my personal email and a correct payment received email to my business email!

The only potential problem I see is that a new ‘id’ is not being assigned for each new payment (the first column in the payments database). Is it possible this could present a problem in the future?

Yes, that will be a problem

Wow you’re quick, much appreciated! Would a full SQL dump, purge and restore be recommended?

I’d suggest starting with an empty database, the purge in the app may not work any more due to the changes.

Understood, I will give that a shot and report back.