Module: BancoBrasilPayments::Payments
- Included in:
- BatchPaymentsApi
- Defined in:
- lib/bb_payments/api/payments.rb
Overview
- Pagamentos
-
Pagamentos que envolvem mais de um tipo de Pagamento
- Implemented
- Endpoint
-
> Description
- Y
- POST /liberar-pagamentos
-
> Liberar Pagamentos
- Y
- POST /cancelar-pagamentos
-
> Cancelar Lote de Pagamentos
- Y
- GET /pagamentos
-
> Consultar Pagamentos
- N
- GET /transferencias/id
-
> Consultar um Pagamento Específico de um Lote de Transferências
- Y
- GET /id
-
> Consultar um Lote de Pagamentos
- N
- GET /id/solicitacao
-
> Consultar sobre a Solicitação de um Lote de Pagamentos
Instance Method Summary collapse
-
#cancel_payments(body, opts = {}) ⇒ Object
POST /cancelar-pagamentos Cancelar Lote de Pagamentos Efetua o Cancelamento de um Lote de Pagamentos.
-
#consult_entries(debit_branch_office, debit_current_account, check_digits_debit_current_account, start_date, opts = {}) ⇒ Object
GET /lancamentos-periodo Consultar Lancamentos.
-
#consult_payments(start_date, end_date, opts = {}) ⇒ Object
GET /pagamentos Consultar Pagamentos Consulta os pagamentos e transferências das requisição feitas para efetuar pagamentos em lote, inclusive pagamentos e transferências relacionados ao PIX.
-
#find_batch_payments(id, opts = {}) ⇒ Object
GET /id Consulta um lote de pagamentos.
-
#find_batch_transfer(id, opts = {}) ⇒ Object
GET /id/solicitacao Consulta sobre uma solicitação de requisição para efetuar um lote de pagamentos via transferência e os pagamentos deste lote.
-
#find_payment(id, opts = {}) ⇒ Object
GET /transferencias/id Consultar um Pagamento Específico de um Lote de Transferências.
-
#liberar_pagamentos_with(id, float, opts = {}) ⇒ Object
POST /liberar-pagamentos Liberar Pagamentos Permite que a empresa efetue a liberação dos lotes de pagamentos diretamente de seu sistema de gestão - ERP.
Instance Method Details
#cancel_payments(body, opts = {}) ⇒ Object
POST /cancelar-pagamentos Cancelar Lote de Pagamentos Efetua o Cancelamento de um Lote de Pagamentos
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/bb_payments/api/payments.rb', line 52 def cancel_payments(body, opts = {}) validations(api_client: api_client, body: body, validate_body: true) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts, return_type: 'Hash<String, Array<Object>>', body: @api_client.object_to_http_body(body)) call_api_client(api_client: api_client, http_method: :POST, path: '/cancelar-pagamentos', data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |
#consult_entries(debit_branch_office, debit_current_account, check_digits_debit_current_account, start_date, opts = {}) ⇒ Object
GET /lancamentos-periodo Consultar Lancamentos
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/bb_payments/api/payments.rb', line 102 def consult_entries(debit_branch_office, debit_current_account, check_digits_debit_current_account, start_date, opts = {}) validations(api_client: api_client, required_params: { debit_branch_office: debit_branch_office, debit_current_account: debit_current_account, check_digits_debit_current_account: check_digits_debit_current_account, start_date: start_date }) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts, return_type: 'FindReleasesResponse') # query parameters query_params = client_opts[:query_params] query_params[@api_client.config.app_key_name.to_sym] = gw_app_key query_params[:numeroAgenciaDebito] = debit_branch_office query_params[:numeroContaCorrenteDebito] = debit_current_account query_params[:digitoVerificadorContaCorrenteDebito] = check_digits_debit_current_account query_params[:dataInicialdeEnviodaRequisição] = start_date.strftime('%d%m%Y').to_i query_params[:dataFinaldeEnviodaRequisição] = opts[:end_date].strftime('%d%m%Y').to_i unless opts[:end_date].nil? query_params[:codigodoEstadodoPagamento] = opts[:payment_state_code].to_i unless opts[:payment_state_code].nil? query_params[:codigoProduto] = opts[:product_code].to_i unless opts[:product_code].nil? query_params[:numeroDaPosicaoDePesquisa] = opts[:index].to_i unless opts[:index].nil? call_api_client(api_client: api_client, http_method: :GET, path: '/lancamentos-periodo', data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |
#consult_payments(start_date, end_date, opts = {}) ⇒ Object
GET /pagamentos Consultar Pagamentos Consulta os pagamentos e transferências das requisição feitas para efetuar pagamentos em lote, inclusive pagamentos e transferências relacionados ao PIX. Detre as informações consulatas estão o motivo e valores devolvidos.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/bb_payments/api/payments.rb', line 72 def consult_payments(start_date, end_date, opts = {}) validations(api_client: api_client, required_params: { start_date: start_date, end_date: end_date }) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts) # query parameters query_params = client_opts[:query_params] query_params[@api_client.config.app_key_name.to_sym] = gw_app_key query_params[:dataInicio] = start_date.strftime('%d%m%Y').to_i query_params[:dataFim] = end_date.strftime('%d%m%Y').to_i query_params[:agenciaDebito] = opts[:debit_branch_office] unless opts[:debit_branch_office].nil? query_params[:contaCorrenteDebito] = opts[:debit_current_account] unless opts[:debit_current_account].nil? unless opts[:check_digits_debit_current_account].nil? query_params[:digitoVerificadorContaCorrente] = opts[:check_digits_debit_current_account] end query_params[:numeroContratoPagamento] = opts[:payment_contract] unless opts[:payment_contract].nil? query_params[:estadoPagamento] = opts[:payment_state] unless opts[:payment_state].nil? query_params[:index] = opts[:index] unless opts[:index].nil? call_api_client(api_client: api_client, http_method: :GET, path: '/pagamentos', data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |
#find_batch_payments(id, opts = {}) ⇒ Object
GET /id Consulta um lote de pagamentos.
136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/bb_payments/api/payments.rb', line 136 def find_batch_payments(id, opts = {}) validations(api_client: api_client, required_params: { id: id }) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts, return_type: 'FindBatchResponse') call_api_client(api_client: api_client, http_method: :GET, path: id.to_s, data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |
#find_batch_transfer(id, opts = {}) ⇒ Object
GET /id/solicitacao Consulta sobre uma solicitação de requisição para efetuar um lote de pagamentos via transferência e os pagamentos deste lote.
170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/bb_payments/api/payments.rb', line 170 def find_batch_transfer(id, opts = {}) validations(api_client: api_client, required_params: { id: id }) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts) call_api_client(api_client: api_client, http_method: :GET, path: "/#{id}/solicitacao", data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |
#find_payment(id, opts = {}) ⇒ Object
GET /transferencias/id Consultar um Pagamento Específico de um Lote de Transferências.
153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/bb_payments/api/payments.rb', line 153 def find_payment(id, opts = {}) validations(api_client: api_client, required_params: { id: id }) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts, return_type: 'FindPaymentResponse') call_api_client(api_client: api_client, http_method: :GET, path: "/transferencias/#{id}", data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |
#liberar_pagamentos_with(id, float, opts = {}) ⇒ Object
POST /liberar-pagamentos Liberar Pagamentos Permite que a empresa efetue a liberação dos lotes de pagamentos diretamente de seu sistema de gestão - ERP.
Após o comando de liberação, o processamento do pagamento de todos os lançamentos do lote liberado dependerá da existência de saldo em conta até o horário limite para efetivação de cada um deles, da validação dos dados e demais regras pactuadas na contratação do serviço.
A situação de cada lançamento deverá se consultada posteriormente.
O mesmo lote poderá ser liberado mais de uma vez. Por exemplo: Foi enviado lançamentos com data de pagamento do dia anterior e do dia corrente. Após foi comandada a liberação do lote. Nesse caso, apenas os lançamentos com data do dia corrente seriam efetivados. Mas a empresa poderá alterar a data de pagamento dos lançamentos com data incorreta e após solicitar novamente a liberação do lote.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/bb_payments/api/payments.rb', line 31 def liberar_pagamentos_with(id, float, opts = {}) validations(api_client: api_client, validate_body: false, required_params: { id: id, float: float }) client_opts = build_client_opts(api_client: api_client, gw_app_key: gw_app_key, opts: opts, body: { numeroRequisicao: id, indicadorFloat: float ? 'S' : 'N' }, return_type: 'Hash<String, String>') call_api_client(api_client: api_client, http_method: :POST, path: '/liberar-pagamentos', data_only: opts.fetch(:data_only, true), client_opts: client_opts) end |