veritrans 2.1.2 → 2.4.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 +5 -5
- data/.gitignore +10 -1
- data/.idea/.gitignore +8 -0
- data/.rubocop.yml +35 -0
- data/.travis.yml +10 -5
- data/CHANGELOG.md +45 -0
- data/Gemfile +6 -7
- data/Gemfile.lock +134 -146
- data/Maintaining.MD +8 -0
- data/README.md +266 -226
- data/api_reference.md +534 -143
- data/example/coreapi/core_api_credit_card_example.rb +66 -0
- data/example/coreapi/readme.md +4 -0
- data/example/sinatra/Gemfile +7 -0
- data/example/sinatra/README.md +6 -0
- data/example/sinatra/index.erb +202 -0
- data/example/sinatra/response.erb +1 -0
- data/example/sinatra/snap.erb +33 -0
- data/example/sinatra/snap_redirect.erb +10 -0
- data/example/sinatra/webapp.rb +113 -0
- data/example/snap/readme.md +4 -0
- data/example/snap/snap_example.rb +39 -0
- data/lib/test/all.rb +1 -0
- data/lib/test/api_test.rb +319 -0
- data/lib/test/config_test.rb +26 -0
- data/lib/test/gopay_tokenization_test.rb +80 -0
- data/lib/test/snap_test.rb +79 -0
- data/lib/test/subscription_test.rb +116 -0
- data/lib/test/transaction_test.rb +160 -0
- data/lib/veritrans/api.rb +146 -22
- data/lib/veritrans/client.rb +48 -12
- data/lib/veritrans/config.rb +31 -6
- data/lib/veritrans/events.rb +46 -35
- data/lib/veritrans/midtrans_error.rb +15 -0
- data/lib/veritrans/result.rb +66 -5
- data/lib/veritrans/version.rb +1 -1
- data/lib/veritrans.rb +121 -12
- data/veritrans.gemspec +2 -9
- metadata +30 -146
- data/.rspec +0 -2
- data/Procfile +0 -1
- data/Rakefile +0 -16
- data/bin/midtrans +0 -3
- data/bin/veritrans +0 -68
- data/example/README.md +0 -8
- data/example/config.ru +0 -6
- data/example/index.erb +0 -213
- data/example/localization.erb +0 -248
- data/example/points.erb +0 -187
- data/example/recurring.erb +0 -201
- data/example/response.erb +0 -37
- data/example/sinatra.rb +0 -188
- data/example/style.css +0 -126
- data/example/veritrans.yml +0 -11
- data/example/widget.erb +0 -51
- data/lib/generators/templates/assets/credit_card_form.js +0 -51
- data/lib/generators/templates/payments_controller.rb +0 -85
- data/lib/generators/templates/veritrans.rb +0 -46
- data/lib/generators/templates/veritrans.yml +0 -18
- data/lib/generators/templates/views/_credit_card_form.erb +0 -42
- data/lib/generators/templates/views/_veritrans_include.erb +0 -10
- data/lib/generators/templates/views/payments/create.erb +0 -15
- data/lib/generators/templates/views/payments/new.erb +0 -6
- data/lib/generators/veritrans/install_generator.rb +0 -32
- data/lib/generators/veritrans/payment_form_generator.rb +0 -45
- data/lib/veritrans/cli.rb +0 -155
- data/lib/veritrans/core_extensions.rb +0 -32
- data/spec/cli_spec.rb +0 -83
- data/spec/configs/real_key.yml +0 -4
- data/spec/configs/veritrans.yml +0 -7
- data/spec/configs/veritrans_flat.yml +0 -2
- data/spec/configs/veritrans_with_erb.yml +0 -2
- data/spec/fixtures/approve_failed.yml +0 -48
- data/spec/fixtures/cancel_failed.yml +0 -48
- data/spec/fixtures/cancel_success.yml +0 -106
- data/spec/fixtures/capture_failed.yml +0 -48
- data/spec/fixtures/charge.yml +0 -50
- data/spec/fixtures/charge_direct.yml +0 -56
- data/spec/fixtures/charge_vtweb.yml +0 -50
- data/spec/fixtures/cli_test_1111-not-exists.yml +0 -45
- data/spec/fixtures/cli_test_not_exists.yml +0 -45
- data/spec/fixtures/cli_test_real_txn.yml +0 -55
- data/spec/fixtures/cli_test_unauthorized.yml +0 -47
- data/spec/fixtures/events_test_real_txn.yml +0 -55
- data/spec/fixtures/expire_failed.yml +0 -50
- data/spec/fixtures/expire_success.yml +0 -56
- data/spec/fixtures/midtrans_status.yml +0 -117
- data/spec/fixtures/status_fail.yml +0 -46
- data/spec/fixtures/status_success.yml +0 -109
- data/spec/midtrans_rename_spec.rb +0 -27
- data/spec/rails_plugin_spec.rb +0 -281
- data/spec/spec_helper.rb +0 -61
- data/spec/veritrans_client_spec.rb +0 -184
- data/spec/veritrans_config_spec.rb +0 -70
- data/spec/veritrans_events_spec.rb +0 -72
- data/spec/veritrans_logger_spec.rb +0 -46
- data/spec/veritrans_snap_spec.rb +0 -39
- data/testing_webhooks.md +0 -78
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: veritrans
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Veritrans Dev Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
@@ -24,171 +24,56 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.20'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rspec
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '3.4'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '3.4'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rails
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '4.0'
|
48
|
-
- - "<"
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '6'
|
51
|
-
type: :development
|
52
|
-
prerelease: false
|
53
|
-
version_requirements: !ruby/object:Gem::Requirement
|
54
|
-
requirements:
|
55
|
-
- - ">="
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '4.0'
|
58
|
-
- - "<"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '6'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: webmock
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '1.20'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '1.20'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: vcr
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '3.0'
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '3.0'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: poltergeist
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '1.8'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '1.8'
|
103
27
|
description: Veritrans ruby client
|
104
28
|
email:
|
105
|
-
-
|
106
|
-
executables:
|
107
|
-
- veritrans
|
108
|
-
- midtrans
|
29
|
+
- pavel.evstigneev@midtrans.com
|
30
|
+
executables: []
|
109
31
|
extensions: []
|
110
32
|
extra_rdoc_files: []
|
111
33
|
files:
|
112
34
|
- ".gitignore"
|
113
|
-
- ".
|
35
|
+
- ".idea/.gitignore"
|
36
|
+
- ".rubocop.yml"
|
114
37
|
- ".travis.yml"
|
115
38
|
- CHANGELOG.md
|
116
39
|
- Gemfile
|
117
40
|
- Gemfile.lock
|
118
|
-
-
|
41
|
+
- Maintaining.MD
|
119
42
|
- README.md
|
120
|
-
- Rakefile
|
121
43
|
- api_reference.md
|
122
|
-
-
|
123
|
-
-
|
124
|
-
- example/
|
125
|
-
- example/
|
126
|
-
- example/index.erb
|
127
|
-
- example/
|
128
|
-
- example/
|
129
|
-
- example/
|
130
|
-
- example/
|
131
|
-
- example/
|
132
|
-
- example/
|
133
|
-
-
|
134
|
-
-
|
135
|
-
- lib/
|
136
|
-
- lib/
|
137
|
-
- lib/
|
138
|
-
- lib/
|
139
|
-
- lib/
|
140
|
-
- lib/generators/templates/views/_veritrans_include.erb
|
141
|
-
- lib/generators/templates/views/payments/create.erb
|
142
|
-
- lib/generators/templates/views/payments/new.erb
|
143
|
-
- lib/generators/veritrans/install_generator.rb
|
144
|
-
- lib/generators/veritrans/payment_form_generator.rb
|
44
|
+
- example/coreapi/core_api_credit_card_example.rb
|
45
|
+
- example/coreapi/readme.md
|
46
|
+
- example/sinatra/Gemfile
|
47
|
+
- example/sinatra/README.md
|
48
|
+
- example/sinatra/index.erb
|
49
|
+
- example/sinatra/response.erb
|
50
|
+
- example/sinatra/snap.erb
|
51
|
+
- example/sinatra/snap_redirect.erb
|
52
|
+
- example/sinatra/webapp.rb
|
53
|
+
- example/snap/readme.md
|
54
|
+
- example/snap/snap_example.rb
|
55
|
+
- lib/test/all.rb
|
56
|
+
- lib/test/api_test.rb
|
57
|
+
- lib/test/config_test.rb
|
58
|
+
- lib/test/gopay_tokenization_test.rb
|
59
|
+
- lib/test/snap_test.rb
|
60
|
+
- lib/test/subscription_test.rb
|
61
|
+
- lib/test/transaction_test.rb
|
145
62
|
- lib/veritrans.rb
|
146
63
|
- lib/veritrans/api.rb
|
147
|
-
- lib/veritrans/cli.rb
|
148
64
|
- lib/veritrans/client.rb
|
149
65
|
- lib/veritrans/config.rb
|
150
|
-
- lib/veritrans/core_extensions.rb
|
151
66
|
- lib/veritrans/events.rb
|
67
|
+
- lib/veritrans/midtrans_error.rb
|
152
68
|
- lib/veritrans/result.rb
|
153
69
|
- lib/veritrans/version.rb
|
154
70
|
- license.txt
|
155
|
-
- spec/cli_spec.rb
|
156
|
-
- spec/configs/real_key.yml
|
157
|
-
- spec/configs/veritrans.yml
|
158
|
-
- spec/configs/veritrans_flat.yml
|
159
|
-
- spec/configs/veritrans_with_erb.yml
|
160
|
-
- spec/fixtures/approve_failed.yml
|
161
|
-
- spec/fixtures/cancel_failed.yml
|
162
|
-
- spec/fixtures/cancel_success.yml
|
163
|
-
- spec/fixtures/capture_failed.yml
|
164
|
-
- spec/fixtures/charge.yml
|
165
|
-
- spec/fixtures/charge_direct.yml
|
166
|
-
- spec/fixtures/charge_vtweb.yml
|
167
|
-
- spec/fixtures/cli_test_1111-not-exists.yml
|
168
|
-
- spec/fixtures/cli_test_not_exists.yml
|
169
|
-
- spec/fixtures/cli_test_real_txn.yml
|
170
|
-
- spec/fixtures/cli_test_unauthorized.yml
|
171
|
-
- spec/fixtures/events_test_real_txn.yml
|
172
|
-
- spec/fixtures/expire_failed.yml
|
173
|
-
- spec/fixtures/expire_success.yml
|
174
|
-
- spec/fixtures/midtrans_status.yml
|
175
|
-
- spec/fixtures/status_fail.yml
|
176
|
-
- spec/fixtures/status_success.yml
|
177
|
-
- spec/midtrans_rename_spec.rb
|
178
|
-
- spec/rails_plugin_spec.rb
|
179
|
-
- spec/spec_helper.rb
|
180
|
-
- spec/veritrans_client_spec.rb
|
181
|
-
- spec/veritrans_config_spec.rb
|
182
|
-
- spec/veritrans_events_spec.rb
|
183
|
-
- spec/veritrans_logger_spec.rb
|
184
|
-
- spec/veritrans_snap_spec.rb
|
185
|
-
- testing_webhooks.md
|
186
71
|
- veritrans.gemspec
|
187
72
|
homepage: https://github.com/veritrans/veritrans-ruby
|
188
73
|
licenses:
|
189
74
|
- MIT
|
190
75
|
metadata: {}
|
191
|
-
post_install_message:
|
76
|
+
post_install_message:
|
192
77
|
rdoc_options: []
|
193
78
|
require_paths:
|
194
79
|
- lib
|
@@ -203,9 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
88
|
- !ruby/object:Gem::Version
|
204
89
|
version: '0'
|
205
90
|
requirements: []
|
206
|
-
|
207
|
-
|
208
|
-
signing_key:
|
91
|
+
rubygems_version: 3.2.26
|
92
|
+
signing_key:
|
209
93
|
specification_version: 4
|
210
94
|
summary: Veritrans ruby library
|
211
95
|
test_files: []
|
data/.rspec
DELETED
data/Procfile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
web: bundle exec puma -p $PORT --dir example config.ru
|
data/Rakefile
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
|
3
|
-
begin
|
4
|
-
desc "Run Specs"
|
5
|
-
require 'rspec/core/rake_task'
|
6
|
-
RSpec::Core::RakeTask.new(:spec)
|
7
|
-
rescue LoadError
|
8
|
-
puts "no rspec available"
|
9
|
-
end
|
10
|
-
|
11
|
-
desc "Generate documentation with sdoc"
|
12
|
-
task :doc do
|
13
|
-
Bundler.with_clean_env do
|
14
|
-
exec %{sdoc -i ./*.md ./lib/*.rb ./lib/veritrans/*.rb -m "Veritrans Ruby Library"}
|
15
|
-
end
|
16
|
-
end
|
data/bin/midtrans
DELETED
data/bin/veritrans
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
$:.push(File.expand_path("../../lib", __FILE__))
|
4
|
-
|
5
|
-
require 'optparse'
|
6
|
-
require "veritrans/version"
|
7
|
-
|
8
|
-
OPERATIONS = %w(testhook)
|
9
|
-
|
10
|
-
CONFIG = {}
|
11
|
-
option_parser = OptionParser.new do |opts|
|
12
|
-
opts.banner = "Veritrans #{Veritrans::VERSION}"
|
13
|
-
"Usage: veritrans testhook [options] {url}\n" +
|
14
|
-
" -o specify order id"
|
15
|
-
|
16
|
-
opts.on("-h", "--help", "Show help") do
|
17
|
-
puts option_parser.help
|
18
|
-
exit
|
19
|
-
end
|
20
|
-
|
21
|
-
opts.on("-o [ORDER_ID]", "--order [ORDER_ID]", "Select order") do |order|
|
22
|
-
CONFIG[:order] = order
|
23
|
-
end
|
24
|
-
|
25
|
-
opts.on("-c [PATH]", "--config [PATH]", "Path to config (defualt .)") do |config|
|
26
|
-
CONFIG[:config_path] = config
|
27
|
-
end
|
28
|
-
|
29
|
-
opts.separator <<-EOS
|
30
|
-
|
31
|
-
Supported commands:
|
32
|
-
|
33
|
-
testhook [url] Send testing webhook to specified url
|
34
|
-
|
35
|
-
Example:
|
36
|
-
veritrans testhook http://localhost:3000/vt_events
|
37
|
-
veritrans testhook -o my-order-1 -c ~/path/to/veritrans.yml http://localhost:3000/vt_events
|
38
|
-
|
39
|
-
EOS
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
option_parser.parse!
|
44
|
-
|
45
|
-
op = ARGV.shift
|
46
|
-
|
47
|
-
if OPERATIONS.include?(op)
|
48
|
-
require 'veritrans'
|
49
|
-
require 'veritrans/cli'
|
50
|
-
|
51
|
-
begin
|
52
|
-
case op
|
53
|
-
when "testhook" then
|
54
|
-
Veritrans::CLI.test_webhook(ARGV)
|
55
|
-
end
|
56
|
-
|
57
|
-
rescue Veritrans::CLI::OrderNotFound, Veritrans::CLI::AuthenticationError => ex
|
58
|
-
puts ex.message
|
59
|
-
rescue ArgumentError => ex
|
60
|
-
puts ex.message
|
61
|
-
rescue Exception => e
|
62
|
-
puts "Uh oh, I didn't expect this:"
|
63
|
-
puts e.message
|
64
|
-
puts e.backtrace.join("\n")
|
65
|
-
end
|
66
|
-
else
|
67
|
-
puts option_parser.help
|
68
|
-
end
|
data/example/README.md
DELETED
data/example/config.ru
DELETED
data/example/index.erb
DELETED
@@ -1,213 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>veritrans-ruby demo</title>
|
5
|
-
<link rel="icon" type="image/x-icon" href="https://account.veritrans.co.id/favicon.ico" />
|
6
|
-
<link rel="stylesheet" href="/style.css">
|
7
|
-
</head>
|
8
|
-
<body>
|
9
|
-
|
10
|
-
<header>
|
11
|
-
<h3>Veritrans sinatra app</h3>
|
12
|
-
</header>
|
13
|
-
|
14
|
-
<section>
|
15
|
-
<h4>VT-Web</h4>
|
16
|
-
<form action="/charge_vtweb" method="GET" id="vtweb_form">
|
17
|
-
<fieldset>
|
18
|
-
<p>
|
19
|
-
<label>Language</label>
|
20
|
-
<select name="locale">
|
21
|
-
<option></option>
|
22
|
-
<option value="id">Indonesian</option>
|
23
|
-
<option value="en">English</option>
|
24
|
-
</select>
|
25
|
-
</p>
|
26
|
-
|
27
|
-
<div class="form-row">
|
28
|
-
<label>Payment Types</label>
|
29
|
-
<ul>
|
30
|
-
<% @payment_types = %w{CREDIT_CARD MANDIRI_CLICKPAY MANDIRI_BILL CIMB_CLICKS INDOMARET BANK_TRANSFER MANDIRI_BILL} %>
|
31
|
-
<% for type in @payment_types %>
|
32
|
-
<li>
|
33
|
-
<label>
|
34
|
-
<input type="checkbox" name="enabled_payments[]" value="<%= type %>">
|
35
|
-
<%= type.split("_").map(&:capitalize).join(' ') %>
|
36
|
-
</label>
|
37
|
-
</li>
|
38
|
-
<% end %>
|
39
|
-
</ul>
|
40
|
-
<br/>
|
41
|
-
<small class="types-hint">By default Veritrans will show all available types</small>
|
42
|
-
</div>
|
43
|
-
|
44
|
-
<p>
|
45
|
-
<label>Credit Card BIN promo</label>
|
46
|
-
<input type="text" name="bin_promo" placeholder="411111, 500000, bni, mandiri, 3111">
|
47
|
-
<br/>
|
48
|
-
<small class="bins-hint">
|
49
|
-
<a href="http://docs.veritrans.co.id/en/vtweb/other_features.html#bin-promo">See documentation</a>
|
50
|
-
</small>
|
51
|
-
</p>
|
52
|
-
|
53
|
-
<p>
|
54
|
-
<label>Credit Card 3D Secure</label>
|
55
|
-
<select name="credit_card_3d_secure">
|
56
|
-
<option></option>
|
57
|
-
<option value="true">Yes</option>
|
58
|
-
<option value="false">No</option>
|
59
|
-
</select>
|
60
|
-
</p>
|
61
|
-
|
62
|
-
<div class="form-row">
|
63
|
-
<label>Credit Card Installment</label>
|
64
|
-
<ul>
|
65
|
-
<li>
|
66
|
-
<label><input type="checkbox" name="installment[bni]">BNI</label>
|
67
|
-
</li>
|
68
|
-
<li>
|
69
|
-
<label><input type="checkbox" name="installment[mandiri]">Mandiri</label>
|
70
|
-
</li>
|
71
|
-
<li>
|
72
|
-
<label><input type="checkbox" name="installment[bca]">BCA</label>
|
73
|
-
</li>
|
74
|
-
</ul>
|
75
|
-
</div>
|
76
|
-
|
77
|
-
</fieldset>
|
78
|
-
|
79
|
-
<p>
|
80
|
-
<input type="submit" value="Create payment page">
|
81
|
-
<p>
|
82
|
-
</form>
|
83
|
-
</section>
|
84
|
-
|
85
|
-
<section>
|
86
|
-
<h4>VT-Direct</h4>
|
87
|
-
|
88
|
-
<form action="/charge_vtdirect" method="post" id="card_form">
|
89
|
-
<input type="hidden" name="token_id" id="card_token">
|
90
|
-
<fieldset>
|
91
|
-
<legend>Credit card</legend>
|
92
|
-
<p>
|
93
|
-
<label for="gross_amount">Amount, Rp.</label>
|
94
|
-
<input type="text" name="gross_amount" id="gross_amount" value="30000">
|
95
|
-
</p>
|
96
|
-
<p>
|
97
|
-
<label for="card_number">Card number</label>
|
98
|
-
<input type="text" id="card_number" style="width: 150px" value="4811 1111 1111 1114">
|
99
|
-
<br>
|
100
|
-
<small style="margin-left: 100px" class="card-numbers">
|
101
|
-
<a onclick="$('#card_number').val('4811 1111 1111 1114')">success Visa</a>
|
102
|
-
<a onclick="$('#card_number').val('5810 1111 1111 1112')">success MasterCard</a>
|
103
|
-
<a onclick="$('#card_number').val('4511 1111 1111 1117')">challenge</a>
|
104
|
-
<a onclick="$('#card_number').val('4611 1111 1111 1116')">Deny by FDS</a>
|
105
|
-
<a onclick="$('#card_number').val('4911 1111 1111 1113')">Deny by bank</a>
|
106
|
-
<a href="http://docs.veritrans.co.id/en/api/test_credentials.html" target="_blank">documentation</a>
|
107
|
-
</small>
|
108
|
-
</p>
|
109
|
-
<p>
|
110
|
-
<label for="card_cvc">Security Code</label>
|
111
|
-
<input type="text" id="card_cvc" style="width: 30px" placeholder="cvc" value="123">
|
112
|
-
</p>
|
113
|
-
<p>
|
114
|
-
<label for="card_exp">Expiration date</label>
|
115
|
-
<input type="text" id="card_exp" placeholder="MM / YY" value="12 / 16">
|
116
|
-
</p>
|
117
|
-
|
118
|
-
<p>
|
119
|
-
<label for="card_secure">3D-secure</label>
|
120
|
-
<input type="checkbox" id="card_secure">
|
121
|
-
</p>
|
122
|
-
|
123
|
-
</fieldset>
|
124
|
-
|
125
|
-
<input id="submit_btn" type="submit">
|
126
|
-
</form>
|
127
|
-
</section>
|
128
|
-
|
129
|
-
<section>
|
130
|
-
<h4>Localization</h4>
|
131
|
-
Indonesian translation for validation messages
|
132
|
-
<a href="/localization">Click here</a>
|
133
|
-
</section>
|
134
|
-
|
135
|
-
<section>
|
136
|
-
<h4>Recurring</h4>
|
137
|
-
<a href="/recurring">Click here</a>
|
138
|
-
</section>
|
139
|
-
|
140
|
-
<section>
|
141
|
-
<h4>Credit Card Points</h4>
|
142
|
-
<a href="/points">Click here</a>
|
143
|
-
</section>
|
144
|
-
|
145
|
-
<section>
|
146
|
-
<h4>Snap</h4>
|
147
|
-
<a href="/widget">Click here</a>
|
148
|
-
</section>
|
149
|
-
|
150
|
-
<script src="//api.sandbox.veritrans.co.id/v2/assets/veritrans.js"></script>
|
151
|
-
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
|
152
|
-
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.payment/1.0.2/jquery.payment.js"></script>
|
153
|
-
<script src="//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/0.9.9/jquery.magnific-popup.min.js"></script>
|
154
|
-
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/0.9.9/magnific-popup.css">
|
155
|
-
|
156
|
-
<script type="text/javascript">
|
157
|
-
// set Veritrans settings
|
158
|
-
Veritrans.url = "<%= Veritrans.config.api_host %>/v2/token";
|
159
|
-
Veritrans.client_key = "<%= Veritrans.config.client_key %>";
|
160
|
-
|
161
|
-
function createTokenData() {
|
162
|
-
return {
|
163
|
-
// Optional params:
|
164
|
-
// secure: true
|
165
|
-
// bank: 'MANDIRI'
|
166
|
-
|
167
|
-
card_number: $('#card_number').val(),
|
168
|
-
card_cvv: $('#card_cvc').val(),
|
169
|
-
card_exp_month: $('#card_exp').val().match(/(\d+) \//)[1],
|
170
|
-
card_exp_year: '20' + $('#card_exp').val().match(/\/ (\d+)/)[1],
|
171
|
-
gross_amount: $('#gross_amount').val(),
|
172
|
-
secure: $('#card_secure')[0].checked
|
173
|
-
};
|
174
|
-
}
|
175
|
-
|
176
|
-
$(document).ready(function () {
|
177
|
-
$('#card_number').payment('formatCardNumber');
|
178
|
-
$('#card_cvc').payment('formatCardCVC');
|
179
|
-
$('#card_exp').payment('formatCardExpiry');
|
180
|
-
|
181
|
-
$('#card_form').on('submit', function (event) {
|
182
|
-
var form = this;
|
183
|
-
$('#submit_btn').attr('disabled', true).val("Processing ...");
|
184
|
-
event.preventDefault();
|
185
|
-
|
186
|
-
Veritrans.token(createTokenData, function (data) {
|
187
|
-
console.log('Token data:', data);
|
188
|
-
// if we get url then it's 3d-secure transaction
|
189
|
-
// so we need to open that page
|
190
|
-
// this callback function will be called again after user confirm 3d-secure
|
191
|
-
// you can also redirect on server side
|
192
|
-
if (data.redirect_url) {
|
193
|
-
$.magnificPopup.open({
|
194
|
-
items: { type: 'iframe', src: data.redirect_url }
|
195
|
-
});
|
196
|
-
$.magnificPopup.instance.content.find('iframe').height(590);
|
197
|
-
// if no redirect_url and we have token_id then just make charge request
|
198
|
-
} else if (data.token_id) {
|
199
|
-
$('#card_token').val(data.token_id);
|
200
|
-
$.magnificPopup.close();
|
201
|
-
form.submit();
|
202
|
-
// if no redirect_url and no token_id, then it should be error
|
203
|
-
} else {
|
204
|
-
alert(data.validation_messages ? data.validation_messages.join("\n") : data.status_message);
|
205
|
-
$('#submit_btn').removeAttr('disabled').removeAttr("value");
|
206
|
-
}
|
207
|
-
});
|
208
|
-
});
|
209
|
-
});
|
210
|
-
</script>
|
211
|
-
|
212
|
-
</body>
|
213
|
-
</html>
|