Payments sent to Stripe can be off by one cent
Bug #1708728 reported by
Michele Morgan
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
2.11 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Evergreen 2.12.2
When using Stripe as the credit card payment processor, payments registered in Stripe can be one cent less than the same payment in Evergreen. This appears to be caused by the same perl int() function referenced in bug 1282751 comment #5:
https:/
This instance of the int() function is used in the Stripe branch in Money.pm.
Changed in evergreen: | |
assignee: | nobody → Michele Morgan (mmorgan) |
Changed in evergreen: | |
status: | New → Triaged |
milestone: | none → 3.0-alpha |
Changed in evergreen: | |
assignee: | nobody → Galen Charlton (gmc) |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Working branch is at:
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ mmorgan/ lp1708728_ fix_stripe_ cc_payments_ off_by_ one_cent
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 processor. stripe. secretkey
credit.
To reproduce/test:
- Add a bill to a patron record in one of the following amounts:
$8.20
$8.19
$9.95
$8.54
All these amounts fail this test:
perl -e 'print "no match\n" unless ((8.20 * 100) == int(8.20 * 100))';
- 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.