Sha256: 253a30c3b6d0c804ed3bbd58d547794d6546b112cdd87b8a206c7b09b1d47d5b

Contents?: true

Size: 982 Bytes

Versions: 4

Compression:

Stored size: 982 Bytes

Contents

require 'request'

module MyMoip
  class PaymentRequest < Request

    HTTP_METHOD   = :get
    PATH          = "/rest/pagamento?callback=?"
    REQUIRES_AUTH = false
    FORMAT        = :json

    def api_call(data, extra_attrs)
      extra_attrs[:referer_url] ||= MyMoip.default_referer_url
      extra_attrs[:parser]      ||= MyMoip::JsonParser

      json = JSON.generate({
        pagamentoWidget: {
          referer:        extra_attrs[:referer_url],
          token:          extra_attrs[:token],
          dadosPagamento: data.to_json
        }
      })

      params = {
        query:         { pagamentoWidget: json },
        http_method:   HTTP_METHOD,
        requires_auth: REQUIRES_AUTH,
        path:          PATH,
        format:        FORMAT
      }
      params[:parser] = extra_attrs.delete :parser unless extra_attrs[:parser].nil?

      super params
    end

    def success?
      @response && @response["StatusPagamento"] == "Sucesso"
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mymoip-0.2.2 lib/mymoip/payment_request.rb
mymoip-0.2.1 lib/mymoip/payment_request.rb
mymoip-0.2.0 lib/payment_request.rb
mymoip-0.1.0 lib/payment_request.rb