Closed TomCrawshaw closed 4 years ago
Sounds good. Probably want to put in some checks so we don't end up with , Oxford
as a value. Are you able to do a PR?
I take it you've checked that address_line2
is a thing?
Thanks. I'll recast the code so that it shouldn't end up with a hanging comma, and "address_line2" does exist in GoCardless, so seems ok, but I'll do some more checking before trying a PR (if I can work out how to do that!)
@artfulrobot Testing seems to show that the addition works in all reasonable cases, so I've created what I think is a valid PR for this, but since it's my first one may not have completed all the steps. Do you have to merge into master?
Fixed by your pr, thanks
Most of our addresses use data in supplemental_address_1 and supplemental_address_2 fields (e.g. a road name, village etc), and this should be copied across to GoCardless so the complete address is held there (although not necessary for the DD to go through). Could a patch be applied to do this in CRM/Core/Payment/GoCardless.php:
Line 353: elseif (preg_match('/^(street_address|supplemental_address_1|supplemental_address_2|city|postal_code|country|state_province)-(\d|\w+)+$/', $civi_prop, $matches)) {
Line 396 et seq: if (isset($_['supplemental_address_1'])) { $customer['addressline1'] .= ", " . $['supplemental_address1']; } if (isset($['supplemental_address_2'])) { $customer['addressline2'] = $['supplemental_address_2']; }
Thanks.