Answers.Body: <p>I would guess that anonymous users are not able to view and use contribution pages.
  Confirm and change this at:</p>
  <p>Administer-&gt;Users and Permissions-&gt;Permissions (Access Control)-&gt;Wordpress Access Control.</p>
  <p>OR</p>
  <p><a href="https://yoursite.tld/wp-admin/admin.php?page=CiviCRM&amp;q=civicrm%2Fadmin%2Faccess%2Fwp-permissions&amp;reset=1" rel="nofollow noreferrer">https://yoursite.tld/wp-admin/admin.php?page=CiviCRM&amp;q=civicrm%2Fadmin%2Faccess%2Fwp-permissions&amp;reset=1</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-17T15:34:27.753Z
Answers.Text: 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.
Answers.UserDisplayName: Graham
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-14T19:37:59.270Z
Answers.LastActivityDate: 2020-09-14T19:37:59.270Z
Answers.UserDisplayName: kapn
Body: <p>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</p>
  <p><a href="https://example.com/civicrm?page=CiviCRM&amp;q=civicrm/contribute/transact&amp;reset=1&amp;id=2&amp;cid=xxx&amp;cs=1ccf75cf22138bd255525af8c8c05dc4_1599646931_168" rel="nofollow noreferrer">https://example.com/civicrm?page=CiviCRM&amp;q=civicrm/contribute/transact&amp;reset=1&amp;id=2&amp;cid=xxx&amp;cs=1ccf75cf22138bd255525af8c8c05dc4_1599646931_168</a></p>
  <p>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 &quot;The site is experiencing technical difficulties&quot;.</p>
  <p>Nothing appears in the CiviCRM log, but in the Apache log I see:</p>
  <blockquote>
  <p>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]
  &quot;GET
  /civicrm?page=CiviCRM&amp;q=civicrm/contribute/transact&amp;reset=1&amp;id=2&amp;cid=213&amp;cs=1ccf75cf22138bd255525af8c8c05dc4_1599646931_168
  HTTP/1.1&quot; 500 3081 &quot;-&quot; &quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15;
  rv:80.0) Gecko/20100101 Firefox/80.0&quot;</p>
  </blockquote>
  <p>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.</p>
  <p>Any pointers most welcome.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-09T13:16:05.267Z
Comments.Text: 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.
Comments.UserDisplayName: Christian Wach
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-09T20:08:03.223Z
Comments.Text: if that helps i think it should be added as an Answer
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-10T08:50:50.230Z
Comments.Text: Thanks. I'll check that out.
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-10T08:58:53.240Z
Comments.Text: 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
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-11T20:02:18.870Z
Comments.Text: 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 https://civicrm.org/extensions/contact-checksum-ui
Comments.UserDisplayName: Christian Wach
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-17T15:31:30.070Z
Comments.Text: Makes no difference. I'm stumped.
Comments.UserDisplayName: Graham
Tags: <wordpress><checksum>
Title: Links to a contribution page with checksum and contact ID generate a fatal error
ThreadText: # Links to a contribution page with checksum and contact ID generate a fatal error
  
  (Asked by: username_0 on 2020-09-09)
  
  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.
  
  **Tags:** wordpress, checksum
  
  > **Comments:**
  > **username_1**: 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.  
  > **username_2**: if that helps i think it should be added as an Answer  
  > **username_0**: Thanks. I'll check that out.  
  > **username_0**: 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  
  > **username_1**: 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 https://civicrm.org/extensions/contact-checksum-ui  
  > **username_0**: Makes no difference. I'm stumped.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2020-09-14. Score: 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>
  
  > **Comments:**
  > **username_0**: 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.  
  
  ---
  
  