Skip to content

Commit 5cdd0d1

Browse files
author
Álvaro Fernández-Alonso Araluce
committed
Structure
1 parent 2e205ab commit 5cdd0d1

14 files changed

Lines changed: 121 additions & 38 deletions

File tree

.env

Lines changed: 0 additions & 8 deletions
This file was deleted.

.env_example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
redirect_url="http://localhost:4202/callback"
2+
fintecture_app_id="128925b2-1106-48ce-a0a8-3b75bb2e0d48"
3+
fintecture_app_secret="aa6d8452-4a64-4704-a820-be77993cb1e5"
4+
fintecture_app_private_key="-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBskqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMpUBcC0B7lmec\nEaNV5xnxlJaHxvQAJFKuJqeApZu8TifWrFzql7WbPjeoEV4Iqm1oWyCVj3woZtLm\nCIXqBN6ZUcjytYeUmsZJmk7s9r1oZIVRBzVguyLOT7juZ+zcv9PzSDb6KItigKgo\n7sgb8hq1sNJZARBiMvJB4HkA8LMNluMcVd8wjADKyIKUdRIrMw9rjXmRIEUI1Loc\nkU1KrpYpDUIhBg9K7dBHA20b/YjvEIC1TC4F0tlSe6XAeXGersKSDMYw1+d183xK\n5JzZIkn4w8kFwQhTBF+Ouym/z1rFbthPnEPK2EGp8WWAfZ41a3QtCXwQkGPO1V+H\nV9mYIhJxAgMBAAECggEAAOczVHwWejgBltFL7lETUjnn3la52pDFVBqVjJE2iJBh\nIJyKLIrT8ejY1nF2G0jzngectaf5kO4LBiLhZ1djP9mFakzdF22lnHaY4Ttj7BSi\nagT1xsPEXydyU0Ly/YA6nW7o0rPanx6w90rHaCOqaWKpf/vuFYRuM5H0+MAZeOev\nccyU3XwEjEmGk502hd9uWJklLqAjvKl66u+/df+Bp3UTHL5uJEXzA4ubCto/wtj7\nVIGUBNN6+VCCGWrTIb/zMg8YTQSFnmyH/ZYuF1FNFebuk3VIdruoHgIxhvkuMTT9\nzV6GImKA9lu2xCk6PPYLkD72g1N6k2MgMzj0+B0MYQKBgQDsNaicGWH8pK2QwzdB\n4tUeCqUGS8XES4VYQ6WIkWnk5nFt4Oc3+CdqJtfZwV/Z0VtzArYNEMROIfKXaGx1\noyiuzdjmRtu2fTmRTmlMfXTLF9L2wVbscmfk9gRC19Xcc0HEhkEJBVIYn6Ilqgy8\nsjv/OuHUiVIA8P4192lWV8qzIQKBgQDdypclfayPVY93siXZX8rhgdrq0vNFGQNp\nacD8WyhH7iMa+fnQeyZOzQtHFIcPYBEPcmqsCfX1+VVYKQApae0yHRtFO5j7vujr\n1pQNBO1+EQvWUuwub1+8LdQqnv0l8HWqYcSu7ECxxc0OhfiHgT5O86ISKuu+vwfC\nYaGzR0fFUQKBgQCiiSnEgBLU7dwgyLO1Ooi7a0ey1WD4eZ7/5Ux6dNURFSDoIuH3\nuWIlwSS2SkHSeCUdNrhetTLfMKzlUo2PRP4xiqO9kPSO1gxO2E3MvGcpePNJqDBP\n80laW48DD9GxJ/4RZPBLbMXY+79ve1vYXCy8q5/Jx9QNocbLC7wIFdD9AQKBgD6w\ncKBsMUYiTPbsJ76VUOcEqTgOgCxbsZcuCRpLOct7B/ksBuxioqVLV5CzwKkb4jaX\nhIc0GY14+CJ/FEigZCbyCy86dTdS8ssWT6qOZgJoFwxxS8ikOk8aNQoG/k6m9Ns/\n3zQCGxckbZ1ZSLIkWdQ/EORJtXCo1iyfI/FkiGjBAoGBAM6bd+5sPQmPqU3Sq5S8\nKN6ZinjnDh7MtEnC6LegMU0Tkb9HIBL0QnzYX/q3Ps6dekHfc5gP6vY5Ym6Wu7M7\nC09apUAFOCzzSyE7R+r4aWkifGaPWMU/SsX8tR5wldB0gxFom+qaK2jLJoiVcX16\niBEZTlWdJeeo3PxDgiHt8uaa\n-----END PRIVATE KEY-----" #fintectu

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ config/secrets*.yml
2727

2828
# dotenv, dotenv-rails
2929
# TODO Comment out these rules if environment variables can be committed
30-
# .env
30+
.env
3131
# .env.*
3232

3333
## Environment normalization:

Gemfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
44
ruby '2.5.1'
55

66
# Fintecture
7-
gem 'fintecture', '~>0.1.3'
7+
gem 'fintecture', github: 'Fintecture/fintecture-sdk-ruby'
8+
9+
# gem 'fintecture', '0.1.6'
10+
811

912
gem 'slim'
1013

Gemfile.lock

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
GIT
2+
remote: https://github.com/Fintecture/fintecture-sdk-ruby.git
3+
revision: e5f16dc42572099f20f1fb5d233867c5d28e9d04
4+
specs:
5+
fintecture (0.1.7)
6+
faraday
7+
18
GEM
29
remote: https://rubygems.org/
310
specs:
@@ -79,11 +86,9 @@ GEM
7986
railties (>= 3.2, < 6.1)
8087
erubi (1.9.0)
8188
execjs (2.7.0)
82-
faraday (0.17.1)
89+
faraday (1.0.0)
8390
multipart-post (>= 1.2, < 3)
8491
ffi (1.11.3)
85-
fintecture (0.1.3)
86-
faraday
8792
globalid (0.4.2)
8893
activesupport (>= 4.2.0)
8994
i18n (1.7.0)
@@ -209,7 +214,7 @@ DEPENDENCIES
209214
chromedriver-helper
210215
coffee-rails (~> 4.2)
211216
dotenv-rails
212-
fintecture (~> 0.1.3)
217+
fintecture!
213218
jbuilder (~> 2.5)
214219
listen (>= 3.0.5, < 3.2)
215220
puma (~> 3.11)

app/controllers/callback_controller.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@ class CallbackController < ActionController::Base
22

33
def callback
44
@success_payment = params[:status] == 'payment_created' || params[:status] == 'payment_pending'
5-
@verified = Fintecture::Connect.verify_url_parameters allowed_params
5+
@verified = Fintecture::Connect.verify_url_parameters connect_allowed_params
6+
end
7+
8+
def ais_callback
9+
10+
end
11+
12+
def pis_callback
13+
614
end
715

816
private
917

10-
def allowed_params
18+
def connect_allowed_params
1119
params.permit(
1220
:session_id,
1321
:status,

app/controllers/connects_controller.rb

Lines changed: 80 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,28 @@
11
class ConnectsController < ApplicationController
22

3-
before_action :set_connect
3+
before_action :set_connect, only: :create
4+
5+
def index
6+
@connect = Connect.new(amount: 150, currency: 'EUR', communication: 'Thanks Mom!')
7+
end
48

59
def create
10+
set_fintecture_conf
611

712
if @connect.valid?
813
if Fintecture.environment != 'production'
914
@connect.customer_full_name = 'Test bot'
1015
@connect.customer_email = 'email@test.com'
1116
@connect.customer_ip = '192.168.0.1'
12-
@connect.customer_id = 123
1317
end
1418

15-
redirect_to Fintecture::Connect.connect_url_pis @connect
19+
tokens = Fintecture::Pis.get_access_token
20+
21+
pis_connect = Fintecture::Connect.get_pis_connect tokens['access_token'], @connect
22+
23+
redirect_to pis_connect[:url]
1624
else
17-
render 'static/home'
25+
render 'index'
1826
end
1927

2028
end
@@ -25,11 +33,9 @@ def connect_params
2533
params.require(:connect).permit(
2634
:amount,
2735
:currency,
28-
:order_id,
29-
:customer_id,
36+
:communication,
3037
:customer_full_name,
31-
:customer_email,
32-
:customer_id
38+
:customer_email
3339
)
3440
end
3541

@@ -49,4 +55,70 @@ def model
4955
def set_connect
5056
@connect = model.new(payments_attributes)
5157
end
58+
59+
def set_fintecture_conf
60+
# Fintecture.app_id = '65bfee30-1b5d-4687-83c7-286fb459feda'
61+
# Fintecture.app_secret = '66c41ebf-877d-40c9-9285-4485ebb27a76'
62+
# Fintecture.private_key = %q(-----BEGIN PRIVATE KEY-----
63+
# MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvmLdR93sxZiq7
64+
# LQGB6JhoIe9HoniwuB+Cs5f98BflBe/PgSnJWqQaIKTS02P6A8En6hwvH3FGUxpw
65+
# zZ0rO0vdGQJJUsQS5F3q1C/8qrjiOVVRQs7vZ2Cpoj/VhdXNNBdQ+hLJdXpb84jT
66+
# aKLgXAqMgIVBlz2xNBTUi5OvavNwjHN9qm6eQKrjsRnkuEAiDcZPj/lyAHDICjjS
67+
# G2tdFYbZjAxR0I3Rm9BP/wLG0FfcoV4qINVKyObXYoG9Zn1i+inwAA2fP1rPXZMW
68+
# 34LWjw1b/rKiF3wTF57ZuA9oQsb6+qiWUQlcblmhSuymG48X1GN6XR7aIkqqmls5
69+
# heJ1zwHjAgMBAAECggEATa8IzwznJewWlHctNw0xO8RjiPQCY+AZJKgSYmgREiOl
70+
# u83fMDLW7a4qbRDTJpz5m5BxRpGo+d0zEduNID6b6eUyA0FH+DmqqQSVdDkNERwf
71+
# OBOP3A8GjxV2Gx8Z/q4AcLUpkZHU/5AGpMyiXhKqIg2LpoBj7Rzm6D8Vp6HvsAbe
72+
# ej1gTFzTjqUDuv48J8W845+aeN0qw5hAG382bDYDdYYYN9G/50j9mMhW1ZAEyRuU
73+
# j0VoOl/rdDpGlXlzh+ZhGGhXZdSYqf7+TvI52PgAOStB0vWtQMK2usu1R9qsqPen
74+
# 5sRbLGO8cKrZy4+GpbuMarY+61xehkgCKH+6K1aAuQKBgQDorltYfXr6VFQ5X2Pa
75+
# 4xrncUUmUkRqsJPetlyXV3WYJplkNtjgwkEYwvbvE3eh3h/zfxUHWqHFq0vTpAVR
76+
# /1XezG089oCyLhq8Nkqjs0VexQIPi3QTGW4GZleNx82kGbKfHXXbW70CCebShKM3
77+
# uDzQR4OcAoK+AIwJEBFS6Ob2yQKBgQDBMc3UgSwdBKrX2+P/jAFZgf81HD/+Zzg6
78+
# 09SIMJ7xJz77UOBuIsId3ZELZ/PBSBnkmNA314IbRLLwRSW81ebMPyqcOkl1o2xG
79+
# GXPULJmVXLrEwO8jrUzfNfNDCtLE7YHvAZNG0yn0nOBDhSYMRE+5HEjFc5qSE1Jc
80+
# szBPpniNSwKBgB28AlJZnriUxDqctQ8IzKxc7kBKbRHRRORGG6j/dTifXiTPWYHH
81+
# cTgv2gyNSVF3KFAeolpRO7EeBc+i+0cSQS/6oc8TlTiv6Zy5t2oaA7hrpqrD4G58
82+
# ZnIM7A1jRiU9X3Uz95azr4CuMUAf0RfSxHq9WNU8AOc0/LA/zGby+mj5AoGAOtMi
83+
# XCk0uGU6a92db6s+ofVuMsq2RY1CVs83MHy1eLI9gCJhI8fbmWJkjreJRfnhQHSz
84+
# Ob2Z9RmW7ofvdK8gxmIZZFZvFa28AyAu35Tw8sS4bb5dUlyrQm/X8TrzcFjtLkwp
85+
# fvA/HydBNe3t5uBJ8hBFrDGGCCJv+p/o/ueuXz8CgYEAucGIvHvprEpl4PbTk8r7
86+
# Fjf/9sURY/MUH3h5dIzlqRe5jarq9k1o+ACYO6mZu1SYK/O1bSyX2BlCYhtAj6F0
87+
# wkVzcxJbWw5Q8B7DXqfa02gva10NlLUzoHfgBpghn2OxYhzpli46X4fTb4pzF0GC
88+
# DcL1PcxEQ+M0JKHjFRxA+xc=
89+
# -----END PRIVATE KEY-----)
90+
# Fintecture.environment = 'local'
91+
92+
Fintecture.app_id = '924f6171-596e-45b5-9cf9-dc88e58fcf3d'
93+
Fintecture.app_secret = '37d4b80f-123f-4c28-b497-cd23c20707e1'
94+
Fintecture.private_key = %q(-----BEGIN PRIVATE KEY-----
95+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDAYViR+A2u1rPH
96+
mbqfdV8a9kBLiPyWzSUn0yEtPkuDqgFmwwKn8YhQ+QYJzE/pcKYLYJTsMKOmd4LJ
97+
PxVb4RqFKFbdY/6PkwHVODjp05ll+r8UqyEACF8x4/r6smhiQFfjdnc4GZ5WL08B
98+
ChX4r+agTeM5Io58witGM+xfuBZsWaBxlrxc3yzo/Kz7zpkTKJPha/vSSIxXiG17
99+
dhCMXDp84W6w9fn4xuhmCKzpfmEew4uS+PTTAKs4okXr4KoOsxuaOXsmVjgeYO9v
100+
7KrDQPEfCPfsz6tsYkSOTFpLKbOuY+EfEA1V0xFLftuF6mW0hNpDYKlDiHEnWD32
101+
RSYm0X1NAgMBAAECggEAJRcPj7LylmUUC7VGjwQ+xhC4hCegxUU/dt5kfNfQEM4n
102+
z4NlAXKWfMAKKzzuIjxi8voXtDLLdmZ/u2OTb1+msIn+t1fWRiGKXqykgmZWopv1
103+
l5tHtT0n91M0Of3IFLtBhpv6L8F2rriXw4RJiKUHMpxZpNQWAxUfaT1NAwZXomNO
104+
sS0/A0zaGkf7W6NHFmOHCc5Z1+aFbZGx4aSosB8XpXqA7qjIo9fD1D3fbJb0cLG9
105+
yj51A+8vWh2QMDzL4TaLDcFd9SeRpbJi728bEILp36FJXPeUHOgRQEUJV+BkH4KO
106+
vr6n/Iin9QtfMW294ZZZOo66QCe+oUHKg8F9HeM80QKBgQDgMtTFHdFBTZUT1BV0
107+
psNZQABC1CqwH3qIufBSZyKC8aSXj8G1V7CbfR+GD+S4P7CrAsa6m8QyJpcTpCig
108+
15bRb8TrUvRaWX82n/IqeaGjkiprBVE7V9lx1k2Sr8C8t2pPHss0xr8x5PzXyvs7
109+
Bc8zuHM3E+/czVavPgDgVnKXcQKBgQDbqx5fElyhX7mPd9TihZj2GhIm2gPB+COf
110+
z9IWuuBCnMkXowAe86bWW9njEDICjX1y/5Mnn6axw6GUuJ9UpqmweL6cU4AzYCeS
111+
xsToBTjq2/BYNgK6nBsWac2VkdzJE3pnR7cq8gxzy+LZ6TN4O+rf0RYfma0tzoMh
112+
OsbDzEftnQKBgQChNywUykosoTMv3PPIvBoA1araY2KG3zvnkX0kZBFHA6gNbEwo
113+
sHPIe4LtjgQ0EWhisE5i5ZuBTIqajxLABgbnd22soiwfw/dcOkuTC3+V9YcXCe3N
114+
tHAiEa4aatM3YNTLLCOHQds+b6D5M3bQjG7gjCQdWPLEXcuVnApZRxCDoQKBgGls
115+
xcXBDT3RsD/ftgcFMTUjrASDa3xDN+2yEtUf2RN/Ja+3Zg50x2RnbrngAvBgsY1o
116+
hVpl792u0zSKKsW4uwXb3Tcvh/6gLj3uMYBdSUTGS6I6QbMHyqRGIQmgmILUW1GI
117+
BKuSwVEtz/DfT/lrYD0Mnv6JhajPTPW8vLopp3etAoGAcoyl/1mrixQcdFlPk3Xx
118+
1z+8gXIjW7XRJ80ToKlHBK53+GTv43Xk7OXwTZDbhmslan+oVScMmuS6azBgaNId
119+
rRg9gtRkqgLTCH385PbP0pT4PLAhI+hIN60ZVtulb+kI6salX0rk8MxCAyd6NbgK
120+
O+ebxgspujahx79k7YUEF2E=
121+
-----END PRIVATE KEY-----)
122+
Fintecture.environment = 'test'
123+
end
52124
end
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class StaticController < ApplicationController
22
def home
3-
@connect = Connect.new(amount: 150, currency: 'EUR', order_id: '123')
3+
44
end
55
end

app/models/connect.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ class Connect
33
include ActiveModel::Model
44
attr_accessor :amount,
55
:currency,
6-
:order_id,
7-
:customer_id,
6+
:communication,
87
:customer_ip,
98
:customer_full_name,
109
:customer_email,
1110
:redirect_uri,
12-
:origin_uri
11+
:origin_uri,
12+
:psu_type,
13+
:country
1314

14-
validates :currency, :redirect_uri, :order_id, presence: true
15+
validates :currency, :redirect_uri, :communication, presence: true
1516
validates :amount, numericality: {greater_than: 0}
1617

1718
validates :customer_ip, :customer_full_name, :customer_email, presence: true, if: -> { Fintecture.environment == 'production' }
18-
validates :customer_id, numericality: {greater_than: 0, allow_blank: false}, if: -> { Fintecture.environment == 'production' }
1919
end

app/views/connects/index.html.slim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
= render 'partials/connect_form'

0 commit comments

Comments
 (0)