Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • M mjwshared
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Extensions
  • mjwshared
  • Issues
  • #7
Closed
Open
Issue created Mar 03, 2021 by Francis (Agileware)@agilewarefjContributor

When tax and invoicing is enabled, cannot process payments over 1,000 currency units

When tax and invoicing is enabled, cannot process payments over 1,000 currency units.

This is because the calculateTaxAmount javascript function does not deal with thousands separators. Can fail in a couple of ways:

Separator Result Example
<space> last < 1000 1 234.56 => 234.56
. first group with decimal 1.234,56 => 1.234
<other> first group, no decimal 1,234.56 => 1

This is quite problematic because you can't even (without DB hacking) work around it by setting no thousands separator.

For Stripe specifically, this causes an issue "Credit Card Payment Error: This PaymentIntent's amount could not be updated because it has a status of requires_capture. You may only update the amount of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action." because it recognises the amount is wrong and tries to change it to the correct amount.

Edited Mar 03, 2021 by Francis (Agileware)
Assignee
Assign to
Time tracking