Class: PaystackSdk::Resources::Transfers

Inherits:
Base
  • Object
show all
Defined in:
lib/paystack_sdk/resources/transfers.rb

Constant Summary

Constants included from Utils::ConnectionUtils

Utils::ConnectionUtils::BASE_URL

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods included from Utils::ConnectionUtils

#create_connection, #initialize_connection

Methods included from Validations

#validate_allowed_values!, #validate_currency!, #validate_date_format!, #validate_email!, #validate_fields!, #validate_hash!, #validate_positive_integer!, #validate_presence!, #validate_reference_format!, #validate_required_params!

Constructor Details

This class inherits a constructor from PaystackSdk::Resources::Base

Instance Method Details

#create(params) ⇒ Object

Create a transfer



8
9
10
11
12
13
14
15
16
# File 'lib/paystack_sdk/resources/transfers.rb', line 8

def create(params)
  validate_hash!(input: params, name: "Transfer params")
  validate_required_params!(
    payload: params,
    required_params: i[source amount recipient],
    operation_name: "Create Transfer"
  )
  handle_response(@connection.post("/transfer", params))
end

#fetch(id:) ⇒ Object

Fetch a transfer



26
27
28
29
# File 'lib/paystack_sdk/resources/transfers.rb', line 26

def fetch(id:)
  validate_presence!(value: id, name: "transfer id")
  handle_response(@connection.get("/transfer/#{id}"))
end

#finalize(transfer_code:, otp:) ⇒ Object

Finalize a transfer (OTP)



33
34
35
36
37
# File 'lib/paystack_sdk/resources/transfers.rb', line 33

def finalize(transfer_code:, otp:)
  validate_presence!(value: transfer_code, name: "transfer_code")
  validate_presence!(value: otp, name: "otp")
  handle_response(@connection.post("/transfer/finalize_transfer", {transfer_code: transfer_code, otp: otp}))
end

#list(query = {}) ⇒ Object

List transfers



20
21
22
# File 'lib/paystack_sdk/resources/transfers.rb', line 20

def list(query = {})
  handle_response(@connection.get("/transfer", query))
end

#verify(reference:) ⇒ Object

Verify a transfer



41
42
43
44
# File 'lib/paystack_sdk/resources/transfers.rb', line 41

def verify(reference:)
  validate_presence!(value: reference, name: "reference")
  handle_response(@connection.get("/transfer/verify/#{reference}"))
end