1

When I activate pay later and force pay later address input on an event I get some fields displayed.

How can I add "Company" to those fields?

I used the hack in How to change order in billing address to tweak the ordering.

The return in CRM/Core/Payment/Manual.php looks like this:

      return [
        'first_name' => 'billing_first_name',
        'last_name' => 'billing_last_name',
        'street_address' => "billing_street_address-{$billingLocationID}",
        'postal_code' => "billing_postal_code-{$billingLocationID}",
        'city' => "billing_city-{$billingLocationID}",
        'country' => "billing_country_id-{$billingLocationID}",
        'state_province' => "billing_state_province_id-{$billingLocationID}",
      ];

I'm not sure what the values in this returned table actually means or how it is used, but I could not find anything like billing_company or billing_organisation when grep-ing the PHP sources.

Is there a way to add the company information to the "pay later" form?

3
  • how about 'current_employer'?
    – petednz - fuzion
    Commented Jun 28, 2022 at 23:57
  • Adding 'company' => "current_employer" displays the field, but it does not get saved in the billing information.
    – thoni56
    Commented Jun 29, 2022 at 6:03
  • The billing info should really be a profile, rather than hard-coded: lab.civicrm.org/dev/core/-/issues/2761
    – thoni56
    Commented Jun 29, 2022 at 6:05

1 Answer 1

0

I don't think there is an easy way to add a new field to the billing address instead of changing the core file. But you could do via custom extension using buildform hook

2
  • And how would I integrate that into the Pay Later flow? And get the result of that form into the payments for the participants? Could you expand on your answer, please.
    – thoni56
    Commented Jun 28, 2022 at 19:26
  • As I said it's not easy, But you can definitely achieve this using hooks rather overriding core. Will need to debug the hook params and add the field accordingly. The data will be stored against the contact however it won't appear on a single screen will need to do few clicks to see the data Commented Jun 29, 2022 at 10:19

Your Answer

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

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