veritrans 2.1.2 → 2.4.0

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