From: Michele Morgan Date: Wed, 9 Aug 2017 15:36:20 +0000 (-0400) Subject: LP 1708728 - Fix Stripe penny errors introduced by perl int() function X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e2165252aeaaaf1f6c7b6d787359c148f16b5473;p=Evergreen.git LP 1708728 - Fix Stripe penny errors introduced by perl int() function Fixes the issue where payment amounts sent to Stripe can be one cent less than the actual Evergreen payment due to use of the perl int() function. To test ------- A Stripe account is required to view transactions on the Stripe side. To enable test payments, Stripe testing API keys need to be entered in the Evergreen ou settings: credit.processor.stripe.pubkey credit.processor.stripe.secretkey - Add a bill to a patron record with the following amounts: $8.20 - Login to the opac as the patron and pay the bill. - View the transaction on the Stripe side and see that it is one cent less than the paid bill in Evergreen. - Apply the patch. - Repeat the steps above. - On the Stripe side, see that the Stripe amount and Evergreen amount now match. Signed-off-by: Michele Morgan Signed-off-by: Dan Pearl Signed-off-by: Galen Charlton --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm index c434b155dc..17c496bdd9 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm @@ -101,7 +101,7 @@ sub process_stripe_or_bop_payment { if ($cc_args->{processor} eq 'Stripe') { # Stripe my $stripe = Business::Stripe->new(-api_key => $psettings->{secretkey}); $stripe->charges_create( - amount => int($total_paid * 100.0), # Stripe takes amount in pennies + amount => ($total_paid * 100), # Stripe takes amount in pennies card => $cc_args->{stripe_token}, description => $cc_args->{note} );