Class: FluvPay::Resources::Withdrawals
- Inherits:
-
Object
- Object
- FluvPay::Resources::Withdrawals
- Defined in:
- lib/fluvpay/resources/withdrawals.rb
Overview
Recurso de saques PIX da conta para uma chave PIX.
Instance Method Summary collapse
-
#create(amount_cents:, pix_key:, pix_key_type:, description: nil, idempotency_key: nil) ⇒ Hash
Cria um saque PIX.
-
#initialize(client) ⇒ Withdrawals
constructor
A new instance of Withdrawals.
-
#list(limit: nil, offset: nil, status: nil) ⇒ FluvPay::Resources::OffsetList
Lista saques.
-
#retrieve(withdrawal_id) ⇒ Hash
Recupera um saque por ID.
Constructor Details
#initialize(client) ⇒ Withdrawals
Returns a new instance of Withdrawals.
11 12 13 |
# File 'lib/fluvpay/resources/withdrawals.rb', line 11 def initialize(client) @client = client end |
Instance Method Details
#create(amount_cents:, pix_key:, pix_key_type:, description: nil, idempotency_key: nil) ⇒ Hash
Cria um saque PIX.
Escopo exigido: withdrawals.create. Idempotency-Key gerado se omitido. Não suportado em sandbox: chaves fluv_test_ recebem 403 (SANDBOX_NOT_SUPPORTED_FOR_WITHDRAWALS).
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fluvpay/resources/withdrawals.rb', line 27 def create(amount_cents:, pix_key:, pix_key_type:, description: nil, idempotency_key: nil) body = { "amount_cents" => amount_cents, "pix_key" => pix_key, "pix_key_type" => pix_key_type, "description" => description } key = idempotency_key || FluvPay::Client.new_idempotency_key @client.request(:post, "/withdrawals/", body: body, idempotency_key: key) end |
#list(limit: nil, offset: nil, status: nil) ⇒ FluvPay::Resources::OffsetList
Lista saques.
Escopo exigido: withdrawals.read. Envelope: limit/offset.
45 46 47 48 49 50 51 52 53 |
# File 'lib/fluvpay/resources/withdrawals.rb', line 45 def list(limit: nil, offset: nil, status: nil) params = { "limit" => limit, "offset" => offset, "status" => status } payload = @client.request(:get, "/withdrawals/", params: params) OffsetList.new(payload) end |
#retrieve(withdrawal_id) ⇒ Hash
Recupera um saque por ID.
59 60 61 |
# File 'lib/fluvpay/resources/withdrawals.rb', line 59 def retrieve(withdrawal_id) @client.request(:get, "/withdrawals/#{ERB::Util.url_encode(withdrawal_id.to_s)}") end |