/** * Creates an edit transaction through the HpsPayPlanPaymentMethodService */ public function execute() { parent::execute(); if ($this->paymentMethod != null) { $this->paymentMethodKey = $this->paymentMethod->paymentMethodKey; } $service = new HpsPayPlanPaymentMethodService($this->service->servicesConfig()); $obj = new HpsPayPlanPaymentMethod(); $obj->paymentMethodKey = $this->paymentMethodKey; $usableData = array_intersect_key($this->data, array_flip(HpsPayPlanPaymentMethod::getEditableFields())); foreach ($usableData as $k => $v) { $obj->{$k} = $v; } unset($usableData, $k, $v); return $service->edit($obj); }