PrimeHammer/gopay-ruby

View on GitHub
lib/gopay/gateway.rb

Summary

Maintainability
A
0 mins
Test Coverage
module GoPay
  class Gateway
    def initialize(config)
      @client = Client.new(config)
      @goid = config[:goid]
    end

    def create(payment_data)
      target = { target: { type: "ACCOUNT", goid: @goid } }
      @client.request :post, "/api/payments/payment", body_parameters: payment_data.merge(target)
    end

    def retrieve(id)
      @client.request :get, "/api/payments/payment/#{id}"
    end

    def refund(id, amount)
      @client.request :post, "/api/payments/payment/#{id}/refund", body_parameters: { amount: amount }
    end

    def void_recurrence(id)
      @client.request :post, "/api/payments/payment/#{id}/void-recurrence"
    end
  end
end