solidus_open_pay 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.circleci/config.yml +61 -0
- data/.github/stale.yml +1 -0
- data/.gitignore +22 -0
- data/.rspec +2 -0
- data/.rubocop.yml +249 -0
- data/Gemfile +49 -0
- data/LICENSE +26 -0
- data/README.md +37 -0
- data/Rakefile +11 -0
- data/app/assets/images/solidus_open_pay/.gitkeep +0 -0
- data/app/assets/javascripts/spree/backend/solidus_open_pay.js +2 -0
- data/app/assets/javascripts/spree/frontend/solidus_open_pay.js +2 -0
- data/app/assets/stylesheets/spree/backend/solidus_openpay.css +3 -0
- data/app/assets/stylesheets/spree/frontend/solidus_openpay.css +3 -0
- data/app/models/concerns/solidus_open_pay/attributes_access.rb +83 -0
- data/app/models/solidus_open_pay/builders/charge.rb +72 -0
- data/app/models/solidus_open_pay/gateway.rb +98 -0
- data/app/models/solidus_open_pay/payment_method.rb +30 -0
- data/app/models/solidus_open_pay/payment_source.rb +25 -0
- data/app/models/solidus_open_pay/response.rb +63 -0
- data/app/views/checkouts/payment/_open_pay.html.erb +171 -0
- data/app/views/spree/admin/payments/source_views/_open_pay.html.erb +21 -0
- data/app/views/spree/api/payments/source_views/_open_pay.json.jbuilder +3 -0
- data/app/views/spree/checkout/payment/_open_pay.html.erb +183 -0
- data/bin/console +17 -0
- data/bin/rails +7 -0
- data/bin/rails-engine +13 -0
- data/bin/rails-sandbox +16 -0
- data/bin/rake +7 -0
- data/bin/sandbox +86 -0
- data/bin/setup +8 -0
- data/config/locales/en.yml +44 -0
- data/config/locales/es-MX.yml +44 -0
- data/config/locales/es.yml +44 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20241120003957_add_open_pay_sources.rb +23 -0
- data/lib/generators/solidus_open_pay/install/install_generator.rb +113 -0
- data/lib/generators/solidus_open_pay/install/templates/config/initializers/solidus_open_pay.rb +6 -0
- data/lib/solidus_open_pay/configuration.rb +27 -0
- data/lib/solidus_open_pay/engine.rb +38 -0
- data/lib/solidus_open_pay/testing_support/factories.rb +34 -0
- data/lib/solidus_open_pay/version.rb +5 -0
- data/lib/solidus_open_pay.rb +5 -0
- data/lib/tasks/solidus_openpay_tasks.rake +6 -0
- data/solidus_open_pay.gemspec +39 -0
- data/spec/models/solidus_open_pay/payment_method_spec.rb +417 -0
- data/spec/solidus_open_pay_spec_helper.rb +5 -0
- data/spec/spec_helper.rb +34 -0
- data/spec/support/factory_bot.rb +10 -0
- data/spec/support/solidus.rb +18 -0
- data/spec/support/solidus_open_pay/gateway_helpers.rb +27 -0
- metadata +197 -0
data/bin/sandbox
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
case "$DB" in
|
6
|
+
postgres|postgresql)
|
7
|
+
RAILSDB="postgresql"
|
8
|
+
;;
|
9
|
+
mysql)
|
10
|
+
RAILSDB="mysql"
|
11
|
+
;;
|
12
|
+
sqlite|'')
|
13
|
+
RAILSDB="sqlite3"
|
14
|
+
;;
|
15
|
+
*)
|
16
|
+
echo "Invalid DB specified: $DB"
|
17
|
+
exit 1
|
18
|
+
;;
|
19
|
+
esac
|
20
|
+
|
21
|
+
if [ ! -z $SOLIDUS_BRANCH ]
|
22
|
+
then
|
23
|
+
BRANCH=$SOLIDUS_BRANCH
|
24
|
+
else
|
25
|
+
BRANCH="master"
|
26
|
+
fi
|
27
|
+
|
28
|
+
extension_name="solidus_open_pay"
|
29
|
+
|
30
|
+
# Stay away from the bundler env of the containing extension.
|
31
|
+
function unbundled {
|
32
|
+
ruby -rbundler -e'b = proc {system *ARGV}; Bundler.respond_to?(:with_unbundled_env) ? Bundler.with_unbundled_env(&b) : Bundler.with_clean_env(&b)' -- $@
|
33
|
+
}
|
34
|
+
|
35
|
+
rm -rf ./sandbox
|
36
|
+
unbundled bundle exec rails new sandbox --database="$RAILSDB" \
|
37
|
+
--skip-bundle \
|
38
|
+
--skip-git \
|
39
|
+
--skip-keeps \
|
40
|
+
--skip-rc \
|
41
|
+
--skip-spring \
|
42
|
+
--skip-test \
|
43
|
+
--skip-javascript
|
44
|
+
|
45
|
+
if [ ! -d "sandbox" ]; then
|
46
|
+
echo 'sandbox rails application failed'
|
47
|
+
exit 1
|
48
|
+
fi
|
49
|
+
|
50
|
+
cd ./sandbox
|
51
|
+
cat <<RUBY >> Gemfile
|
52
|
+
gem 'solidus', github: 'solidusio/solidus', branch: '$BRANCH'
|
53
|
+
gem 'solidus_auth_devise', '>= 2.1.0'
|
54
|
+
gem 'rails-i18n'
|
55
|
+
gem 'solidus_i18n'
|
56
|
+
|
57
|
+
gem '$extension_name', path: '..'
|
58
|
+
|
59
|
+
group :test, :development do
|
60
|
+
platforms :mri do
|
61
|
+
gem 'pry-byebug'
|
62
|
+
end
|
63
|
+
end
|
64
|
+
RUBY
|
65
|
+
|
66
|
+
unbundled bundle install --gemfile Gemfile
|
67
|
+
|
68
|
+
unbundled bundle exec rake db:drop db:create
|
69
|
+
|
70
|
+
unbundled bundle exec rails generate solidus:install \
|
71
|
+
--auto-accept \
|
72
|
+
--user_class=Spree::User \
|
73
|
+
--enforce_available_locales=true \
|
74
|
+
--with-authentication=false \
|
75
|
+
--payment-method=none \
|
76
|
+
$@
|
77
|
+
|
78
|
+
unbundled bundle exec rails generate solidus:auth:install
|
79
|
+
unbundled bundle exec rails generate ${extension_name}:install
|
80
|
+
|
81
|
+
echo
|
82
|
+
echo "🚀 Sandbox app successfully created for $extension_name!"
|
83
|
+
echo "🚀 Using $RAILSDB and Solidus $BRANCH"
|
84
|
+
echo "🚀 Use 'export DB=[postgres|mysql|sqlite]' to control the DB adapter"
|
85
|
+
echo "🚀 Use 'export SOLIDUS_BRANCH=<BRANCH-NAME>' to control the Solidus version"
|
86
|
+
echo "🚀 This app is intended for test purposes."
|
data/bin/setup
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
en:
|
2
|
+
solidus_open_pay:
|
3
|
+
admin:
|
4
|
+
card:
|
5
|
+
brand: Brand
|
6
|
+
card_number: Card Number
|
7
|
+
device_session_id: Device Session ID
|
8
|
+
token_id: Token ID
|
9
|
+
form:
|
10
|
+
placeholder:
|
11
|
+
card_code: 123
|
12
|
+
card_name: John Doe
|
13
|
+
card_number: XXXX XXXX XXXX XXXX
|
14
|
+
gateway_rejection_reasons:
|
15
|
+
1000: Internal server error, contact suppor
|
16
|
+
1001: Bad Request
|
17
|
+
1002: The api key or merchant id are invalid
|
18
|
+
1003: Parameters look valid but request failed
|
19
|
+
1004: The resource is unavailable at this moment. Please try again later
|
20
|
+
1005: The requested resource doesn't exist
|
21
|
+
1006: The order_id has already been processed
|
22
|
+
1007: Operation rejected by processor
|
23
|
+
1008: The account is inactive
|
24
|
+
2004: The card number verification digit is invalid
|
25
|
+
2005: The expiration date has expired
|
26
|
+
2006: The CVV2 security code is required
|
27
|
+
2007: The card number is only valid in sandbox
|
28
|
+
2009: The CVV2 security code is invalid
|
29
|
+
2010: 3D Secure authentication failed
|
30
|
+
2011: Card product type not supported
|
31
|
+
3001: The card was declined by the bank
|
32
|
+
3002: The card has expired
|
33
|
+
3003: The card doesn't have sufficient funds
|
34
|
+
3004: The card was reported as stolen
|
35
|
+
3005: Fraud risk detected by anti-fraud system --- Found in blacklist
|
36
|
+
3006: Request not allowed
|
37
|
+
3009: The card was reported as lost
|
38
|
+
3010: The bank has restricted the card
|
39
|
+
3011: The bank has requested the card to be retained
|
40
|
+
3012: Bank authorization is required for this charge
|
41
|
+
activerecord:
|
42
|
+
models:
|
43
|
+
solidus_open_pay/payment_source: Solidus OpenPay Payment Source
|
44
|
+
solidus_open_pay/payment_method: OpenPay Credit Card
|
@@ -0,0 +1,44 @@
|
|
1
|
+
es-MX:
|
2
|
+
solidus_open_pay:
|
3
|
+
admin:
|
4
|
+
card:
|
5
|
+
brand: Tarjeta
|
6
|
+
card_number: Número de Tarjeta
|
7
|
+
device_session_id: ID Sesión Dispositivo
|
8
|
+
token_id: Token ID
|
9
|
+
form:
|
10
|
+
placeholder:
|
11
|
+
card_code: 123
|
12
|
+
card_name: John Doe
|
13
|
+
card_number: XXXX XXXX XXXX XXXX
|
14
|
+
gateway_rejection_reasons:
|
15
|
+
1000: Error interno del servidor, comuníquese con el soporte
|
16
|
+
1001: Solicitud incorrecta
|
17
|
+
1002: La clave de API o la identificación del comerciante no son válidas
|
18
|
+
1003: Los parámetros parecen válidos, pero la solicitud falló
|
19
|
+
1004: El recurso no está disponible en este momento. Inténtalo de nuevo más tarde
|
20
|
+
1005: El recurso solicitado no existe
|
21
|
+
1006: El order_id ya ha sido procesado
|
22
|
+
1007: Operación rechazada por el procesador
|
23
|
+
1008: La cuenta está inactiva
|
24
|
+
2004: El dígito de verificación del número de tarjeta no es válido
|
25
|
+
2005: La fecha de caducidad ha expirado
|
26
|
+
2006: Se requiere el código de seguridad CVV2
|
27
|
+
2007: El número de tarjeta solo es válido en sandbox
|
28
|
+
2009: El código de seguridad CVV2 no es válido
|
29
|
+
2010: Falló la autenticación 3D Secure
|
30
|
+
2011: Tipo de producto de tarjeta no compatible
|
31
|
+
3001: El banco rechazó la tarjeta
|
32
|
+
3002: La tarjeta ha expirado
|
33
|
+
3003: La tarjeta no tiene fondos suficientes
|
34
|
+
3004: La tarjeta fue reportada como robada
|
35
|
+
3005: Riesgo de fraude detectado por el sistema antifraude --- Encontrado en la lista negra
|
36
|
+
3006: Solicitud no permitida
|
37
|
+
3009: La tarjeta fue reportada como perdida
|
38
|
+
3010: El banco ha restringido la tarjeta
|
39
|
+
3011: El banco ha solicitado que se retenga la tarjeta
|
40
|
+
3012: Se requiere autorización del banco para este cargo
|
41
|
+
activerecord:
|
42
|
+
models:
|
43
|
+
solidus_open_pay/payment_source: Solidus OpenPay Fuente de Pago
|
44
|
+
solidus_open_pay/payment_method: OpenPay Tarjeta de Credito
|
@@ -0,0 +1,44 @@
|
|
1
|
+
es:
|
2
|
+
solidus_open_pay:
|
3
|
+
admin:
|
4
|
+
card:
|
5
|
+
brand: Tarjeta
|
6
|
+
card_number: Número de Tarjeta
|
7
|
+
device_session_id: ID Sesión Dispositivo
|
8
|
+
token_id: Token ID
|
9
|
+
form:
|
10
|
+
placeholder:
|
11
|
+
card_code: 123
|
12
|
+
card_name: John Doe
|
13
|
+
card_number: XXXX XXXX XXXX XXXX
|
14
|
+
gateway_rejection_reasons:
|
15
|
+
1000: Error interno del servidor, comuníquese con el soporte
|
16
|
+
1001: Solicitud incorrecta
|
17
|
+
1002: La clave de API o la identificación del comerciante no son válidas
|
18
|
+
1003: Los parámetros parecen válidos, pero la solicitud falló
|
19
|
+
1004: El recurso no está disponible en este momento. Inténtalo de nuevo más tarde
|
20
|
+
1005: El recurso solicitado no existe
|
21
|
+
1006: El order_id ya ha sido procesado
|
22
|
+
1007: Operación rechazada por el procesador
|
23
|
+
1008: La cuenta está inactiva
|
24
|
+
2004: El dígito de verificación del número de tarjeta no es válido
|
25
|
+
2005: La fecha de caducidad ha expirado
|
26
|
+
2006: Se requiere el código de seguridad CVV2
|
27
|
+
2007: El número de tarjeta solo es válido en sandbox
|
28
|
+
2009: El código de seguridad CVV2 no es válido
|
29
|
+
2010: Falló la autenticación 3D Secure
|
30
|
+
2011: Tipo de producto de tarjeta no compatible
|
31
|
+
3001: El banco rechazó la tarjeta
|
32
|
+
3002: La tarjeta ha expirado
|
33
|
+
3003: La tarjeta no tiene fondos suficientes
|
34
|
+
3004: La tarjeta fue reportada como robada
|
35
|
+
3005: Riesgo de fraude detectado por el sistema antifraude --- Encontrado en la lista negra
|
36
|
+
3006: Solicitud no permitida
|
37
|
+
3009: La tarjeta fue reportada como perdida
|
38
|
+
3010: El banco ha restringido la tarjeta
|
39
|
+
3011: El banco ha solicitado que se retenga la tarjeta
|
40
|
+
3012: Se requiere autorización del banco para este cargo
|
41
|
+
activerecord:
|
42
|
+
models:
|
43
|
+
solidus_open_pay/payment_source: Solidus OpenPay Fuente de Pago
|
44
|
+
solidus_open_pay/payment_method: OpenPay Tarjeta de Credito
|
data/config/routes.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddOpenPaySources < SolidusSupport::Migration[4.2]
|
4
|
+
def change
|
5
|
+
create_table :open_pay_sources do |t|
|
6
|
+
t.integer :payment_method_id
|
7
|
+
t.string :authorization_id
|
8
|
+
t.string :capture_id
|
9
|
+
t.string :name
|
10
|
+
t.string :device_session_id
|
11
|
+
t.string :verification_value
|
12
|
+
t.string :token_id
|
13
|
+
t.string :number
|
14
|
+
t.integer :expiration_month
|
15
|
+
t.integer :expiration_year
|
16
|
+
t.string :brand
|
17
|
+
t.boolean :points_card, default: false
|
18
|
+
t.string :points_type
|
19
|
+
|
20
|
+
t.timestamps
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusOpenPay
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
6
|
+
class_option :migrate, type: :boolean, default: true
|
7
|
+
class_option :backend, type: :boolean, default: true
|
8
|
+
class_option :frontend, type: :string, default: 'starter'
|
9
|
+
|
10
|
+
# This is only used to run all-specs during development and CI, regular installation limits
|
11
|
+
# installed specs to frontend, which are the ones related to code copied to the target application.
|
12
|
+
class_option :specs, type: :string, enum: %w[all frontend], default: 'frontend', hide: true
|
13
|
+
|
14
|
+
source_root File.expand_path('templates', __dir__)
|
15
|
+
|
16
|
+
def normalize_components_options
|
17
|
+
@components = {
|
18
|
+
backend: options[:backend],
|
19
|
+
starter_frontend: options[:frontend] == 'starter',
|
20
|
+
classic_frontend: options[:frontend] == 'classic'
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def install_solidus_core_support
|
25
|
+
directory 'config/initializers', 'config/initializers'
|
26
|
+
rake 'railties:install:migrations FROM=solidus_open_pay'
|
27
|
+
run 'bin/rails db:migrate' if options[:migrate]
|
28
|
+
route "mount SolidusOpenPay::Engine, at: '#{solidus_mount_point}solidus_open_pay'"
|
29
|
+
end
|
30
|
+
|
31
|
+
def install_solidus_backend_support
|
32
|
+
support_code_for(:backend) do
|
33
|
+
append_file(
|
34
|
+
'vendor/assets/javascripts/spree/backend/all.js',
|
35
|
+
"//= require spree/backend/solidus_open_pay\n"
|
36
|
+
)
|
37
|
+
inject_into_file(
|
38
|
+
'vendor/assets/stylesheets/spree/backend/all.css',
|
39
|
+
" *= require spree/backend/solidus_open_pay\n",
|
40
|
+
before: %r{\*/},
|
41
|
+
verbose: true
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def install_solidus_starter_frontend_support
|
47
|
+
support_code_for(:starter_frontend) do
|
48
|
+
directory 'app', 'app'
|
49
|
+
append_file(
|
50
|
+
'app/assets/javascripts/solidus_starter_frontend.js',
|
51
|
+
"//= require spree/frontend/solidus_open_pay\n"
|
52
|
+
)
|
53
|
+
inject_into_file(
|
54
|
+
'app/assets/stylesheets/solidus_starter_frontend.css',
|
55
|
+
" *= require spree/frontend/solidus_open_pay\n",
|
56
|
+
before: %r{\*/},
|
57
|
+
verbose: true
|
58
|
+
)
|
59
|
+
|
60
|
+
spec_paths =
|
61
|
+
case options[:specs]
|
62
|
+
when 'all' then %w[spec]
|
63
|
+
when 'frontend'
|
64
|
+
%w[
|
65
|
+
spec/spec_helper.rb
|
66
|
+
spec/support
|
67
|
+
]
|
68
|
+
end
|
69
|
+
|
70
|
+
spec_paths.each do |path|
|
71
|
+
if engine.root.join(path).directory?
|
72
|
+
directory engine.root.join(path), path
|
73
|
+
else
|
74
|
+
template engine.root.join(path), path
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def alert_no_classic_frontend_support
|
81
|
+
support_code_for(:classic_frontend) do
|
82
|
+
message = <<~TEXT
|
83
|
+
For solidus_frontend compatibility, please use the deprecated version 0.x.
|
84
|
+
The new version of this extension only supports Solidus Starter Frontend.
|
85
|
+
No frontend code has been copied to your application.
|
86
|
+
TEXT
|
87
|
+
say_status :error, set_color(message.tr("\n", ' '), :red), :red
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
def solidus_mount_point
|
94
|
+
mount_point = ::Spree::Core::Engine.routes.find_script_name({})
|
95
|
+
mount_point += '/' unless mount_point.end_with?('/')
|
96
|
+
mount_point
|
97
|
+
end
|
98
|
+
|
99
|
+
def support_code_for(component_name, &block)
|
100
|
+
if @components[component_name]
|
101
|
+
say_status :install, "[#{engine.engine_name}] solidus_#{component_name}", :blue
|
102
|
+
shell.indent(&block)
|
103
|
+
else
|
104
|
+
say_status :skip, "[#{engine.engine_name}] solidus_#{component_name}", :blue
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def engine
|
109
|
+
SolidusOpenPay::Engine
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusOpenPay
|
4
|
+
class Configuration
|
5
|
+
attr_accessor :installment_options, :installment_default
|
6
|
+
|
7
|
+
# def installment_options
|
8
|
+
# @installment_options ||= :installment_options
|
9
|
+
# end
|
10
|
+
|
11
|
+
# def installment_default
|
12
|
+
# @installment_default ||= :installment_default
|
13
|
+
# end
|
14
|
+
end
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def configuration
|
18
|
+
@configuration ||= Configuration.new
|
19
|
+
end
|
20
|
+
|
21
|
+
alias config configuration
|
22
|
+
|
23
|
+
def configure
|
24
|
+
yield configuration
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'solidus_core'
|
4
|
+
require 'solidus_support'
|
5
|
+
|
6
|
+
module SolidusOpenPay
|
7
|
+
class Engine < Rails::Engine
|
8
|
+
include SolidusSupport::EngineExtensions
|
9
|
+
|
10
|
+
isolate_namespace ::Spree
|
11
|
+
engine_name 'solidus_open_pay'
|
12
|
+
|
13
|
+
initializer 'spree.gateway.payment_methods', after: 'spree.register.payment_methods' do |app|
|
14
|
+
app.config.spree.payment_methods << 'SolidusOpenPay::PaymentMethod'
|
15
|
+
|
16
|
+
Spree::PermittedAttributes.source_attributes.push(
|
17
|
+
:address_attributes,
|
18
|
+
:cc_type,
|
19
|
+
:number,
|
20
|
+
:name,
|
21
|
+
:verification_value,
|
22
|
+
:token_id,
|
23
|
+
:type,
|
24
|
+
:brand,
|
25
|
+
:points_card,
|
26
|
+
:points_type,
|
27
|
+
:expiration_month,
|
28
|
+
:expiration_year,
|
29
|
+
:device_session_id
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Use rspec for tests
|
34
|
+
config.generators do |g|
|
35
|
+
g.test_framework :rspec
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :open_pay_payment_method, class: 'SolidusOpenPay::PaymentMethod' do
|
5
|
+
type { 'SolidusOpenPay::PaymentMethod' }
|
6
|
+
name { 'OpenPay Payment Method' }
|
7
|
+
active { true }
|
8
|
+
auto_capture { false }
|
9
|
+
preferences {
|
10
|
+
{
|
11
|
+
server: 'test',
|
12
|
+
public_key: SecureRandom.hex(10),
|
13
|
+
private_key: SecureRandom.hex(10),
|
14
|
+
merchant_id: SecureRandom.hex(8),
|
15
|
+
country: '',
|
16
|
+
test_mode: true
|
17
|
+
}
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
factory :open_pay_payment_source, class: 'SolidusOpenPay::PaymentSource' do
|
22
|
+
name { 'User Test' }
|
23
|
+
device_session_id { 'noycha3iERwYIJCy74Uv57fI0CsfXMU4' }
|
24
|
+
verification_value { 'ABC123' }
|
25
|
+
token_id { SecureRandom.hex(10) }
|
26
|
+
number { '4242' }
|
27
|
+
expiration_month { '9' }
|
28
|
+
expiration_year { '29' }
|
29
|
+
brand { 'visa' }
|
30
|
+
points_card { true }
|
31
|
+
points_type { 'bancomer' }
|
32
|
+
payment_method { create(:open_pay_payment_method) }
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'lib/solidus_open_pay/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = 'solidus_open_pay'
|
7
|
+
s.version = SolidusOpenPay::VERSION
|
8
|
+
s.authors = %w(Jonathan Tapia)
|
9
|
+
s.email = %w(jtapia.dev@gmail.com)
|
10
|
+
|
11
|
+
s.summary = 'Solidus Engine for Openpay Mexican Payment Gateway'
|
12
|
+
s.homepage = 'http://github.com/jtapia/solidus_open_pay'
|
13
|
+
s.license = 'BSD-3-Clause'
|
14
|
+
|
15
|
+
s.metadata['homepage_uri'] = s.homepage
|
16
|
+
s.metadata['source_code_uri'] = 'https://github.com/jtapia/solidus_open_pay'
|
17
|
+
s.metadata['changelog_uri'] = 'https://github.com/jtapia/solidus_open_pay/blob/master/CHANGELOG.md'
|
18
|
+
|
19
|
+
s.required_ruby_version = Gem::Requirement.new('>= 2.5', '< 4')
|
20
|
+
|
21
|
+
# Specify which files should be added to the gem when it is released.
|
22
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
23
|
+
files = Dir.chdir(__dir__) { `git ls-files -z`.split("\x0") }
|
24
|
+
|
25
|
+
s.files = files.grep_v(%r{^(test|spec|features)/})
|
26
|
+
s.test_files = files.grep(%r{^(test|spec|features)/})
|
27
|
+
s.bindir = "exe"
|
28
|
+
s.executables = files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
|
+
s.require_paths = ["lib"]
|
30
|
+
|
31
|
+
s.add_dependency 'deface', '~> 1.5'
|
32
|
+
s.add_dependency 'solidus_core', '>= 3.0', '< 5.0'
|
33
|
+
s.add_dependency 'solidus_support', '>= 0.8.0'
|
34
|
+
|
35
|
+
s.add_dependency 'openpay'
|
36
|
+
|
37
|
+
s.add_development_dependency 'rails-controller-testing'
|
38
|
+
s.add_development_dependency 'solidus_dev_support', '~> 2.5'
|
39
|
+
end
|