I would like to remove the Billing Name and Address section (which includes the fields First Name, Last Name, Street, City, Country, State, ZIP) from the donation page. What would be a good way to go about that?

The section shows when I am using a credit card payment processor (Stripe in my case).

I have tried commenting out the section from the smarty template /civicrm/templates/CRM/Core/BillingBlock.tpl. However, CiviCRM naturally still checks those fields upon form submission and gives an error that they are empty.

For background information, the reason for removing the section is that I noticed that the workflow of completing this section on a mobile device is extremely poor. It was difficult even for me to complete these fields on a mobile device - actually I quit trying after some effort. Additionally, our organization does not use this user data, so removing the section seems like a very good streamlining of the user experience without any disadvantage to the organization.

  • The fields required for a processor are configured in the processor code (ie. the Stripe extension) – user4278 May 6 '18 at 22:27

How are you collecting the payment? As far as I understand it, those fields are required by certain merchant account services. For instance, on our page if we do pay later or Paypal, those fields do not come up. But if you select credit card, which is run through Authorize.net, then those fields become available (and required). There's a checkbox to state that the information is the same as what was entered above.

| improve this answer | |

Have you looked in the Manage Contribution Page > Profiles? This is where you control what displays there.

But some of that information maybe required to process the credit cards. I do not know what is the minimum required fields.

If you run into some of the address fields being required or you have to display one profile, you can edit the Billing Name and Address Profile under Administration > Custom Data and Screens > Profiles. Look for the Billing Address Profile and click Edit, then start disabling fields and test your donation page. You might be able to disable down to just the Postal Code.

| improve this answer | |

As Jenni's answer suggests - the fields must be present in SOME form because most credit card companies require them. However, if you place the following fields in a profile, you'll get the "My Billing Address is the same as above" checkbox. This will cause the billing block to disappear unless someone unchecks the box:

  • first name
  • last name
  • street address
  • city
  • state/province
  • postal code
  • country

This list is in CRM/Core/BAO/UFField.php in the assignAddressField() function, it's called $requiredBillingFields.

| improve this answer | |
  • I did not know that credit card companies require this data to process a transaction. Do you have any sources that could shed more light on that? The only one I found was this answer on Quora from someone who works at Stripe and says the minimum data they require to create a charge is the card number, expiration date and amount of the charge. – Borislav Zlatanov May 9 '18 at 18:27
  • 1
    Authorize.net requires them for their AVS service; it's true that perhaps this is an overcautious list of fields. I heard from a rep at Square that far fewer fields than we think are actually mandatory! However, my answer is an accurate reflection of Civi's requirements as of Civi 5.1. If you think they should be relaxed, I would talk to the folks on chat.civicrm.org in the "dev-financial" channel. – Jon G - Megaphone Tech May 10 '18 at 0:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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