Предполагаю, что для каждой страны есть свои особенности.
Например, в России проще всего подключить Яндекс.Кассу - в ней много вариантов приема денег, а на сайте всего один функционал обеспечивающий это.
Если подписка нужна, то можно Laravel Cashier (
https://laravel.com/docs/6.x/billing), как вариант.
А так, нужно смотреть чем больше всего пользуются у вас в стране и принимать решение.
Либо под каждый тип оплаты писать свой функционал. Я и с таким проектом работал (на нативном пыхе) - где банков 10 для оплаты и каждый отдельно добавляли.