Class: AbacatePay::Clients::TransparentClient
- Defined in:
- lib/abacate_pay/clients/transparent_client.rb
Overview
Client for transparent PIX checkout in the AbacatePay API.
Transparent checkout returns the QR code and copy-and-paste payload directly, so the payment stays inside your own UI.
Constant Summary collapse
- URI =
"transparents"
Instance Method Summary collapse
- #check(id) ⇒ Resources::Transparents
- #create(data) ⇒ Resources::Transparents
-
#initialize(client = nil) ⇒ TransparentClient
constructor
A new instance of TransparentClient.
- #list(**params) ⇒ Array<Resources::Transparents>
-
#refund(id) ⇒ Resources::Transparents
Refunds a transparent payment in full.
- #simulate_payment(id) ⇒ Resources::Transparents
Constructor Details
#initialize(client = nil) ⇒ TransparentClient
Returns a new instance of TransparentClient.
12 13 14 |
# File 'lib/abacate_pay/clients/transparent_client.rb', line 12 def initialize(client = nil) super(URI, client) end |
Instance Method Details
#check(id) ⇒ Resources::Transparents
50 51 52 53 |
# File 'lib/abacate_pay/clients/transparent_client.rb', line 50 def check(id) response = request("GET", "check", params: { id: id }) Resources::Transparents.new(response) end |
#create(data) ⇒ Resources::Transparents
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/abacate_pay/clients/transparent_client.rb', line 25 def create(data) request_data = { method: "PIX", data: { amount: data.amount }, expiresIn: data.expires_in, description: data.description } if data.customer request_data[:customer] = { name: data.customer.&.name, email: data.customer.&.email, cellphone: data.customer.&.cellphone, taxId: data.customer.&.tax_id } end response = request("POST", "create", json: request_data) Resources::Transparents.new(response) end |
#list(**params) ⇒ Array<Resources::Transparents>
18 19 20 21 |
# File 'lib/abacate_pay/clients/transparent_client.rb', line 18 def list(**params) response = request("GET", "list", params: params.empty? ? nil : params) Array(response).map { |data| Resources::Transparents.new(data) } end |
#refund(id) ⇒ Resources::Transparents
Refunds a transparent payment in full. AbacatePay does not support partial refunds — the original amount is always returned.
67 68 69 70 |
# File 'lib/abacate_pay/clients/transparent_client.rb', line 67 def refund(id) response = request("POST", "refund", json: { id: id }) Resources::Transparents.new(response) end |
#simulate_payment(id) ⇒ Resources::Transparents
57 58 59 60 |
# File 'lib/abacate_pay/clients/transparent_client.rb', line 57 def simulate_payment(id) response = request("POST", "simulate-payment", json: { id: id }) Resources::Transparents.new(response) end |