solidus_inter 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e4f2ec4ad7b0a257eaeb36a071d1536ea55230179d9ed90fbaf91909f1c3fd0
4
- data.tar.gz: b7f4db3f4c160512bf5666a5b303aa67217ebe1d1a821748954d6602c9338bc5
3
+ metadata.gz: 9f8527b4fe113c48cde458b6dd290795d126c040c52f1f4f591010017b2e1f10
4
+ data.tar.gz: 95d4f66b4f3df7d7bda6198c300c31d2afd928cc6ccb1f71e06c8aed5fc611cc
5
5
  SHA512:
6
- metadata.gz: 429e23c494782d30cd07def008f905c628e80ec646d1d5ac0ffbebcc6a5c49dd1813974020f83607c3286e5870073cd5a97f9f6f0d4435bde03552843f0ff35f
7
- data.tar.gz: 1775c4ccd206338334dbb9b6403406c4954f7781d1410ca91e479ab9ab12f58e8220ac4257c99d24c37c607fa28582da9d9f00d2b08da36f02a05b27d6493bde
6
+ metadata.gz: 83b9e1a62a7b57e7b4dd1e81bda915d0dfd816c18e7aea34a7a777830bf009f7f7609b948635aef92c4534309f010669b8554b9c1b6137e00149ac2e4f85beca
7
+ data.tar.gz: 9f51b1ad2e8014ec45168b7700655c8177849688183a590ef3351bf00c27f40b66a14f3afe52b1c9cac03f63554e0c3bbff8bef00602c6ff47481ab85b178628
@@ -0,0 +1,5 @@
1
+ module SolidusInter
2
+ class Account < ApplicationRecord
3
+ belongs_to :spree_payment_method, class_name: "Spree::PaymentMethod"
4
+ end
5
+ end
@@ -54,10 +54,12 @@ module SolidusInter
54
54
  end
55
55
 
56
56
  def invalidate_payment(payment)
57
- return unless payment && payment.source.txid
57
+ return false unless payment && payment.source.txid
58
58
  inter_payment = find_payment(payment.source.txid)
59
+ return false if inter_payment.paid?
59
60
  inter_payment.invalidate!
60
61
  payment.log_entries.create!(parsed_payment_response_details_with_fallback: failure_response("Pagamento cancelado"))
62
+ true
61
63
  end
62
64
 
63
65
  def purchase(money, source, options = {})
@@ -82,14 +84,19 @@ module SolidusInter
82
84
  private
83
85
 
84
86
  def set_api_client
85
- ::InterApi::Client.new(
87
+ account = SolidusInter::Account.find_by(chave_pix: preferences[:chave_pix])
88
+ client = ::InterApi::Client.new(
86
89
  client_id: preferences[:client_id],
87
90
  client_secret: preferences[:client_secret],
88
91
  chave_pix: preferences[:chave_pix],
89
92
  conta_corrente: preferences[:conta_corrente],
90
93
  crt: temp_file(preferences[:crt]).path,
91
- key: temp_file(preferences[:key]).path
94
+ key: temp_file(preferences[:key]).path,
95
+ token: account&.token,
96
+ token_expires_at: account&.expires_at
92
97
  )
98
+ SolidusInter::Account.upsert({token: client.token, expires_at: client.token_expires_at, chave_pix: client.chave_pix, spree_payment_method_id: id}, unique_by: :chave_pix)
99
+ client
93
100
  end
94
101
 
95
102
  def temp_file content
@@ -0,0 +1,12 @@
1
+ class CreateSolidusInterAccounts < ActiveRecord::Migration[7.0]
2
+ def change
3
+ create_table :solidus_inter_accounts do |t|
4
+ t.string :chave_pix, index: { unique: true }
5
+ t.string :token
6
+ t.datetime :expires_at
7
+ t.integer :spree_payment_method_id
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusInter
4
- VERSION = "1.0.0"
4
+ VERSION = "1.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_inter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ulysses
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-03 00:00:00.000000000 Z
11
+ date: 2024-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_core
@@ -104,6 +104,7 @@ files:
104
104
  - LICENSE
105
105
  - README.md
106
106
  - Rakefile
107
+ - app/models/solidus_inter/account.rb
107
108
  - app/models/solidus_inter/inter_pix.rb
108
109
  - app/models/solidus_inter/pix_payment_source.rb
109
110
  - app/views/spree/admin/payments/source_forms/_inter_pix.html.erb
@@ -119,6 +120,7 @@ files:
119
120
  - config/locales/en.yml
120
121
  - config/routes.rb
121
122
  - db/migrate/20240527193953_create_solidus_inter_pix_payment_sources.rb
123
+ - db/migrate/20240603132203_create_solidus_inter_accounts.rb
122
124
  - lib/generators/solidus_inter/install/install_generator.rb
123
125
  - lib/generators/solidus_inter/install/templates/initializer.rb
124
126
  - lib/solidus_inter.rb