mjwshared tagshttps://lab.civicrm.org/extensions/mjwshared/-/tags2024-03-09T12:20:07Zhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.221.2.22<ul data-sourcepos="1:1-7:36" dir="auto">
<li data-sourcepos="1:1-1:73">Fix message display on PaymentProcessorWebhook UI when message is NULL.</li>
<li data-sourcepos="2:1-2:94">Add generic Logger class <code data-sourcepos="2:29-2:44">\Civi\MJW\Logger</code> - use this to standardise/simplify log messages.</li>
<li data-sourcepos="3:1-3:84">Update getDefaultCurrencyForForm() to use standard form functions where available.</li>
<li data-sourcepos="4:1-4:47">Update some functions to use API4 internally.</li>
<li data-sourcepos="5:1-5:46">Replace deprecated <code data-sourcepos="5:23-5:44">CiviCRM_API3_Exception</code>.</li>
<li data-sourcepos="6:1-6:35">More robust <code data-sourcepos="6:16-6:24">error_url</code> handling.</li>
<li data-sourcepos="7:1-7:36">Fix currency shown on refund form.</li>
</ul>2024-03-09T12:20:07ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.211.2.21<ul data-sourcepos="1:1-5:57" dir="auto">
<li data-sourcepos="1:1-1:65">Switch Payment processor webhooks menu entry to managed entity.</li>
<li data-sourcepos="2:1-2:76">Add a settings page (Administer->CiviContribute->Payment Shared Settings).</li>
<li data-sourcepos="3:1-3:171">
<a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/44" data-reference-type="merge_request" data-original="!44" data-link="true" data-link-reference="true" data-project="449" data-merge-request="6229" data-project-path="extensions/mjwshared" data-iid="44" data-container="body" data-placement="top" title="ensure email confirm is sent for events when using stripe checkout" class="gfm gfm-merge_request">!44</a> Ensure email confirm is sent for events when using stripe checkout (Fixes <a href="/extensions/stripe/-/issues/456" data-reference-type="issue" data-original="extensions/stripe#456" data-link="false" data-link-reference="false" data-project="143" data-issue="21089" data-project-path="extensions/stripe" data-iid="456" data-issue-type="issue" data-container="body" data-placement="top" title="no email event registration confirmation when paying via Stripe Checkout" class="gfm gfm-issue">stripe#456</a>).</li>
<li data-sourcepos="4:1-4:79">Add feature to disable (hide) core 'Record Refund' link on edit contribution.</li>
<li data-sourcepos="5:1-5:57">Add handling for billingCountry on update subscription.</li>
</ul>2024-02-09T16:20:03ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.201.2.20<ul data-sourcepos="1:1-2:55" dir="auto">
<li data-sourcepos="1:1-1:55">Fix CustomField params for Mjwpayment.create_payment.</li>
<li data-sourcepos="2:1-2:55">Fix setting of recur ID for changeSubscriptionAmount.</li>
</ul>2023-12-16T19:46:24ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.191.2.19<ul data-sourcepos="1:1-2:164" dir="auto">
<li data-sourcepos="1:1-1:113">Add CustomFields to API3 MJWPayment.create spec - makes the custom fields "discoverable" via the API3 explorer.</li>
<li data-sourcepos="2:1-2:164">Update beginChangeSubscriptionAmount() function - for Payment Processors that allow you to update the subscription amount it should now be slightly more reliable.</li>
</ul>2023-12-15T13:58:37ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.181.2.18<ul data-sourcepos="1:1-1:149" dir="auto">
<li data-sourcepos="1:1-1:149">
<a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/42" data-reference-type="merge_request" data-original="!42" data-link="true" data-link-reference="true" data-project="449" data-merge-request="6032" data-project-path="extensions/mjwshared" data-iid="42" data-container="body" data-placement="top" title="avoid extra redirect; correctly show auth.net errors on failed transaction" class="gfm gfm-merge_request">!42</a> avoid extra redirect; correctly show auth.net errors on failed transaction.</li>
</ul>2023-11-21T19:24:57ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.171.2.17<p data-sourcepos="1:1-1:96" dir="auto"><strong data-sourcepos="1:1-1:96">You MUST update to this version if running CiviCRM 5.66 otherwise webhooks will stop working</strong></p>
<ul data-sourcepos="3:1-4:24" dir="auto">
<li data-sourcepos="3:1-3:102">Fix message field should not be required (CiviCRM core enforces required fields for API4 from 5.66).</li>
<li data-sourcepos="4:1-4:24">Cleanup custom fields.</li>
</ul>2023-10-16T22:29:12ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.161.2.16<p data-sourcepos="1:1-1:96" dir="auto"><strong data-sourcepos="1:1-1:96">You MUST update to this version if running CiviCRM 5.66 otherwise webhooks will stop working</strong></p>
<ul data-sourcepos="3:1-4:24" dir="auto">
<li data-sourcepos="3:1-3:102">Fix message field should not be required (CiviCRM core enforces required fields for API4 from 5.66).</li>
<li data-sourcepos="4:1-4:24">Cleanup custom fields.</li>
</ul>2023-10-16T21:10:49ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.151.2.15<ul data-sourcepos="1:1-1:159" dir="auto">
<li data-sourcepos="1:1-1:159">Fix <a href="https://lab.civicrm.org/dev/core/-/issues/4553" data-reference-type="issue" data-original="civicrm-core/#4553" data-link="true" data-link-reference="true" data-project="70" data-issue="20070" data-project-path="dev/core" data-iid="4553" data-issue-type="issue" data-container="body" data-placement="top" title="PropertyBag.php propMap errors" class="gfm gfm-issue">civicrm-core/#4553</a> getBillingEmail() function causes fatal error when email is not passed in correctly.</li>
</ul>2023-09-10T18:01:43ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.141.2.14<ul data-sourcepos="1:1-1:268" dir="auto">
<li data-sourcepos="1:1-1:268">
<a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/41" data-reference-type="merge_request" data-original="!41" data-link="true" data-link-reference="true" data-project="449" data-merge-request="5693" data-project-path="extensions/mjwshared" data-iid="41" data-container="body" data-placement="top" title="Update if already cg extend exists" class="gfm gfm-merge_request">!41</a> The extension fails to install or upgrade if the option value for cg extends already present in the database (fix compatibility with extensions that use custom fields on financial transactions).</li>
</ul>2023-08-14T12:16:13ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.131.2.13* smartyv2-1.0.1 does not work on 5.59 because of https://github.com/civicrm/civicrm-core/commit/7168793c03ef57c06bbfe45f5ff873ebb3657806
so we set minimum version to 5.58 which triggers civix to ship as an extension mixin.Matthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.121.2.12<ul data-sourcepos="1:1-6:37" dir="auto">
<li data-sourcepos="1:1-1:106">
<p data-sourcepos="1:3-1:106">Add Payment_details custom field group and allow custom fields to be saved via API3 <code data-sourcepos="1:88-1:104">Mjwpayment.create</code>.</p>
</li>
<li data-sourcepos="2:1-3:0">
<p data-sourcepos="2:3-2:64">Pass through custom params in <code data-sourcepos="2:34-2:62">updateContributionCompleted()</code>.</p>
</li>
<li data-sourcepos="4:1-4:33">
<p data-sourcepos="4:3-4:33">Convert some internals to API4.</p>
</li>
<li data-sourcepos="5:1-5:56">
<p data-sourcepos="5:3-5:56">Refactor API call to fix payment processor name issue.</p>
</li>
<li data-sourcepos="6:1-6:37">
<p data-sourcepos="6:3-6:37">Use getter for <code data-sourcepos="6:19-6:35">_paymentProcessor</code>.</p>
</li>
</ul>2023-06-25T14:51:27ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.111.2.11<ul data-sourcepos="1:1-2:64" dir="auto">
<li data-sourcepos="1:1-1:89">Remove our version of CRM_Core_Payment::getAmount() as it was merged into core in 5.37.</li>
<li data-sourcepos="2:1-2:64">Fix undefined variable basePage on frontend formbuilder pages.</li>
</ul>2023-01-30T17:52:29ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.101.2.10<ul data-sourcepos="1:1-5:90" dir="auto">
<li data-sourcepos="1:1-1:60">Make sure calculateTaxAmount always returns a valid float.</li>
<li data-sourcepos="2:1-2:107">Stop recommending installation of minifier extension (it can cause problems with some angularjs scripts).</li>
<li data-sourcepos="3:1-3:52">Check both frontend/backend URL for AJAX requests.</li>
<li data-sourcepos="4:1-4:125">Add indexes to civicrm_paymentprocessor_webhook - see <a href="https://lab.civicrm.org/extensions/stripe/-/issues/395" data-reference-type="issue" data-original="Stripe#395" data-link="true" data-link-reference="true" data-project="143" data-issue="10789" data-project-path="extensions/stripe" data-iid="395" data-issue-type="issue" data-container="body" data-placement="top" title="slow queries against civicrm_paymentprocessor_webhook (needs indices or garbage cleanup?)" class="gfm gfm-issue">Stripe#395</a>.</li>
<li data-sourcepos="5:1-5:90">Fix translation <a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/31" data-reference-type="merge_request" data-original="!31" data-link="true" data-link-reference="true" data-project="449" data-merge-request="4247" data-project-path="extensions/mjwshared" data-iid="31" data-container="body" data-placement="top" title="fix translation" class="gfm gfm-merge_request">!31</a>.</li>
</ul>2022-11-22T11:53:45ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.91.2.9<ul data-sourcepos="1:1-4:116" dir="auto">
<li data-sourcepos="1:1-1:35">Add psr0 classloader to info.xml.</li>
<li data-sourcepos="2:1-2:111">Don't update (set update to never) Paymentprocessorwebhooks managed job (stops it re-enabling automatically).</li>
<li data-sourcepos="3:1-3:16">Upgrade civix.</li>
<li data-sourcepos="4:1-4:116">Fix <a href="https://lab.civicrm.org/extensions/mjwshared/-/issues/18" data-reference-type="issue" data-original="#18" data-link="true" data-link-reference="true" data-project="449" data-issue="10459" data-project-path="extensions/mjwshared" data-iid="18" data-issue-type="issue" data-container="body" data-placement="top" title="Unable to view contribution detail if payment processor has been disabled" class="gfm gfm-issue">#18</a> Don't add refund link if no payment processor.</li>
</ul>2022-10-14T09:17:33ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.81.2.8<ul data-sourcepos="1:1-3:141" dir="auto">
<li data-sourcepos="1:1-1:191">Multiple participants: Handle 100% discount. Fix <a href="https://lab.civicrm.org/extensions/stripe/-/issues/372" data-reference-type="issue" data-original="Stripe#372" data-link="true" data-link-reference="true" data-project="143" data-issue="9555" data-project-path="extensions/stripe" data-iid="372" data-issue-type="issue" data-container="body" data-placement="top" title="Multi-participant registration fails: requires_capture" class="gfm gfm-issue">Stripe#372</a> etc. when additional participant amount is more than first participant.</li>
<li data-sourcepos="2:1-2:49">Convert getTokenParameter() to use propertyBag.</li>
<li data-sourcepos="3:1-3:141">Fix <a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/35" data-reference-type="merge_request" data-original="!35" data-link="true" data-link-reference="true" data-project="449" data-merge-request="4734" data-project-path="extensions/mjwshared" data-iid="35" data-container="body" data-placement="top" title="Fix style issues with Greenwich; also nicer formatting of raw data" class="gfm gfm-merge_request">!35</a> style issues with Greenwich; also nicer formatting of raw data.</li>
</ul>2022-08-19T17:07:28ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.71.2.7<ul data-sourcepos="1:1-3:27" dir="auto">
<li data-sourcepos="1:1-1:59">Minimum supported version of Stripe extension is now 6.7.</li>
<li data-sourcepos="2:1-2:87">Add <code data-sourcepos="2:8-2:55">\Civi\Paymentshared\WebhookEventIgnoredException</code> for use by payment processors.</li>
<li data-sourcepos="3:1-3:27">Fix deprecated API4 join.</li>
</ul>2022-07-20T10:55:58ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.61.2.6<ul data-sourcepos="1:1-3:120" dir="auto">
<li data-sourcepos="1:1-1:108">Add support for percentagepricesetfield/extrafee extensions (was previously supported but broke in 1.2.3).</li>
<li data-sourcepos="2:1-2:26">Support partial refunds.</li>
<li data-sourcepos="3:1-3:120">Fix <a href="https://lab.civicrm.org/extensions/mjwshared/-/issues/8" data-reference-type="issue" data-original="#8" data-link="true" data-link-reference="true" data-project="449" data-issue="7523" data-project-path="extensions/mjwshared" data-iid="8" data-issue-type="issue" data-container="body" data-placement="top" title="Support for cancelling memberships via refund UI" class="gfm gfm-issue">#8</a> Support cancelling memberships when issuing refunds.</li>
</ul>2022-06-14T17:04:33ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.51.2.5<ul data-sourcepos="1:1-4:117" dir="auto">
<li data-sourcepos="1:1-1:155">Separate <code data-sourcepos="1:13-1:19">trxn_id</code> and <code data-sourcepos="1:27-1:41">order_reference</code> params and prefer <code data-sourcepos="1:63-1:69">trxn_id</code> in return values from <code data-sourcepos="1:95-1:105">doPayment()</code>. This means that both are now available for use.</li>
<li data-sourcepos="2:1-2:201">Refunds: Add a lock around recording refund payment in <code data-sourcepos="2:59-2:97">MJWIPNTrait::updateContributionRefund()</code>. This means we should not record a duplicate refund if both UI and IPN are processed at the same time.</li>
<li data-sourcepos="3:1-3:41">Update return params from <code data-sourcepos="3:30-3:39">doRefund()</code>.</li>
<li data-sourcepos="4:1-4:117">
<a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/33" data-reference-type="merge_request" data-original="!33" data-link="true" data-link-reference="true" data-project="449" data-merge-request="4271" data-project-path="extensions/mjwshared" data-iid="33" data-container="body" data-placement="top" title="Add processor filter to webhooks list page" class="gfm gfm-merge_request">!33</a> Add processor filter to webhooks list page.</li>
</ul>2022-05-19T21:56:05ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.41.2.4<ul data-sourcepos="1:1-2:73" dir="auto">
<li data-sourcepos="1:1-1:105">Fix <a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/30" data-reference-type="merge_request" data-original="!30" data-link="true" data-link-reference="true" data-project="449" data-merge-request="4149" data-project-path="extensions/mjwshared" data-iid="30" data-container="body" data-placement="top" title="Pledges are also recurring" class="gfm gfm-merge_request">!30</a> Pledges are also recurring.</li>
<li data-sourcepos="2:1-2:73">Set <code data-sourcepos="2:8-2:46">civicrm_contribution_recur.processor_id</code> if still using <code data-sourcepos="2:65-2:71">trxn_id</code>.</li>
</ul>2022-05-05T20:58:38ZMatthew Wiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/extensions/mjwshared/-/tags/1.2.31.2.3<ul data-sourcepos="1:1-6:105" dir="auto">
<li data-sourcepos="1:1-1:135">
<a href="https://lab.civicrm.org/extensions/mjwshared/-/merge_requests/29" data-reference-type="merge_request" data-original="!29" data-link="true" data-link-reference="true" data-project="449" data-merge-request="4097" data-project-path="extensions/mjwshared" data-iid="29" data-container="body" data-placement="top" title="Failed payments are treated as successful" class="gfm gfm-merge_request">!29</a> Throw exception on error (when using handleError() function).</li>
<li data-sourcepos="2:1-2:128">Fix <a href="https://lab.civicrm.org/extensions/mjwshared/-/issues/10" data-reference-type="issue" data-original="#10" data-link="true" data-link-reference="true" data-project="449" data-issue="8923" data-project-path="extensions/mjwshared" data-iid="10" data-issue-type="issue" data-container="body" data-placement="top" title="".closest('form').prop('id')" problematic if form has an 'id' element" class="gfm gfm-issue">#10</a> Replace .prop() with .attr() when selecting BillingFormID.</li>
<li data-sourcepos="3:1-3:83">Improve <code data-sourcepos="3:12-3:35">CRM.payment.getIsRecur()</code> so it returns early if recur is not supported.</li>
<li data-sourcepos="4:1-4:75">
<code data-sourcepos="4:4-4:30">Mjwpayment.get_contribution</code> API supports contribution_id - update spec.</li>
<li data-sourcepos="5:1-5:174">Replace core <code data-sourcepos="5:17-5:35">calculateTotalFee()</code> javascript function with our own. This makes us independent of core changes - eg. see <a href="https://github.com/civicrm/civicrm-core/pull/22759" rel="nofollow noreferrer noopener" target="_blank">https://github.com/civicrm/civicrm-core/pull/22759</a>.</li>
<li data-sourcepos="6:1-6:105">Calculate the total amount for multiple event participants when calling <code data-sourcepos="6:76-6:103">CRM.payment.getTotalAmount()</code>.</li>
</ul>2022-03-31T22:37:53ZMatthew Wiremjw@mjwconsult.co.uk