Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
A
authnet
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3
    • Issues 3
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Extensions
  • authnet
  • Issues
  • #1

Closed
Open
Opened Oct 03, 2019 by elizoliva@elizoliva

CiviCRM is not updating recurring transactions from Authorize.net

I have this extension installed and credit card payment processor configured and have been running tests with it. What I have found is that while one-off transactions are completing and updating in CiviCRM, recurring transactions, while completing on the Authorize.net side, are not fetching and updating transactions with a 'Completed' status.

I was getting the following error:

Oct 01 06:39:14  [info]
$Fatal Error Details = array(3) {
  ["message"]=>
  string(48) "You have not configured your signature properly."
  ["code"]=>
  NULL
  ["exception"]=>
  object(JohnConde\Authnet\AuthnetInvalidCredentialsException)#280 (7) {
    ["message":protected]=>
    string(48) "You have not configured your signature properly."
    ["string":"Exception":private]=>
    string(0) ""
    ["code":protected]=>
    int(0)
    ["file":protected]=>
    string(105) "/var/www/website/public/civi/extensions/authnet/vendor/stymiee/authnetjson/src/authnet/AuthnetWebhook.php"
    ["line":protected]=>
    int(64)
    ["trace":"Exception":private]=>
    array(19) {
      [0]=>
      array(6) {
        ["file"]=>
        string(79) "/var/www/website/public/civi/extensions/authnet/CRM/Core/Payment/AuthNetIPN.php"
        ["line"]=>
        int(44)
        ["function"]=>
        string(11) "__construct"
        ["class"]=>
string(32) "JohnConde\Authnet\AuthnetWebhook"
        ["type"]=>
        string(2) "->"
        ["args"]=>
        array(3) {
          [0]=>
          string(0) ""
          [1]=>
          string(901) "x_response_code=1&x_response_reason_code=1&x_response_reason_text=This+transaction+has+been+approved%2E&x_avs_code=Y&x_auth_code=231172&x_trans_id=41615289918&x_method=CC&x_card_type=Visa&x_account_number=XXXX0301&x_first_name=Jasper&x_last_name=Lauderdale&x_company=&x_address=1460+Bedford+Ave+Apt+3A&x_city=Brooklyn&x_state=NY&x_zip=11216&x_country=US&x_phone=&x_fax=&x_email=jasperlauderdale%40gmail%2Ecom&x_invoice_num=10457&x_description=Online+Contribution%3A+Grassroots+Fundraising&x_type=auth%5Fcapture&x_cust_id=17108&x_ship_to_first_name=&x_ship_to_last_name=&x_ship_to_company=&x_ship_to_address=&x_ship_to_city=&x_ship_to_state=&x_ship_to_zip=&x_ship_to_country=&x_amount=10%2E00&x_tax=0%2E00&x_duty=0%2E00&x_freight=0%2E00&x_tax_exempt=FALSE&x_po_num=&x_MD5_Hash=&x_SHA2_Hash=&x_cvv2_resp_code=&x_cavv_response=&x_test_request=false&x_subscription_id=32409024&x_subscription_paynum=33"
[...]

The error goes on for a while but did not want to flood the issue with it. The notable message is "You have not configured your signature properly", though for the Authorize.net processor native to CiviCRM not having this key was not an issue for fetching the correct contribution status.

I corrected this, so now the signature key API key and transaction key are all in place, cleared the caches, but civicrm does not seem to be fetching the correct status of the transactions. Might be good to make these three fields required, if possible.

I am running an additional test to see if a new recurring transaction completes in CiviCRM, but presently the existing recurring transactions that have completed in Authorize have not updated in Civi.

I am seeing the following in the logs now that the previous error has been resolved:

Oct 03 13:44:01  [info]
$Fatal Error Details = array(3) {
  ["message"]=>
  string(45) "Invalid JSON sent in the Webhook notification"
  ["code"]=>
  NULL
  ["exception"]=>
  object(JohnConde\Authnet\AuthnetInvalidJsonException)#280 (7) {
    ["message":protected]=>
    string(45) "Invalid JSON sent in the Webhook notification"
    ["string":"Exception":private]=>
    string(0) ""
    ["code":protected]=>
    int(0)
    ["file":protected]=>
string(105) "/var/www/website/public/civi/extensions/authnet/vendor/stymiee/authnetjson/src/authnet/AuthnetWebhook.php"
    ["line":protected]=>
    int(67)
    ["trace":"Exception":private]=>
    array(19) {
      [0]=>
      array(6) {
        ["file"]=>
        string(79) "/var/www/website/public/civi/extensions/authnet/CRM/Core/Payment/AuthNetIPN.php"
        ["line"]=>
        int(44)
        ["function"]=>
        string(11) "__construct"
        ["class"]=>
        string(32) "JohnConde\Authnet\AuthnetWebhook"
        ["type"]=>
        string(2) "->"
        ["args"]=>
        array(3) {
          [0]=>
          string(128) "2C73D1DB7DD63D24731664507BAC1F2E98966B5CCAE94249DF234F515F31A08A069A66ADE6DF5A5133DFC7B85A49994A9D299BF433CB6E0C8B20D440C62C7D1F"
          [1]=>
          string(1015) "x_response_code=1&x_response_reason_code=1&x_response_reason_text=This+transaction+has+been+approved%2E&x_avs_code=Y&x_auth_code=271199&x_trans_id=61944920335&x_method=CC&x_card_type=American+Express&x_account_number=XXXX3020&x_first_name=Jamila&x_last_name=Khan&x_company=&x_address=217+31st+st&x_city=Brooklyn&x_state=NY&x_zip=11232&x_country=US&x_phone=&x_fax=&x_email=kristin%2B5%40palantetech%2Ecoop&x_invoice_num=1c73d371b1435b4b582b&x_description=Online+Contribution%3A+Grassroots+Fundraising&x_type=auth%5Fcapture&x_cust_id=24369&x_ship_to_first_name=&x_ship_to_last_name=&x_ship_to_company=&x_ship_to_address=&x_ship_to_city=&x_ship_to_state=&x_ship_to_zip=&x_ship_to_country=&x_amount=1%2E00&x_tax=0%2E00&x_duty=0%2E00&x_freight=0%2E00&x_tax_exempt=FALSE&x_po_num=&x_MD5_Hash=&x_SHA2_Hash=40E6EBBF93BB0C43BEDD29E2CF1D8445137DBC261E3D124C1E33CAFA7552559FF0ABEEE29E6C18A5CAF18A91D540923CF851DD2658489D93A9BBF0E87160FE78&x_cvv2_resp_code=M&x_cavv_response=&x_test_request=false&x_customer_type=individual"
[...]

and this was followed by

Oct 03 13:44:02  [info] Contribution record updated successfully

Oct 03 13:44:04  [info] Receipt sent

Oct 03 13:44:04  [info] Success: Database updated

So curious if that invalid json may be getting in the way of recurring contribution statuses from being fetched properly.

Authorize batches recurring contributions daily, so it will take until tomorrow to see whether this most recent test transaction updates in civicrm, but I did want to flag these things.

Any thoughts?

Edited Oct 03, 2019 by elizoliva
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: extensions/authnet#1