A biblioteca Asaas Ruby tem provê um acesso a API Rest do asaas.com.br
You don't need this source code unless you want to modify the gem. If you just want to use the package, just run:
gem install asaas-rubyPara fazer o build da gem
gem build asaas-ruby.gemspec- 0.2.24 - Add support to PIX billing type and fills missing CHANGELOG entries
- 0.2.23 - Add support to Ruby 2.7 and Rails 6.1
- 0.2.22 - Remove unecessary ActiveSupport version limit
- 0.2.21 - Add credit fields to Payment
- 0.2.20 - Adds debug flag to check responses
- 0.2.19 - Small fixes
- 0.2.18 - Account documents upload
- 0.2.17 - Add support to DEPOSIT billing type
- 0.2.16 - Wallet account tranfers
- 0.2.15 - Bank account tranfers
- Ruby 2.3+.
require'asaas-ruby'Asaas.setupdo |config|
config.token='token'endasaas_client=Asaas::Client.new()customer=Asaas::Customer.new({name: 'Thiago Diniz',cpfCnpj: '05201932419',email: 'email@example.org'})asaas_client.customers.create(customer)charge=Asaas::Payment.new({customer: customer.id,dueDate: '2019-10-10',billingType: 'BOLETO',# PIX CREDIT_CARD ....description: "Teste pagamento",value: (FloatIntegerBigDecimalString).to_s,# 100.00postalService: false})asaas_client.payments.create(charge)new_payment=Asaas::Payment.new({billingType: "PIX",customer: customer.id,# "cus_000005219617",value: value,# Money.to_s 100.00description: description})payment=asaas.payments.create(new_payment)# Check if payment creation was successful and it's a PIX payment# (payment will be an Asaas::Payment model or Asaas::Entity::Payment depending on API version and success)ifpayment && !payment.is_a?(Asaas::Entity::Error) && payment.id# && payment.billingType == "PIX"puts"Payment created successfully with ID: #{payment.id}"# Fetch the PIX QR Codeqr_code_data=asaas.payments.pix_qr_code(payment.id)ifqr_code_data.is_a?(Asaas::Entity::PaymentPix)puts"PIX QR Code details fetched successfully:"puts" Encoded Image: #{qr_code_data.encodedImage ? qr_code_data.encodedImage[0..30] + '...' : 'N/A'}"# Truncated for brevityputs" Payload: #{qr_code_data.payload}"puts" Expiration Date: #{qr_code_data.expirationDate}"elsifqr_code_data.is_a?(Asaas::Entity::Error)puts"Error fetching PIX QR Code:"qr_code_data.errors.eachdo |error|
puts" Code: #{error.code}, Description: #{error.description}"endelseputs"Unexpected response when fetching PIX QR Code."endelseputs"Failed to create PIX payment or payment ID is missing."ifpayment.is_a?(Asaas::Entity::Error)payment.errors.eachdo |error|
puts" Error Code: #{error.code}, Description: #{error.description}"endendendTODO
Note: asaas uses CCV (others: CVV/CVC)
charge=Asaas::Payment.new({customer: customer.id,# "cus_000005219613",billingType: 'CREDIT_CARD',value: lots_money,# Money.to_s 100.00dueDate: "%Y-%m-%d",# "2023-07-21"# creditCard:creditCardHolderName: card.name,# jose da silva saurocreditCardNumber: card.number,# "5162306219378829"creditCardExpiryMonth: card.month,# "05"creditCardExpiryYear: card.year,# "2024"creditCardCcv: card.cvv,# "318" NOTE: asaas call CCV, we call CVV# creditCardHolder:creditCardHolderFullName: card.holder,# "Marcelo Henrique Almeida"creditCardHolderEmail: card.email,# "marcelo.almeida@gmail.com"creditCardHolderCpfCnpj: card.doc,# "24971563792"creditCardHolderAddressNumber: card.addr,# "277"creditCardHolderPostalCode: card.zip,# "89223-005"creditCardHolderAddressNumber: card.addr,# "277"creditCardHolderAddressComplement: "",# card.compl,creditCardHolderMobilePhone: card.phone,# "47 99999-9999"creditCardHolderPhone: ""# },remoteIp: card.ip# user.last_ip})@asaas.payments.create(charge)