Uploaded image for project: 'Blesta Core'
  1. Blesta Core
  2. CORE-5275

Order: Checkout may charge 1 penny over invoice amount due to precision rounding

    Details

    • Type: Bug
    • Status: In Progress
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.10.3
    • Fix Version/s: 5.11.3
    • Component/s: Plugins
    • Labels:
      None

      Description

      The order form sometimes charges the client 1 penny more than the invoice amount. This has been most reported using Stripe, but I believe it occurs with any gateway.

      See the discrepancy in the attached screenshots.

      This may occur due to rounding as it relates to coupons. To reproduce:

      1. Create a coupon for 50% off.
      2. Create a Package with a price of $19.95
      3. Create an order form using any gateway (In my test I used PayPal Payments Standard, but most have reported this issue with Stripe)
      4. Visit the order form as a client and order the $19.95 package and apply the 50% off coupon. Note that the invoice is for $9.97 but the payment is for $9.98.

      The coupon being 50% off of 19.95 would result in an amount of 9.975. The invoice is for 9.97, deducting the coupon amount of 9.98 (rounded), but the payment amount rounds in the opposite direction.

      Just to add.. this seems to have been introduced after whichever version of the Order Plugin shipped with Blesta 5.9.3.

      1. 1.png
        108 kB
      2. 2.png
        114 kB

        Activity

        admin Paul Phillips created issue -
        admin Paul Phillips made changes -
        Field Original Value New Value
        Rank Ranked higher
        admin Paul Phillips made changes -
        Description The order form sometimes charges the client 1 penny more than the invoice amount. This has been most reported using Stripe, but I believe it occurs with any gateway.

        See the discrepancy in the attached screenshots.

        This may occur due to rounding as it relates to coupons. To reproduce:

        1. Create a coupon for 50% off.
        2. Create a Package with a price of $19.95
        3. Create an order form using any gateway (In my test I used PayPal Payments Standard, but most have reported this issue with Stripe)
        4. Visit the order form as a client and order the $19.95 package and apply the 50% off coupon. Note that the invoice is for $9.97 but the payment is for $9.98.

        The coupon being 50% off of 19.95 would result in an amount of 9.975. The invoice is for 9.97, deducting the coupon amount of 9.98 (rounded), but the payment amount rounds in the opposite direction.

        The order form sometimes charges the client 1 penny more than the invoice amount. This has been most reported using Stripe, but I believe it occurs with any gateway.

        See the discrepancy in the attached screenshots.

        This may occur due to rounding as it relates to coupons. To reproduce:

        1. Create a coupon for 50% off.
        2. Create a Package with a price of $19.95
        3. Create an order form using any gateway (In my test I used PayPal Payments Standard, but most have reported this issue with Stripe)
        4. Visit the order form as a client and order the $19.95 package and apply the 50% off coupon. Note that the invoice is for $9.97 but the payment is for $9.98.

        The coupon being 50% off of 19.95 would result in an amount of 9.975. The invoice is for 9.97, deducting the coupon amount of 9.98 (rounded), but the payment amount rounds in the opposite direction.

        Just to add.. this seems to have been introduced after whichever version of the Order Plugin shipped with Blesta 5.9.3.
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.11.0 Sprint 6 [ 206 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        abdy Abdy Franco made changes -
        Assignee Abdy Franco [ abdy ]
        abdy Abdy Franco made changes -
        Remaining Estimate 0 minutes [ 0 ]
        Time Spent 4 hours, 36 minutes [ 16560 ]
        Worklog Id 17479 [ 17479 ]
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.11.0 Sprint 6 [ 206 ] 5.11.0 Sprint 6, 5.11.0 Sprint 7 [ 206, 207 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        abdy Abdy Franco made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        abdy Abdy Franco made changes -
        Time Spent 4 hours, 36 minutes [ 16560 ] 1 day, 4 hours, 28 minutes [ 44880 ]
        Worklog Id 17496 [ 17496 ]
        admin Paul Phillips made changes -
        Fix Version/s 5.11.0 [ 12200 ]
        Fix Version/s 5.11.0-b2 [ 12204 ]
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.11.0 Sprint 6, 5.11.0 Sprint 7 [ 206, 207 ] 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.12.0 Sprint 1 [ 206, 207, 208 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        Fix Version/s 5.11.1 [ 12201 ]
        Fix Version/s 5.11.0-b3 [ 12200 ]
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.11.0 Sprint 8 [ 206, 207, 208 ] 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.12.0 Sprint 1 [ 206, 207, 212 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked lower
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.12.0 Sprint 1 [ 206, 207, 212 ] 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.12.0 Sprint 1, 5.12.0 Sprint 1.5 [ 206, 207, 212, 213 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        Fix Version/s 5.11.2 [ 12207 ]
        Fix Version/s 5.11.1 [ 12201 ]
        admin Paul Phillips made changes -
        Fix Version/s 5.11.3 [ 12209 ]
        Fix Version/s 5.11.2 [ 12207 ]
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.12.0 Sprint 1, 5.11.1 Sprint 1 [ 206, 207, 212, 213 ] 5.11.0 Sprint 6, 5.11.0 Sprint 7, 5.12.0 Sprint 2, 5.12.0 Sprint 1, 5.11.1 Sprint 1 [ 206, 207, 209, 212, 213 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher

          People

          • Assignee:
            abdy Abdy Franco
            Reporter:
            admin Paul Phillips
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 1 day, 4 hours, 28 minutes
              1d 4h 28m

                Agile