class Threoze::PaymentService < Threoze::ApplicationService
  def call
    return unless @action == :create

    JSON.parse(RestClient.post(
      "#{uri}/#{@payload[:id]}",
      {
        transaction_amount: @payload[:transaction_amount],
        card_type: @payload[:card_type],
        email: @payload[:email]
      },
      headers
    ).body)
  rescue RestClient::Exception => e
    JSON.parse(e.response.body)
  end

  private
    def uri
      "#{base_uri}/PayaInvoicePayment/#{customer}"
    end
end
