Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
jhoskins98
Stripe
Commits
81b0e0ad
Commit
81b0e0ad
authored
Mar 12, 2019
by
mattwire
Browse files
Fix issue with event/membership payments failing to record in CiviCRM (introduced in 5.3).
parent
fe9c3fa1
Changes
4
Hide whitespace changes
Inline
Side-by-side
CRM/Core/Payment/Stripe.php
View file @
81b0e0ad
...
...
@@ -542,11 +542,6 @@ class CRM_Core_Payment_Stripe extends CRM_Core_Payment {
throw
new
\
Civi\Payment\Exception\PaymentProcessorException
(
'Failed to create Stripe Charge: '
.
$errorMessage
);
}
// Success! Return some values for CiviCRM.
$newParams
[
'id'
]
=
$this
->
getContributionId
(
$params
);
$newParams
[
'trxn_id'
]
=
$stripeCharge
->
id
;
$newParams
[
'payment_status_id'
]
=
$completedStatusId
;
// Return fees & net amount for Civi reporting.
try
{
$stripeBalanceTransaction
=
\
Stripe\BalanceTransaction
::
retrieve
(
$stripeCharge
->
balance_transaction
);
...
...
@@ -556,11 +551,20 @@ class CRM_Core_Payment_Stripe extends CRM_Core_Payment {
$errorMessage
=
self
::
handleErrorNotification
(
$err
,
$params
[
'stripe_error_url'
]);
throw
new
\
Civi\Payment\Exception\PaymentProcessorException
(
'Failed to retrieve Stripe Balance Transaction: '
.
$errorMessage
);
}
// Success!
// For contribution workflow we have a contributionId so we can set parameters directly.
// For events/membership workflow we have to return the parameters and they might get set...
$newParams
[
'trxn_id'
]
=
$stripeCharge
->
id
;
$newParams
[
'payment_status_id'
]
=
$completedStatusId
;
$newParams
[
'fee_amount'
]
=
$stripeBalanceTransaction
->
fee
/
100
;
$newParams
[
'net_amount'
]
=
$stripeBalanceTransaction
->
net
/
100
;
civicrm_api3
(
'Contribution'
,
'create'
,
$newParams
);
unset
(
$newParams
[
'id'
]);
if
(
$this
->
getContributionId
(
$params
))
{
$newParams
[
'id'
]
=
$this
->
getContributionId
(
$params
);
civicrm_api3
(
'Contribution'
,
'create'
,
$newParams
);
unset
(
$newParams
[
'id'
]);
}
$params
=
array_merge
(
$params
,
$newParams
);
return
$params
;
...
...
CRM/Core/Payment/StripeTrait.php
View file @
81b0e0ad
<?php
/**
* Shared payment functions that should one day be migrated to CiviCRM core
* Version
1.0
* Version
20190311
*/
trait
CRM_Core_Payment_StripeTrait
{
...
...
@@ -68,7 +68,12 @@ trait CRM_Core_Payment_StripeTrait {
* @return mixed
*/
protected
function
getContributionId
(
$params
)
{
return
$params
[
'contributionID'
];
/*
* contributionID is set in the contribution workflow
* We do NOT have a contribution ID for event and membership payments as they are created after payment!
* See: https://github.com/civicrm/civicrm-core/pull/13763 (for events)
*/
return
CRM_Utils_Array
::
value
(
'contributionID'
,
$params
);
}
/**
...
...
docs/release/release_notes.md
View file @
81b0e0ad
## Releae 5.3.1
*
Fix issue with event/membership payments failing to record in CiviCRM (introduced in 5.3).
## Release 5.3
**All users should upgrade to 5.3.1 due to an issue with event/membership payments**
There are no database changes in this release but you should update your Stripe webhook API version to 2019-02-19.
### Changes
...
...
info.xml
View file @
81b0e0ad
...
...
@@ -12,8 +12,8 @@
<author>
Matthew Wire (MJW Consulting)
</author>
<email>
mjw@mjwconsult.co.uk
</email>
</maintainer>
<releaseDate>
2019-03-
08
</releaseDate>
<version>
5.3
</version>
<releaseDate>
2019-03-
12
</releaseDate>
<version>
5.3
.1
</version>
<develStage>
stable
</develStage>
<compatibility>
<ver>
5.10
</ver>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment