0

I want to send email to members with a link to the membership renewal page profiled with their data. I create a suitable link including the contact ID and checksum, of the form

https://example.com/civicrm?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=2&cid=xxx&cs=1ccf75cf22138bd255525af8c8c05dc4_1599646931_168

If I'm logged and the link is for me then it works. If I'm not logged a Fatal Error is generated, and the site (WP) presents the message "The site is experiencing technical difficulties".

Nothing appears in the CiviCRM log, but in the Apache log I see:

Sep 09 13:56:02 [Wed Sep 09 12:56:02.301893 2020] [php7:error] [pid 203] [client 172.18.0.1:41254] PHP Fatal error: Uncaught CRM_Core_Exception: [0: One of parameters (value: ) is not of the type Integer\n\n thrown in /app/data/wp-content/plugins/civicrm/civicrm/CRM/Utils/Type.php on line 470 Sep 09 13:56:02 172.18.0.1 - - [09/Sep/2020:12:56:01 +0000] "GET /civicrm?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=2&cid=213&cs=1ccf75cf22138bd255525af8c8c05dc4_1599646931_168 HTTP/1.1" 500 3081 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0"

Using Civi 5.29 with WP 5.21. I had the same problem using Civi 5.25.0. I'm using a Cloudron LAMP stack, which makes things a little more complicated.

Any pointers most welcome.

6
  • 2
    Not an answer as such, but for the front-end, use civiwp=CiviCRM rather than page=CiviCRM. Also, I'd recommend using Clean URLs. I'll follow up if that makes no difference. Sep 9, 2020 at 13:16
  • if that helps i think it should be added as an Answer
    – petednz - fuzion
    Sep 9, 2020 at 20:08
  • Thanks. I'll check that out.
    – Graham
    Sep 10, 2020 at 8:50
  • Update. Nope:using civiwp=CiviCRM makes no difference. And clean URLs doesn't work either - that's where I'd started. If I remove the query string elements containing the contact Id and checksum I can reach the page fine (with clean URLS, with page= and with civiwp=). The problem seems to be with how Civi is handling the query
    – Graham
    Sep 10, 2020 at 8:58
  • What happens if you remove the &reset=1 part? The URLs that work for me don't have that - I used the Contact Checksum UI extension to generate them FWIW civicrm.org/extensions/contact-checksum-ui Sep 11, 2020 at 20:02

1 Answer 1

0

I would guess that anonymous users are not able to view and use contribution pages. Confirm and change this at:

Administer->Users and Permissions->Permissions (Access Control)->Wordpress Access Control.

OR

https://yoursite.tld/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Faccess%2Fwp-permissions&reset=1

1
  • A reasonable suggestion, but not relevant in this case. If I point my browser to the contribution page address without the query string containing contact ID and checksum, the page renders fine whether I'm logged in or not.
    – Graham
    Sep 17, 2020 at 15:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.