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 <mmorgan@noblenet.org>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
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}
);