protected function creatingPaymentMethod($paymentMethod) { $source = $this->tokenResponse; if ($this->isGatewayType(GATEWAY_TYPE_BANK_TRANSFER)) { $paymentMethod->payment_type_id = PAYMENT_TYPE_ACH; $paymentMethod->last4 = $source->account_last_four; $paymentMethod->bank_name = $source->bank_name; $paymentMethod->source_reference = $source->payment_bank_id; switch ($source->state) { case 'new': case 'pending': $paymentMethod->status = 'new'; break; case 'authorized': $paymentMethod->status = 'verified'; break; } } else { $paymentMethod->last4 = $source->last_four; $paymentMethod->payment_type_id = $this->parseCardType($source->credit_card_name); $paymentMethod->expiration = $source->expiration_year . '-' . $source->expiration_month . '-01'; $paymentMethod->source_reference = $source->credit_card_id; } return $paymentMethod; }