Answers.Body: <p>I found a solution for PayPalPro by editing the code at line 277 in \CRM\Core\Payment\PayPalImpl.php</p>
  
  <pre><code>  'billing_first_name' =&gt; 'firstname',
    'billing_middle_name' =&gt; 'middlename',
    'billing_last_name' =&gt; 'lastname',
  </code></pre>
  
  <p>ie I added "billing_" at the start of the three Civi field names.  This is how received information from PayPal is mapped to Civi fields. With my change the name goes into the billing fields and not the main/primary fields.</p>
  
  <p>In my case there was not a problem for the address fields, ie they were getting through OK to the billing address.</p>
  
  <p>I've done this as a customisation for my site. If it's correct then this should be converted into a bug report so it's incorporated into the main code.  Anyone care to test?</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-24T10:38:07.377Z
Answers.Text: Unable to test but looking at the code believe this is what is causing the issue for Express checkout. Certainly worth opening as an issue. I'll contact our civicrm contractor and see if there is a workaround that doesn't need to change the core code
Answers.UserDisplayName: mhawksey
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-24T14:28:09.623Z
Answers.Text: I think it's been reported here
  https://issues.civicrm.org/jira/browse/CRM-20553
  so I've linked back to here as a proposed solution
Answers.UserDisplayName: chriscant
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-24T15:31:51.983Z
Answers.Text: Rather than changing the core code looking at wrapping the existing paypal payment processor code with modification you suggest as a custom payment processor
Answers.UserDisplayName: mhawksey
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-24T20:41:52.337Z
Answers.Text: I'd say that it feels like this should be a core fix - the PayPal account details surely should go into the billing info.
Answers.UserDisplayName: chriscant
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-23T12:06:44.110Z
Answers.LastActivityDate: 2017-11-23T12:06:44.110Z
Answers.UserDisplayName: chriscant
Body: <p>We are using CiviCRM 4.7.22/Drupal 7.56 and are increasingly encountering a scenario where Civi contacts are sharing their log in details with admin/PA staff to make payment via PayPal with a credit card on their behalf. The problem we encounter is when the admin/PA checkout with Paypal they enter their own name, email address and billing info, not the Civi contact. When the contribution is made this then  overwrites the Civi contact. This is particularly problematic for events as we use Civi data to make badges and email joining instructions.</p>
  
  <p>Is this the designed behavior or is there a setting either in Civi or Paypal I'm missing? </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-20T13:22:04.960Z
Comments.Text: I'm also seeing this or something very similar when using PayPal Pro and Civi 4.7.27 and Drupal 7.56.
  
  We have a membership contribution with an included profile that has the new user name and address. If they pay with PayPal then the first name and last name are overwritten with these details from the PayPal account when the complete transaction screen is shown. (Other fields may be affected as well but I haven't tested that.)
Comments.UserDisplayName: chriscant
Tags: <civicontribute><contacts><paypal>
Title: Is there a setting to prevent Paypal Express overwriting contact details with provided Paypal billing details?
ThreadText: # Is there a setting to prevent Paypal Express overwriting contact details with provided Paypal billing details?
  
  (Asked by: username_0 on 2017-10-24)
  
  We are using CiviCRM 4.7.22/Drupal 7.56 and are increasingly encountering a scenario where Civi contacts are sharing their log in details with admin/PA staff to make payment via PayPal with a credit card on their behalf. The problem we encounter is when the admin/PA checkout with Paypal they enter their own name, email address and billing info, not the Civi contact. When the contribution is made this then overwrites the Civi contact. This is particularly problematic for events as we use Civi data to make badges and email joining instructions.
  
  Is this the designed behavior or is there a setting either in Civi or Paypal I'm missing?
  
  **Tags:** civicontribute, contacts, paypal
  
  > **Comments:**
  > **username_1**: I'm also seeing this or something very similar when using PayPal Pro and Civi 4.7.27 and Drupal 7.56.  We have a membership contribution with an included profile that has the new user name and address. If they pay with PayPal then the first name and last name are overwritten with these details from the PayPal account when the complete transaction screen is shown. (Other fields may be affected as well but I haven't tested that.)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2017-11-23. Score: 2 | Accepted answer
  
  I found a solution for PayPalPro by editing the code at line 277 in \CRM\Core\Payment\PayPalImpl.php
    'billing_first_name' => 'firstname',
    'billing_middle_name' => 'middlename',
    'billing_last_name' => 'lastname',
  
  ie I added "billing_" at the start of the three Civi field names.  This is how received information from PayPal is mapped to Civi fields. With my change the name goes into the billing fields and not the main/primary fields.
  In my case there was not a problem for the address fields, ie they were getting through OK to the billing address.
  I've done this as a customisation for my site. If it's correct then this should be converted into a bug report so it's incorporated into the main code.  Anyone care to test?
  
  > **Comments:**
  > **username_0**: Unable to test but looking at the code believe this is what is causing the issue for Express checkout. Certainly worth opening as an issue. I'll contact our civicrm contractor and see if there is a workaround that doesn't need to change the core code  
  > **username_1**: I think it's been reported here https://issues.civicrm.org/jira/browse/CRM-20553 so I've linked back to here as a proposed solution  
  > **username_0**: Rather than changing the core code looking at wrapping the existing paypal payment processor code with modification you suggest as a custom payment processor  
  > **username_1**: I'd say that it feels like this should be a core fix - the PayPal account details surely should go into the billing info.  
  
  ---
  
  