@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at recaptime-dev/main 51 lines 1.3 kB view raw
1<?php 2 3abstract class PhortuneController extends PhabricatorController { 4 5 private function loadEnabledProvidersForMerchant(PhortuneMerchant $merchant) { 6 $viewer = $this->getRequest()->getUser(); 7 8 $provider_configs = id(new PhortunePaymentProviderConfigQuery()) 9 ->setViewer($viewer) 10 ->withMerchantPHIDs(array($merchant->getPHID())) 11 ->execute(); 12 $providers = mpull($provider_configs, 'buildProvider', 'getID'); 13 14 foreach ($providers as $key => $provider) { 15 if (!$provider->isEnabled()) { 16 unset($providers[$key]); 17 } 18 } 19 20 return $providers; 21 } 22 23 protected function loadCreatePaymentMethodProvidersForMerchant( 24 PhortuneMerchant $merchant) { 25 26 $providers = $this->loadEnabledProvidersForMerchant($merchant); 27 foreach ($providers as $key => $provider) { 28 if (!$provider->canCreatePaymentMethods()) { 29 unset($providers[$key]); 30 continue; 31 } 32 } 33 34 return $providers; 35 } 36 37 protected function loadOneTimePaymentProvidersForMerchant( 38 PhortuneMerchant $merchant) { 39 40 $providers = $this->loadEnabledProvidersForMerchant($merchant); 41 foreach ($providers as $key => $provider) { 42 if (!$provider->canProcessOneTimePayments()) { 43 unset($providers[$key]); 44 continue; 45 } 46 } 47 48 return $providers; 49 } 50 51}