Skip to content

Release Notes

Information

Releases use the following numbering system: {major}.{minor}.{incremental}

  • major: Major refactoring or rewrite - make sure you read and test very carefully!
  • minor: Breaking change in some circumstances, or a new feature. Read carefully and make sure you understand the impact of the change.
  • incremental: A "safe" change / improvement. Should always be safe to upgrade.

  • [BC]: Items marked with [BC] indicate a breaking change that will require updates to your code if you are using that code in your extension.

2.6 (not yet released)

  • !27 Implement support for Refunds.

2.5.4 (2023-12-07)

If you upgraded to 2.5.3 you may need to manually fix records in civicrm_managed

  • Fix #33 Upgrade Error: Could not delete payment processor type

2.5.3 (2023-11-21)

DO NOT USE. This has a problem with Managed Entities (see https://lab.civicrm.org/extensions/authnet/-/issues/33)

  • Fix #27 set country if not set.
  • !26 don't allow submitting strings longer than Auth.net API will accept.

Release 2.5.2 (2022-11-04)

  • Fix !23 Don't crash when receiving events from retail mobile app.
  • Fix #29 Allow submitting from backend without cvv.

Release 2.5.1 (2022-08-19)

Require PaymentShared (mjwshared) 1.2.8

Release 2.5 (2022-08-19)

  • Refactor webhook processing to use queue.
  • Fix create webhook for Accept.js.
  • Fix #26 Missing dataDescriptor with accept.js when using confirmation page.
  • Fix #27 setting customer address.
  • Fix setting payment_status when returning from doPayment().
  • Fix !22 Handle recurring installments = 0 (for Drupal webform_civicrm).
  • Use UTC time for payment when received via webhook.

Release 2.4.3

Require PaymentShared (mjwshared) 1.2.3

Release 2.4.2

  • !21 - Declined contributions should have status of Pending, not Completed.

Release 2.4.1

  • Fix #24 refund handling.
  • Catch exceptions thrown by repeatTransaction (improves reliability and feedback when processing webhooks).

Release 2.4

This release adds support for Accept.js - the Javascript/token-based payment API which simplifies PCI compliance and offers both Card + ACH payments via the same processor

  • Implement support for Accept.js
  • Drop support for CiviCRM < 5.35.
  • Require PaymentShared (mjwshared) 1.1.
  • Cleanup system checks
  • Update AuthorizeNet libraries:

    "stymiee/authnetjson": 4.1.1 => 4.1.4
    "authorizenet/authorizenet": 2.0.0 => 2.0.2
    
  • Fix #17 Allow to skip webhook checks for test processor - enter AUTHNETECHECK_SKIP_WEBHOOK_CHECKS in the API Login ID field.

  • Fix #18 Not able to modify Recurring Transactions for contacts with multiple subscriptions, whether active or inactive.
  • Fix #22 Unable to update recurring amount and number of installments.
  • Fix #23 Error 400 sent in response to webhook event net.authorize.customer.subscription.cancelled.

Release 2.3

Requires PaymentShared (mjwshared) 1.0

  • Update IPN processing for compatibility with PaymentShared 1.0.
  • Regenerate civix for PHP7.4 compatibility.

Release 2.2.4

  • Fix !11 payments held by fraud detection suite then approved.

Release 2.2.3

  • Regenerate autogenerated code for compatibility with PHP 7.4.
  • Fix typo in log message.

Release 2.2.2

Requires mjwshared (Payment Shared) 0.9.9

  • Fix !10 - Only create webhooks on production. Implement the same workflow used by Stripe to provide a system check and a button/form to update the webhooks instead of doing it automatically every time.
  • Check which processor should be handling IPN notifications when both CreditCard and eCheck payment processors are configured in CiviCRM. This should resolve issues with "Contribution already completed" being recorded in the CiviCRM logs.
  • Return 200 OK and log instead of 400 bad request on webhooks when subscription does not exist in CiviCRM so Authorize.net doesn't disable the webhook.

Release 2.2.1

  • Fix #14 Set customer IP address for transaction.

Release 2.2

Requires mjwshared (Payment Shared) 0.9.4

  • Fix #10: Multiple fixes to contribution/transaction matching and repeat transactions.
  • Update mjwshared requirement to 0.9.4.
  • Implement new method for retrying IPN notifications using Mjwpayment.notificationretry.
  • Handle (ignore) silentpost notifications (log that one was received) and clarify in docs.
  • Update authnetjson library to 4.1.1.
  • Fix !6: Don't check webhooks if 'API Login ID' (user_name) is empty.
  • Fix #8: Don't set recurring contribution status when creating initial payment - let CiviCRM handle it.
  • Fix #12: one-off payments not completed.
  • Fix issues with subsequent recurring payments.
  • Fix missing class on cancelSubscription exception.
  • If we receive net.authorize.payment.authcapture.created IPN and we have already recorded the payment (matches on transaction ID) then ignore and tell Authorize.Net that we handled it successfully (prevents crashes in the CiviCRM logs and webhooks being deactivated by Authorize.Net).
  • Set cancel_date/cancel_reason for failed contribution. Don't update receive_date.

Release 2.1.2

  • System Checks: Add payment processor title for API key errors
  • Multiple IPN fixes:
  • Fix handling of incoming net.authorize.payment.authcapture.created event
  • Log error if webhook is not valid
  • Fix retrieving eventType for webhooks
  • Fix params to IPN
  • getallheaders() only exists on apache

Release 2.1.1

  • Update the way we cancel recur to match stripe etc and be compatible with more recent versions of CiviCRM
  • Fix #5 remove class reference to smartdebit

Release 2.1

  • Require MJWShared extension (version 0.8) - https://lab.civicrm.org/extensions/mjwshared.
  • Update for compatibility with CiviCRM 5.24 and \Civi\Payment\PropertyBag.

Release 2.0.1

  • Don't overwrite system messages when performing webhook checks.

Release 2.0

Implemented Authorize.net Credit Card processor. This replaces the CiviCRM Core "Authorize.net" processor.

  • Implement automatic configuration of webhooks using https://github.com/stymiee/authnetjson.

Release 1.3

Rewritten by MJW Consulting to work with more recent versions of CiviCRM (5.x). Funded by https://greenleafadvancement.com

  • Implement Authorize.net echeck.net using the Authorize.Net PHP SDK
  • Implement Cancel/Update Subscription via CiviCRM backend.
  • Implement "Submit live payment" via CiviCRM backend.