veritrans 2.1.2 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|