New payment gateway isn't showing any payment types enabled

I set up a custom payment driver for Forte payments and it does show as an activated gateway, with bank transfer payments working fine. I am running into an issue with the credit card payments where it doesn’t go through because the service fee isn’t added.

In my invoiceninja dashboard the gateway shows no payment types enabled`, therefore I can’t add in the service fee. How can I fix this? Any help is appreciated. I tried using php artisan make:migration to add the gateway but it didn’t change anything. Sorry, I am not proficient with laravel/php.

Here is the payment driver code:

Edit Gateway: Limits/Fees

1 Like

Other Images:

Gateway Overview
Gateway Settings

@david do you have any thoughts?

1 Like


Nice work on the driver!

I think what you may need to do is modify your App\Models\Gateway.php file at the method

    public function getMethods()

You’ll want to configure an array of gateway types for your Forte Gateway, $this->id = primary key of your gateway in the gateways table.

I believe @hillel uses this array in the admin portal to build out the gateway payments types?

1 Like

Thank you! I’ll try it out today and get back to you!

@david I just pulled up the gateways table and I actually don’t see it showing at all. How could it be working as a gateway but not showing in the gateways table?


I would have assumed that as part of implementing the gateway driver, you would have inserted a row into the gateways table?

1 Like

I thought I did, but in the Gateways database it’s not showing. That’s what’s confusing me. Im not sure where the row ended up…

@david I got it working! I realized I put the database entry into client_gateways. I was able to integrate the service fee and get it working for both CC and ACH. InvoiceNinja is great, I appreciate you guys making it open and only charging $30 to white label!

Would it be helpful for me to share the driver through github for future development?

Glad to hear it’s working! To be clear, the white label license is for individual use. The license does not allow reselling the app as a SaaS solution.

1 Like

Of course! I wouldn’t plan on selling it, nor know where to do so :slight_smile: I own a small healthcare related company and I wasn’t happy with other billing options. InvoiceNinja is helpful because I was able to utilize Forte payment systems (who had the best pricing of any payment processor I looked into) along with my invoicing. Before it I was using quickbooks invoicing but needed to send my clients to a separate gateway page. That didn’t feel very professional so invoice ninja was the only good option to make it work, despite me being mostly code illiterate. I bought the white label for my own use.

I was asking about if I should publish the custom driver I have on github for your team to use in a future update.

Awesome! Sorry to be so suspicious, since launching the new version of the app resellers have become more of a problem.

Thank you, that’s very much appreciated. I think the best approach would be to fork the repo and submit the driver as a pull request. This would make it available to all users of the app.

cc @david

1 Like

No worries, people love to take advantage unfortunately, even when you are offering the teams hard work for free to people.

One thing that might not be a bad idea is offering it as an AMI on the aws marketplace. You could probably earn some funds for the team that way as well. I would’ve used it.


Thanks for the suggestion, we’ll look into it.

1 Like

@daninger4995 Thanks for sharing your code, gonna try to implement a Payment Gateway for a Brazilian provider. I am pretty sure it will help.

1 Like

Don’t mean to thread jack, but hopefully someone can help. I just set up v5 and went into the db and enabled a couple options that weren’t showing by default. I ran php artisan optimize refreshed a couple times, but the same options are still showing when I go to create a new gateway. I feel like I’m missing something pretty simple, help please :slight_smile:

If you have modified the database, you’ll need to run either Settings > Device Settings > Refresh data

or also increment the updated_at column as the app only brings in changes based on the updated_at column.

Updated the “updated_at” column for one new gateway I wanted to show, it didn’t work.
Same for the refresh data idea.

Any other ideas on how to get that list to refresh?