PrimeHammer/gopay-ruby

View on GitHub
lib/gopay/payment.rb

Summary

Maintainability
A
0 mins
Test Coverage
module GoPay
  class Payment
    
    # basic methods
    
    def self.create(payment_data)
      target = { target: { type: "ACCOUNT", goid: GoPay.goid } }
      GoPay.request :post, "/api/payments/payment", body_parameters: payment_data.merge(target)
    end

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

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

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

    def self.create_recurrence(original_payment_id, recurring_payment_data)
      GoPay.request :post, "/api/payments/payment/#{original_payment_id}/create-recurrence", body_parameters: recurring_payment_data
    end

    # other methods

    def self.payment_instruments(currency)
      goid = GoPay.goid
      GoPay.request :get, "/api/eshops/eshop/#{goid}/payment-instruments/#{currency}"
    end
    

  end
end