1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-13 22:54:25 +01:00
Commit Graph

257 Commits

Author SHA1 Message Date
David Bomba
bff18c126a Fixes for SOFORT 2021-09-21 21:38:35 +10:00
Benjamin Beganović
1a4543bc0c Support for payment_intent.succeeded event 2021-09-20 08:11:05 +02:00
Benjamin Beganović
69662cd4f7 Fixes for webhook accepting 2021-09-14 15:25:30 +02:00
David Bomba
8d733ed725
Merge branch 'v5-develop' into v5-develop 2021-09-14 22:02:06 +10:00
David Bomba
778cf73ad1 Fixes for Sofort 2021-09-14 22:01:28 +10:00
Benjamin Beganović
15eeb6d101 Change accepted webhook type 2021-09-13 17:10:59 +02:00
=
03ec5e042d Stripe Connect Compatible refunds 2021-09-09 21:46:03 +10:00
David Bomba
03ed1c3aea Search for stripe customers by email 2021-09-01 08:22:24 +10:00
=
f7b7732f04 Working on importing stripe customers by id 2021-08-20 22:44:39 +10:00
David Bomba
45a8d2066e Stripe import algo 2021-08-18 10:15:11 +10:00
David Bomba
1d4b331123 Disconnect Stripe Connect 2021-08-17 14:01:11 +10:00
David Bomba
10fd93185d
Merge pull request #6468 from turbo124/v5-develop
Fixes for support messages
2021-08-16 19:02:53 +10:00
David Bomba
cde5f527e1 Working on ApplePay 2021-08-16 08:54:11 +10:00
Benjamin Beganović
b7f8485c53
Merge pull request #6450 from beganovich/v5-626
(v5) Mollie improvements
2021-08-15 19:13:23 +02:00
David Bomba
aada0cfa41 Throw exceptions for StripeConnect Failures 2021-08-15 16:21:18 +10:00
David Bomba
5f0efcffc5 Fixes for Stripe exceptions 2021-08-15 15:30:46 +10:00
=
383caa6439 Stripe Verify 2021-08-15 15:13:20 +10:00
David Bomba
e065789315 Stripe Payment Driver 2021-08-15 07:33:56 +10:00
Benjamin Beganović
800025bf5d Add sleep(2) to allow the app to catch up with speed of webhooks 2021-08-13 07:53:00 +02:00
David Bomba
8dbbfce0a5
Merge pull request #6388 from beganovich/v5-611
(v5) Refactor webhooks
2021-08-12 21:18:41 +10:00
Benjamin Beganović
4e6477d441 Show or hide post code in Stripe elements based on company settings 2021-08-09 14:05:39 +02:00
Benjamin Beganović
ab890f770e Stripe: Support for new webhooks format 2021-08-04 16:19:01 +02:00
David Bomba
6d8ac6aa35 Minor fixes 2021-07-29 13:37:23 +10:00
David Bomba
da177661ec Fixes for subscriptions 2021-07-15 21:00:24 +10:00
David Bomba
c28321a22a Minor fixes for subscription activities 2021-07-05 08:11:43 +10:00
David Bomba
d353ef9a5f Fixes for gateways 2021-06-30 21:21:46 +10:00
David Bomba
1922fa16fc
Merge pull request #6166 from turbo124/v5-develop
Fixes for check data scripts
2021-06-30 18:40:32 +10:00
David Bomba
7f13a79623 Fixes for stripe payment currency amount 2021-06-30 13:56:11 +10:00
Benjamin Beganović
722f1b43ea Stripe: Checking if credit card / bank is enabled 2021-06-29 12:32:44 +02:00
David Bomba
6d94d0d05f Minor fixes 2021-06-28 20:55:31 +10:00
David Bomba
36f6cbbcc9 Update license in codebase 2021-06-16 16:58:16 +10:00
Benjamin Beganović
3f729bedde Throw PaymentFailed (generic) exception 2021-06-15 18:52:15 +02:00
David Bomba
31c8eb1a19 Fixes for stripe import customers 2021-06-15 11:09:12 +10:00
Benjamin Beganović
ec13e6dd14 Fixes for accepting ACH webhooks 2021-05-29 12:57:39 +02:00
Benjamin Beganović
a4b1816774 Drop address2 & shipping_address2 fields from required 2021-05-25 18:30:50 +02:00
David Bomba
9193484a7d Fixes for migration 2021-05-21 20:08:48 +10:00
David Bomba
52c3d63349 Refactor system logger to enable multidb 2021-05-19 11:12:23 +10:00
David Bomba
12d8da942e Import stripe customers and update their payment methods 2021-05-17 18:56:14 +10:00
David Bomba
0347ca00f5 Update payment methods for Stripe 2021-05-17 14:02:43 +10:00
David Bomba
e8adae6568 Fixes for Stripe Connect 2021-05-12 13:00:46 +10:00
David Bomba
619179aba0 Fixes for Stripe Connect 2021-05-12 12:03:46 +10:00
David Bomba
06a242625b Fixes for stripe authorize card 2021-05-12 10:13:42 +10:00
David Bomba
744a4d62d8 Fixes for stripe authorize card 2021-05-12 08:04:55 +10:00
David Bomba
2b1e0b4931 Fixes for stripe authorize card 2021-05-12 07:58:18 +10:00
David Bomba
b1d250e999 Fixes for stripe authorize card 2021-05-12 07:30:22 +10:00
Benjamin Beganović
b108dda5e0 Set 'optional' to address_line_2 in gateways 2021-05-11 15:15:51 +02:00
David Bomba
e6c083cf29 Stripe Connect 2021-04-20 21:30:52 +10:00
Benjamin Beganović
972c1ef56e wip 2021-03-29 15:51:03 +02:00
David Bomba
5700da5323 Fixes for password protection 2021-03-22 22:18:57 +11:00
Benjamin Beganović
63060cd878 Stripe: Show required fields if enabled in admin panel 2021-02-15 14:58:25 +01:00
Benjamin Beganović
c56d88bba1 wip 2021-02-08 16:39:04 +01:00
Benjamin Beganović
66c81d9b51 wip 2021-02-04 17:19:28 +01:00
Benjamin Beganović
0db9f41a70
Merge pull request #4779 from beganovich/v5-2701-stripe-countries
(v5) Define countries availability for Stripe
2021-01-29 00:31:08 +01:00
David Bomba
756f421319 Add gateway fees for autobill 2021-01-28 08:31:31 +11:00
Benjamin Beganović
44f6dd3e4d Define countries availability for Stripe 2021-01-27 13:36:10 +01:00
Benjamin Beganović
0c7ae3bca8
Merge pull request #4775 from beganovich/v5-2701-disable-google-apple-pay
(v5) Disable SEPA, Apple, Google PAY
2021-01-27 12:01:24 +01:00
Benjamin Beganović
b11972c369 disable sepa & applepay 2021-01-27 12:00:42 +01:00
David Bomba
9b72acf506 Payment notifications for autobilling 2021-01-27 21:56:50 +11:00
David Bomba
b4bf6cc760 Add document list view 2021-01-27 21:38:28 +11:00
David Bomba
b5ff2d8a02 Fixes for company gateway payment method resolution 2021-01-27 12:06:25 +11:00
Benjamin Beganović
4413580b39 Add authorize view for SOFORT 2021-01-19 16:07:58 +01:00
Benjamin Beganović
b014aecc7d - Add getClientRequiredFields in BaseDriver.php
- Pass $fields in @required-client-info
- Don't show form if fields are satisfied
- Remove $gateway reference in RequiredClientInfo.php
- StripePaymentDriver.php required fields
- Removed old-redirect logic for required fields
2021-01-13 13:31:00 +01:00
David Bomba
934610a01c Update copyright + version bump + set canadian dollar symbol to $ 2021-01-04 08:54:54 +11:00
=
7a058c9ae6 Move logging to nlog 2020-12-30 08:10:03 +11:00
Benjamin Beganović
5a8dfd85eb Apply php-cs-fixer 2020-12-21 11:46:46 +01:00
Benjamin Beganović
7764833037 Update Stripe's amount with fee:
- Update Sofort to support latest architecture for payments
2020-12-21 11:46:10 +01:00
Benjamin Beganović
942652b668 Update webhooks to support Checkout.com & apply php-cs-fixer 2020-12-17 12:27:15 +01:00
Benjamin Beganović
d3033c902d wip 2020-12-16 15:25:42 +01:00
Benjamin Beganović
b373a3df52 fix stripe refunding & apply php-cs-fixer 2020-12-01 13:46:09 +01:00
David Bomba
b3cdb19b4d
Merge pull request #4362 from beganovich/v5-gateways-required-fields
(v5) Support for pre-checking gateway requirements
2020-11-26 06:57:48 +11:00
Benjamin Beganović
ae88d5e08e php-cs-fixer format 2020-11-25 15:19:52 +01:00
Benjamin Beganović
169e5ba93e support for checking requirements based on gateway 2020-11-25 14:38:49 +01:00
Benjamin Beganović
fca1d94afe Support for SYSTEM_LOG_TYPE in:
- Authorize.net
- Stripe
- PayPal
2020-11-16 13:36:29 +01:00
Benjamin Beganović
7f3c4ada5a Merge remote-tracking branch 'upstream/v5-develop' into v2-frontend-refactor 2020-11-01 19:26:43 +01:00
Benjamin Beganović
1ae2649be6 Stripe ACH authorization & verification 2020-11-01 18:47:48 +01:00
Benjamin Beganović
7d50430a9e Stripe with credit card:
- Remove createPaymentData from StripePaymentDriver
2020-11-01 16:37:41 +01:00
Benjamin Beganović
d2e677cb9d Merge remote-tracking branch 'origin/v5-stripe-backend-refactor' into v2-frontend-refactor 2020-11-01 14:49:11 +01:00
Benjamin Beganović
dab59138cc StripePaymentDriver:
- Added attach() method for attaching payment method to Stripe customer
- getStripeMethod() for getting method information out of Stripe
2020-10-28 16:31:47 +01:00
David Bomba
9aeb2d7a5b Psalm cleanup 2020-10-28 21:10:49 +11:00
Benjamin Beganović
b4b6bd3ae0 ach adding & verify, todo: payment 2020-10-20 17:54:08 +02:00
David Bomba
b12fe64a63 Refactor gateway types 2020-10-12 07:59:25 +11:00
David Bomba
407304d3c6 Console commands for small test data batches 2020-10-10 14:32:10 +11:00
Benjamin Beganović
f34410cdea Remove logging from StripePaymentDriver 2020-09-24 12:20:57 +02:00
Benjamin Beganović
9b4d166e10 Merge remote-tracking branch 'upstream/v2' into v2-1809-remove-omnipay-from-stripe 2020-09-24 11:36:41 +02:00
Benjamin Beganović
94ebf95caa Stripe use SDK to refund 2020-09-18 14:35:53 +02:00
Benjamin Beganović
71ca5d108c Detach payment methods from Stripe 2020-09-18 09:48:53 +02:00
David Bomba
ba75a44eb8
Laravel 7.x Shift (#40)
* Adopt Laravel coding style

The Laravel framework adopts the PSR-2 coding style with some additions.
Laravel apps *should* adopt this coding style as well.

However, Shift allows you to customize the adopted coding style by
adding your own [PHP CS Fixer][1] `.php_cs` config to your project.

You may use [Shift's .php_cs][2] file as a base.

[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200

* Shift bindings

PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.

* Shift core files

* Shift to Throwable

* Add laravel/ui dependency

* Unindent vendor mail templates

* Shift config files

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them so you can review the commit diff for
changes. Moving forward, you should use ENV variables or create a
separate config file to allow the core config files to remain
automatically upgradeable.

* Shift Laravel dependencies

* Shift cleanup

* Upgrade to Laravel 7

Co-authored-by: Laravel Shift <shift@laravelshift.com>
2020-09-06 19:38:10 +10:00
David Bomba
5eacb1abf8 Working on token billing with gateway fees 2020-09-04 08:01:17 +10:00
David Bomba
05ce11138e Fixes for payment number creation for online payments 2020-08-19 11:06:19 +10:00
David Bomba
cd4856e8db Helpers for gateway fees 2020-07-15 15:05:02 +10:00
David Bomba
d8a13e6cb2 Auto billing for stripe 2020-07-14 22:50:16 +10:00
David Bomba
4b81e209c4 Working on unattended token billing 2020-07-08 12:20:44 +10:00
Benjamin Beganović
f68465d602 Support Stripe webhook 2020-06-27 17:39:28 +02:00
Benjamin Beganović
525a1d065c Fix ACH payments with tokens 2020-06-26 13:25:58 +02:00
Benjamin Beganović
f6f999b801 Stripe refunds 2020-06-24 16:07:12 +02:00
Benjamin Beganović
f61ecef4f2 Make "setPaymentMethod" available in all drivers 2020-06-23 16:47:29 +02:00
Benjamin Beganović
19f1750f22 Various portal changes:
- Added 'currencies' variable to portal compoer
- Added verification logic to StripePaymentDriver
- Fixed 'CreditCard' data array with failures
- 'verification' translations
- ACH verification views
- Verification routes
2020-06-09 14:42:23 +02:00
Benjamin Beganović
b38ff39771 Refactor createPayment to accept custom status 2020-06-09 13:07:18 +02:00
Benjamin Beganović
06190362ee extract purchase response 2020-06-01 16:19:03 +02:00
Benjamin Beganović
fb793fe2f2 Remove old code from processPaymentView 2020-06-01 14:31:02 +02:00
Benjamin Beganović
b589814d7b Extract paymentView 2020-06-01 14:29:41 +02:00
Benjamin Beganović
cf503b4531 Extract Stripe utilites 2020-06-01 14:17:29 +02:00
Benjamin Beganović
b94ce97bac Extract response from authorization 2020-06-01 14:14:41 +02:00
Benjamin Beganović
0f4d7f6aed Refactor view for authorization 2020-06-01 14:03:18 +02:00
David Bomba
0a4464fc23
Payment Failure Notifications (#3755)
* Type Change for Payment Terms

* Fixes for payment terms casting

* Working on payment failure notifications

* Working on payment failure notifications
2020-05-26 20:22:50 +10:00
David Bomba
d3b29d8ae2
Fixes for Stripe (#3702)
* Fixes for tests

* Fixes for Stripe

* Mail jobs
2020-05-14 21:33:29 +10:00
Benjamin Beganović
a613cfed7c
Payment refunds (#3687)
* Fix whereClientId when starting payment

* Refunding using Paypal

* Refunding engine

* Cleanup and making refund method work

* Remove "refund" method from BasePaymentController

* Add "refund" to PaypalExpressPaymentDriver

* Extract refunding into own classes

* Apply php-cs-fixer to PaypalExpress

* Refunding with stripe
2020-05-14 11:04:23 +10:00
David Bomba
42ccfe0700
Checkout stubs (#3672)
* minor fixes for name spaces, collector facade and composer version bump

* Fixes for invoiceworkflowsettings

* Add more context to support emails

* Working on Firing Subscriptions

* Minor fixes

* Fixes for gateway filtering

* Checkout Driver
2020-05-04 21:13:46 +10:00
Benjamin Beganović
d516b1b097
Workflow settings for quotes & invoices (#3655)
* Fix inputs

* Workflow settings: Auto archive

- New InvoiceWorkflowSettings job
- Updated PaymentCreatedActivity to dispatch the job
- New 'Archivable' trait
- New 'archived_at' field

* Workflow settings: Sending e-mail to client with auto_send

* Workflow settings: Quotes

* Fix HTML markup

* Fix archive & sending

* Remove Archivable trait & migration file

* Change order of sending the events
2020-04-28 09:50:54 +10:00
Benjamin Beganović
e93bdffc0b
Fixes for Stripe payments (#3542)
* Payment fixes:
- Added new "process.js" inside of webpack.mix.js
- BasePaymentDriver now accepts raw array, no explode
- StripePaymentDriver now accepts raw array, no explode
- Removed 'form-control' class from #card-element
- New credit_card for processing payment

* Production build of assets
2020-03-26 00:08:37 +11:00
Benjamin Beganović
ac5525c9ac
[V2] Client portal rework (#3516)
* Client login, reset and update password page

* Client dashboard, sidebar, PortalComposer.php

* wip

* Personal page & update for details

* Invoices, paying & pagination.blade.php

* Invoices, recurring invoice & buttons

* Payments, link component

* Payment methods

* Breadcrums, clean up & wrap up

* Remove format_date() method to formatDate on object

* Payments
- $this->render is now proxy for render()
- Removed logic from Controller.php to ClientPortal.php
- Added MakesDates to ClientGatewayToken.php
- StripePaymentDriver.php now returns correct views
- Refactor of adding new payment method
- Ignoring all local builds for public/js/clients/*

* Signature, wip

* Fix "Pay now" on single invoice

* Payments:
- Added ProcessInvoicesInBulk request class
- Refactor InvoiceController::bulk()
- Displaying terms & payments
- New signature.blade.php
- Removed comment from webpack.mix.js

* Quotes:
- Refactor ProcessInvoicesInBulk.php to ProcessInvoicesInBulkRequest.php
- Add new 'Quotes' field inside of PortalComposer.php
- Added MakesDates to Quote.php
- Added Quote::badgeForStatus()
- Cleanup payment.blade.php
- Quote showing and approving
- New resource 'quotes' in client.php
- New image for quotes, align-left.svg

* Credits:
- New 'credits' resource in client.php
- Fixes for client.php typo

* Breadcrumbs:
- Quotes
- Credits

* Placeholder for translations.

* Restore whereIn & client scope

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-03-24 04:10:42 +11:00
David Bomba
c8e3c7ae68
Fix regression where .env file was being deleted erroneously (#3515)
* Fixes for tests

* Fixes for self updates
2020-03-23 07:45:16 +11:00
David Bomba
c1d3fd12a8
Import (#3360)
* Fixes for test data

* Fixes for tests

* Remove legacy vue components

* Add routing number to client gateway tokens

* working on important documents and company gateways

* Import fixes
2020-02-22 13:25:49 +11:00
David Bomba
4eebaf7eb4
Migrate to services (#3358)
* Working on ledger

* Migrate to services

* Refactor to services

* Migrate to services

* Jobs cleanup
2020-02-21 08:05:01 +11:00
David Bomba
957ac9f5d8
Fix for password protected authorization (#3198)
* Remove unnecessary save() on invoice

* Update copyright

* Working on Credit Repository

* Implement credits as a paymentable entity

* Add credit_id to transformer

* fix rules for update payment

* Fix random deleted_at keys in transformers

* Fix for password_protect check
2020-01-07 11:13:47 +11:00
David Bomba
f712b789ca
Fixes for tests (#3184)
* fix typo

* php-cs traits

* CS fixer pass

* Password protect User routes

* Implement checks to prevent editing a deleted record

* Clean up payment flows

* Fixes for tests
2019-12-31 08:59:12 +11:00
David Bomba
54fc78a88b
Refactor jobs to be MultiDB aware (#3174) 2019-12-27 11:28:36 +11:00
David Bomba
c6e1658ffe
Refactors (#3148)
* Refactor company properties to be presented from settings object instead of company properties

* Working on Email Tests

* Working on emails

* Working on email templats

* Include text version of email

* Refactor Email template builder into trait'

* Fix for custom_value4

* Refactor payment_date -> date && payment_type_id -> type_id

* expose paymentables to API

* expose paymentables to API

* Implement a next_send_date field in invoice/quote tables to allow control over reminder scheduling

* Add custom_values to users,documents and company_gateways tables
2019-12-16 22:34:38 +11:00
David Bomba
4bc92a7aa1
Stub GMail Driver (#3099)
* fix for blank client settings

* Force all custom fields to strings

* Fixes for bulk actions

* Fixes for company POST route..

* Change text from Bitcoin to CRYPTO

* Implement default_gateway_type_id in transformer

* use scopes for company filtering

* Implement validation for portal_domain

* Add Google API client

* Add activities to company transformer
2019-11-27 20:47:59 +11:00
David Bomba
5fafbac36f
Tax Rates (#3026)
* Insert generic for client country if not set

* Invoice fixes

* fixes

* Schema changes

* Refactor Schema and implement fixes for testS

* Use Dispatcher for system logs

* Add TaxRateController

* Update OpenAPI definitions for Tax Rates
2019-10-29 13:55:26 +11:00
David Bomba
87d5e50557 fixes 2019-10-10 22:08:02 +11:00
David Bomba
8d14c6b2bd Switch currency_id back to settings object 2019-10-10 21:43:50 +11:00
David Bomba
a83099dad8 Refactor payment events 2019-10-04 16:22:22 +10:00
David Bomba
5adc88d01e Docs 2019-10-03 22:17:48 +10:00
David Bomba
87d61262ca Move atomic operations to Jobs instead of listeners 2019-10-03 22:02:31 +10:00
David Bomba
833f986b43 Company Ledger updates 2019-10-02 11:16:51 +10:00
David Bomba
a57de08178 Working on partial invoice payments 2019-10-02 08:44:13 +10:00
David Bomba
78ae24df46 Balances with company ledger 2019-10-01 19:59:32 +10:00
David Bomba
2d5d9b816b Payment Events 2019-10-01 11:56:48 +10:00
David Bomba
c4f777b20e Working on paypal response 2019-09-30 15:27:05 +10:00
David Bomba
bbe5049a2d add padding to tables 2019-09-26 15:14:07 +10:00
David Bomba
2df455c21d update invoice status 2019-09-25 16:55:09 +10:00
David Bomba
0687817ae8 Create payment after payment and mark invitations as paid 2019-09-25 16:23:51 +10:00
David Bomba
362f197fbb Store payment after invoice is confirmed paid 2019-09-25 15:55:52 +10:00
David Bomba
5090c963d3 Payment responses and saving card details 2019-09-25 14:03:28 +10:00
David Bomba
46602a21c5 Stripe payments 2019-09-25 12:07:33 +10:00
David Bomba
4fd41dbe1d Client payment flow 2019-09-20 15:13:58 +10:00
David Bomba
bc2feba3fb Clean up 2019-09-19 21:40:05 +10:00
David Bomba
85c645fbeb Set default payment method when inserting first record 2019-09-19 21:31:49 +10:00
David Bomba
a331368383 List view for payment methods 2019-09-18 12:39:53 +10:00
David Bomba
23acdb6394 Add Credit card to client portal 2019-09-17 21:57:59 +10:00
David Bomba
0f9f418e7e Add Credit card to client portal 2019-09-17 21:54:14 +10:00
David Bomba
70d146333b Casts 2019-09-17 20:27:48 +10:00
David Bomba
5211434d49 Working on multiple payment methods per gateway 2019-09-17 15:59:09 +10:00
David Bomba
c79211c4f4 Mitigate nulls in database 2019-09-17 15:42:10 +10:00
David Bomba
3ff6dd4472 Working on credit card auth response 2019-09-16 21:16:20 +10:00
David Bomba
662aa3aed1 Working on credit card auth response 2019-09-16 21:03:25 +10:00
David Bomba
0331575197 Working on card authorisation for Stripe 2019-09-16 14:59:59 +10:00
David Bomba
6b8cbe4e7c Working on preauth credit card stripe 2019-09-16 12:05:30 +10:00
David Bomba
8944727d6b Working on client payment methods 2019-09-15 21:40:46 +10:00