Class: StarkBank::BoletoPayment
- Inherits:
-
Utils::Resource
- Object
- Utils::Resource
- StarkBank::BoletoPayment
- Defined in:
- lib/boleto_payment/boleto_payment.rb,
lib/boleto_payment/log.rb
Overview
# BoletoPayment object
When you initialize a BoletoPayment, the entity will not be automatically created in the Stark Bank API. The ‘create’ function sends the objects to the Stark Bank API and returns the list of created objects.
## Parameters (conditionally required):
-
line [string, default nil]: Number sequence that describes the payment. Either ‘line’ or ‘bar_code’ parameters are required. If both are sent, they must match. ex: ‘34191.09008 63571.277308 71444.640008 5 81960000000062’
-
bar_code [string, default nil]: Bar code number that describes the payment. Either ‘line’ or ‘barCode’ parameters are required. If both are sent, they must match. ex: ‘34195819600000000621090063571277307144464000’
## Parameters (required):
-
tax_id [string]: receiver tax ID (CPF or CNPJ) with or without formatting. ex: ‘01234567890’ or ‘20.018.183/0001-80’
-
description [string]: Text to be displayed in your statement (min. 10 characters). ex: ‘payment ABC’
## Parameters (optional):
-
scheduled [Date, DateTime, Time or string, default today]: payment scheduled date. ex: Date.new(2020, 3, 10)
-
tags [list of strings]: list of strings for tagging
## Attributes (return-only):
-
id [string, default nil]: unique id returned when payment is created. ex: ‘5656565656565656’
-
status [string, default nil]: current payment status. ex: ‘success’ or ‘failed’
-
amount [int, default nil]: amount automatically calculated from line or bar_code. ex: 23456 (= R$ 234.56)
-
fee [integer, default nil]: fee charged when the boleto payment is created. ex: 200 (= R$ 2.00)
-
created [DateTime, default nil]: creation datetime for the payment. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
Defined Under Namespace
Classes: Log
Instance Attribute Summary collapse
-
#amount ⇒ Object
readonly
Returns the value of attribute amount.
-
#bar_code ⇒ Object
readonly
Returns the value of attribute bar_code.
-
#created ⇒ Object
readonly
Returns the value of attribute created.
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#fee ⇒ Object
readonly
Returns the value of attribute fee.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#line ⇒ Object
readonly
Returns the value of attribute line.
-
#scheduled ⇒ Object
readonly
Returns the value of attribute scheduled.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
-
#tags ⇒ Object
readonly
Returns the value of attribute tags.
-
#tax_id ⇒ Object
readonly
Returns the value of attribute tax_id.
Class Method Summary collapse
-
.create(payments, user: nil) ⇒ Object
# Create BoletoPayments.
-
.delete(id, user: nil) ⇒ Object
# Delete a BoletoPayment entity.
-
.get(id, user: nil) ⇒ Object
# Retrieve a specific BoletoPayment.
-
.pdf(id, user: nil) ⇒ Object
# Retrieve a specific BoletoPayment pdf file.
-
.query(limit: nil, after: nil, before: nil, tags: nil, ids: nil, status: nil, user: nil) ⇒ Object
# Retrieve BoletoPayments.
- .resource ⇒ Object
Instance Method Summary collapse
-
#initialize(tax_id:, description:, line: nil, bar_code: nil, scheduled: nil, tags: nil, id: nil, status: nil, amount: nil, fee: nil, created: nil) ⇒ BoletoPayment
constructor
A new instance of BoletoPayment.
Methods inherited from Utils::Resource
Constructor Details
#initialize(tax_id:, description:, line: nil, bar_code: nil, scheduled: nil, tags: nil, id: nil, status: nil, amount: nil, fee: nil, created: nil) ⇒ BoletoPayment
Returns a new instance of BoletoPayment.
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/boleto_payment/boleto_payment.rb', line 34 def initialize(tax_id:, description:, line: nil, bar_code: nil, scheduled: nil, tags: nil, id: nil, status: nil, amount: nil, fee: nil, created: nil) super(id) @tax_id = tax_id @description = description @line = line = @scheduled = StarkBank::Utils::Checks.check_datetime(scheduled) = @status = status @amount = amount @fee = fee @created = StarkBank::Utils::Checks.check_datetime(created) end |
Instance Attribute Details
#amount ⇒ Object (readonly)
Returns the value of attribute amount.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def amount @amount end |
#bar_code ⇒ Object (readonly)
Returns the value of attribute bar_code.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def end |
#created ⇒ Object (readonly)
Returns the value of attribute created.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def created @created end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def description @description end |
#fee ⇒ Object (readonly)
Returns the value of attribute fee.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def fee @fee end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def id @id end |
#line ⇒ Object (readonly)
Returns the value of attribute line.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def line @line end |
#scheduled ⇒ Object (readonly)
Returns the value of attribute scheduled.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def scheduled @scheduled end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def status @status end |
#tags ⇒ Object (readonly)
Returns the value of attribute tags.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def end |
#tax_id ⇒ Object (readonly)
Returns the value of attribute tax_id.
33 34 35 |
# File 'lib/boleto_payment/boleto_payment.rb', line 33 def tax_id @tax_id end |
Class Method Details
.create(payments, user: nil) ⇒ Object
# Create BoletoPayments
Send a list of BoletoPayment objects for creation in the Stark Bank API
## Parameters (required):
-
payments [list of BoletoPayment objects]: list of BoletoPayment objects to be created in the API
## Parameters (optional):
-
user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
## Return:
-
list of BoletoPayment objects with updated attributes
60 61 62 |
# File 'lib/boleto_payment/boleto_payment.rb', line 60 def self.create(payments, user: nil) StarkBank::Utils::Rest.post(entities: payments, user: user, **resource) end |
.delete(id, user: nil) ⇒ Object
# Delete a BoletoPayment entity
Delete a BoletoPayment entity previously created in the Stark Bank API
Parameters (required):
-
id [string]: BoletoPayment unique id. ex: ‘5656565656565656’
Parameters (optional):
-
user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
Return:
-
deleted BoletoPayment object
137 138 139 |
# File 'lib/boleto_payment/boleto_payment.rb', line 137 def self.delete(id, user: nil) StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource) end |
.get(id, user: nil) ⇒ Object
# Retrieve a specific BoletoPayment
Receive a single BoletoPayment object previously created by the Stark Bank API by passing its id
## Parameters (required):
-
id [string]: object unique id. ex: ‘5656565656565656’
## Parameters (optional):
-
user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
## Return:
-
BoletoPayment object with updated attributes
76 77 78 |
# File 'lib/boleto_payment/boleto_payment.rb', line 76 def self.get(id, user: nil) StarkBank::Utils::Rest.get_id(id: id, user: user, **resource) end |
.pdf(id, user: nil) ⇒ Object
# Retrieve a specific BoletoPayment pdf file
Receive a single BoletoPayment pdf file generated in the Stark Bank API by passing its id. Only valid for boleto payments with ‘success’ status.
## Parameters (required):
-
id [string]: object unique id. ex: ‘5656565656565656’
## Parameters (optional):
-
user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
## Return:
-
BoletoPayment pdf file
93 94 95 |
# File 'lib/boleto_payment/boleto_payment.rb', line 93 def self.pdf(id, user: nil) StarkBank::Utils::Rest.get_pdf(id: id, user: user, **resource) end |
.query(limit: nil, after: nil, before: nil, tags: nil, ids: nil, status: nil, user: nil) ⇒ Object
# Retrieve BoletoPayments
Receive a generator of BoletoPayment objects previously created in the Stark Bank API
## Parameters (optional):
-
limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
-
after [Date, DateTime, Time or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
-
before [Date, DateTime, Time or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
-
tags [list of strings, default nil]: tags to filter retrieved objects. ex: [‘tony’, ‘stark’]
-
ids [list of strings, default nil]: list of strings to get specific entities by ids. ex: [‘12376517623’, ‘1928367198236’]
-
status [string, default nil]: filter for status of retrieved objects. ex: ‘paid’
-
user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
## Return:
-
generator of BoletoPayment objects with updated attributes
112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/boleto_payment/boleto_payment.rb', line 112 def self.query(limit: nil, after: nil, before: nil, tags: nil, ids: nil, status: nil, user: nil) after = StarkBank::Utils::Checks.check_date(after) before = StarkBank::Utils::Checks.check_date(before) StarkBank::Utils::Rest.get_list( user: user, limit: limit, after: after, before: before, tags: , ids: ids, status: status, **resource ) end |
.resource ⇒ Object
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/boleto_payment/boleto_payment.rb', line 141 def self.resource { resource_name: 'BoletoPayment', resource_maker: proc { |json| BoletoPayment.new( id: json['id'], tax_id: json['tax_id'], description: json['description'], line: json['line'], bar_code: json['bar_code'], scheduled: json['scheduled'], tags: json['tags'], status: json['status'], amount: json['amount'], fee: json['fee'], created: json['created'] ) } } end |