class Stripe::PaymentService < Stripe::ApplicationService
  def call
    return if payment_id.blank?
    
    resp = rest_client_request(:get, url, @model, 'Saved Payment Method')
    data = JSON.parse(resp.body)
    return data if @model.stripe_payment_id?
    
    @model.update(stripe_payment_id: data['id'])
    data
  end

  private
    def endpoint
      "payment_methods/#{payment_id}"
    end
    
    def payment_id
      @options[:payment_id] || @model.stripe_payment_id
    end
end
