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.
Files changed (98) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +10 -1
  3. data/.idea/.gitignore +8 -0
  4. data/.rubocop.yml +35 -0
  5. data/.travis.yml +10 -5
  6. data/CHANGELOG.md +45 -0
  7. data/Gemfile +6 -7
  8. data/Gemfile.lock +134 -146
  9. data/Maintaining.MD +8 -0
  10. data/README.md +266 -226
  11. data/api_reference.md +534 -143
  12. data/example/coreapi/core_api_credit_card_example.rb +66 -0
  13. data/example/coreapi/readme.md +4 -0
  14. data/example/sinatra/Gemfile +7 -0
  15. data/example/sinatra/README.md +6 -0
  16. data/example/sinatra/index.erb +202 -0
  17. data/example/sinatra/response.erb +1 -0
  18. data/example/sinatra/snap.erb +33 -0
  19. data/example/sinatra/snap_redirect.erb +10 -0
  20. data/example/sinatra/webapp.rb +113 -0
  21. data/example/snap/readme.md +4 -0
  22. data/example/snap/snap_example.rb +39 -0
  23. data/lib/test/all.rb +1 -0
  24. data/lib/test/api_test.rb +319 -0
  25. data/lib/test/config_test.rb +26 -0
  26. data/lib/test/gopay_tokenization_test.rb +80 -0
  27. data/lib/test/snap_test.rb +79 -0
  28. data/lib/test/subscription_test.rb +116 -0
  29. data/lib/test/transaction_test.rb +160 -0
  30. data/lib/veritrans/api.rb +146 -22
  31. data/lib/veritrans/client.rb +48 -12
  32. data/lib/veritrans/config.rb +31 -6
  33. data/lib/veritrans/events.rb +46 -35
  34. data/lib/veritrans/midtrans_error.rb +15 -0
  35. data/lib/veritrans/result.rb +66 -5
  36. data/lib/veritrans/version.rb +1 -1
  37. data/lib/veritrans.rb +121 -12
  38. data/veritrans.gemspec +2 -9
  39. metadata +30 -146
  40. data/.rspec +0 -2
  41. data/Procfile +0 -1
  42. data/Rakefile +0 -16
  43. data/bin/midtrans +0 -3
  44. data/bin/veritrans +0 -68
  45. data/example/README.md +0 -8
  46. data/example/config.ru +0 -6
  47. data/example/index.erb +0 -213
  48. data/example/localization.erb +0 -248
  49. data/example/points.erb +0 -187
  50. data/example/recurring.erb +0 -201
  51. data/example/response.erb +0 -37
  52. data/example/sinatra.rb +0 -188
  53. data/example/style.css +0 -126
  54. data/example/veritrans.yml +0 -11
  55. data/example/widget.erb +0 -51
  56. data/lib/generators/templates/assets/credit_card_form.js +0 -51
  57. data/lib/generators/templates/payments_controller.rb +0 -85
  58. data/lib/generators/templates/veritrans.rb +0 -46
  59. data/lib/generators/templates/veritrans.yml +0 -18
  60. data/lib/generators/templates/views/_credit_card_form.erb +0 -42
  61. data/lib/generators/templates/views/_veritrans_include.erb +0 -10
  62. data/lib/generators/templates/views/payments/create.erb +0 -15
  63. data/lib/generators/templates/views/payments/new.erb +0 -6
  64. data/lib/generators/veritrans/install_generator.rb +0 -32
  65. data/lib/generators/veritrans/payment_form_generator.rb +0 -45
  66. data/lib/veritrans/cli.rb +0 -155
  67. data/lib/veritrans/core_extensions.rb +0 -32
  68. data/spec/cli_spec.rb +0 -83
  69. data/spec/configs/real_key.yml +0 -4
  70. data/spec/configs/veritrans.yml +0 -7
  71. data/spec/configs/veritrans_flat.yml +0 -2
  72. data/spec/configs/veritrans_with_erb.yml +0 -2
  73. data/spec/fixtures/approve_failed.yml +0 -48
  74. data/spec/fixtures/cancel_failed.yml +0 -48
  75. data/spec/fixtures/cancel_success.yml +0 -106
  76. data/spec/fixtures/capture_failed.yml +0 -48
  77. data/spec/fixtures/charge.yml +0 -50
  78. data/spec/fixtures/charge_direct.yml +0 -56
  79. data/spec/fixtures/charge_vtweb.yml +0 -50
  80. data/spec/fixtures/cli_test_1111-not-exists.yml +0 -45
  81. data/spec/fixtures/cli_test_not_exists.yml +0 -45
  82. data/spec/fixtures/cli_test_real_txn.yml +0 -55
  83. data/spec/fixtures/cli_test_unauthorized.yml +0 -47
  84. data/spec/fixtures/events_test_real_txn.yml +0 -55
  85. data/spec/fixtures/expire_failed.yml +0 -50
  86. data/spec/fixtures/expire_success.yml +0 -56
  87. data/spec/fixtures/midtrans_status.yml +0 -117
  88. data/spec/fixtures/status_fail.yml +0 -46
  89. data/spec/fixtures/status_success.yml +0 -109
  90. data/spec/midtrans_rename_spec.rb +0 -27
  91. data/spec/rails_plugin_spec.rb +0 -281
  92. data/spec/spec_helper.rb +0 -61
  93. data/spec/veritrans_client_spec.rb +0 -184
  94. data/spec/veritrans_config_spec.rb +0 -70
  95. data/spec/veritrans_events_spec.rb +0 -72
  96. data/spec/veritrans_logger_spec.rb +0 -46
  97. data/spec/veritrans_snap_spec.rb +0 -39
  98. 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.1.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: 2016-10-20 00:00:00.000000000 Z
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
- - dev@veritrans.co.id
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
- - ".rspec"
35
+ - ".idea/.gitignore"
36
+ - ".rubocop.yml"
114
37
  - ".travis.yml"
115
38
  - CHANGELOG.md
116
39
  - Gemfile
117
40
  - Gemfile.lock
118
- - Procfile
41
+ - Maintaining.MD
119
42
  - README.md
120
- - Rakefile
121
43
  - api_reference.md
122
- - bin/midtrans
123
- - bin/veritrans
124
- - example/README.md
125
- - example/config.ru
126
- - example/index.erb
127
- - example/localization.erb
128
- - example/points.erb
129
- - example/recurring.erb
130
- - example/response.erb
131
- - example/sinatra.rb
132
- - example/style.css
133
- - example/veritrans.yml
134
- - example/widget.erb
135
- - lib/generators/templates/assets/credit_card_form.js
136
- - lib/generators/templates/payments_controller.rb
137
- - lib/generators/templates/veritrans.rb
138
- - lib/generators/templates/veritrans.yml
139
- - lib/generators/templates/views/_credit_card_form.erb
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
- rubyforge_project:
207
- rubygems_version: 2.6.6
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
@@ -1,2 +0,0 @@
1
- --color
2
- --require spec_helper
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
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env sh
2
-
3
- veritrans $@
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
@@ -1,8 +0,0 @@
1
- To run examples:
2
-
3
- ```
4
- gem install sinatra
5
- ruby sinatra.rb
6
- ```
7
-
8
- Or see online demo https://veritrans-ruby-example.herokuapp.com/
data/example/config.ru DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # This file is for running on heroku
4
-
5
- require './sinatra'
6
- Sinatra::Application.run!
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>