kcppayments_rails 0.1.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 (130) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +49 -0
  4. data/Rakefile +4 -0
  5. data/lib/generators/kcppayments_rails/install/install_generator.rb +21 -0
  6. data/lib/generators/kcppayments_rails/install/templates/kcp_controller.js +54 -0
  7. data/lib/generators/kcppayments_rails/install/templates/kcppayments_rails.rb +14 -0
  8. data/lib/kcppayments_rails/client.rb +49 -0
  9. data/lib/kcppayments_rails/configuration.rb +24 -0
  10. data/lib/kcppayments_rails/engine.rb +21 -0
  11. data/lib/kcppayments_rails/helpers/kcp_helper.rb +33 -0
  12. data/lib/kcppayments_rails/version.rb +5 -0
  13. data/lib/kcppayments_rails.rb +26 -0
  14. data/sig/kcppayments_rails.rbs +4 -0
  15. data/test_app/.dockerignore +51 -0
  16. data/test_app/.github/dependabot.yml +12 -0
  17. data/test_app/.github/workflows/ci.yml +55 -0
  18. data/test_app/.gitignore +87 -0
  19. data/test_app/.kamal/hooks/docker-setup.sample +3 -0
  20. data/test_app/.kamal/hooks/post-app-boot.sample +3 -0
  21. data/test_app/.kamal/hooks/post-deploy.sample +14 -0
  22. data/test_app/.kamal/hooks/post-proxy-reboot.sample +3 -0
  23. data/test_app/.kamal/hooks/pre-app-boot.sample +3 -0
  24. data/test_app/.kamal/hooks/pre-build.sample +51 -0
  25. data/test_app/.kamal/hooks/pre-connect.sample +47 -0
  26. data/test_app/.kamal/hooks/pre-deploy.sample +122 -0
  27. data/test_app/.kamal/hooks/pre-proxy-reboot.sample +3 -0
  28. data/test_app/.kamal/secrets +17 -0
  29. data/test_app/.rubocop.yml +8 -0
  30. data/test_app/.ruby-version +1 -0
  31. data/test_app/Dockerfile +72 -0
  32. data/test_app/Gemfile +60 -0
  33. data/test_app/Gemfile.lock +370 -0
  34. data/test_app/README.md +181 -0
  35. data/test_app/Rakefile +6 -0
  36. data/test_app/app/assets/images/.keep +0 -0
  37. data/test_app/app/assets/stylesheets/application.css +10 -0
  38. data/test_app/app/controllers/application_controller.rb +4 -0
  39. data/test_app/app/controllers/concerns/.keep +0 -0
  40. data/test_app/app/controllers/orders_controller.rb +31 -0
  41. data/test_app/app/controllers/payments_controller.rb +120 -0
  42. data/test_app/app/helpers/application_helper.rb +2 -0
  43. data/test_app/app/helpers/orders_helper.rb +2 -0
  44. data/test_app/app/helpers/payments_helper.rb +2 -0
  45. data/test_app/app/javascript/application.js +3 -0
  46. data/test_app/app/javascript/controllers/application.js +9 -0
  47. data/test_app/app/javascript/controllers/hello_controller.js +7 -0
  48. data/test_app/app/javascript/controllers/index.js +4 -0
  49. data/test_app/app/javascript/controllers/kcp_controller.js +310 -0
  50. data/test_app/app/jobs/application_job.rb +7 -0
  51. data/test_app/app/mailers/application_mailer.rb +4 -0
  52. data/test_app/app/models/application_record.rb +3 -0
  53. data/test_app/app/models/concerns/.keep +0 -0
  54. data/test_app/app/models/order.rb +67 -0
  55. data/test_app/app/views/layouts/application.html.erb +28 -0
  56. data/test_app/app/views/layouts/mailer.html.erb +13 -0
  57. data/test_app/app/views/layouts/mailer.text.erb +1 -0
  58. data/test_app/app/views/orders/create.html.erb +2 -0
  59. data/test_app/app/views/orders/index.html.erb +41 -0
  60. data/test_app/app/views/orders/new.html.erb +44 -0
  61. data/test_app/app/views/orders/show.html.erb +36 -0
  62. data/test_app/app/views/payments/_receipt_links.html.erb +31 -0
  63. data/test_app/app/views/payments/callback.html.erb +2 -0
  64. data/test_app/app/views/payments/create.html.erb +2 -0
  65. data/test_app/app/views/payments/failure.html.erb +20 -0
  66. data/test_app/app/views/payments/new.html.erb +145 -0
  67. data/test_app/app/views/payments/receipt.html.erb +156 -0
  68. data/test_app/app/views/payments/success.html.erb +34 -0
  69. data/test_app/app/views/pwa/manifest.json.erb +22 -0
  70. data/test_app/app/views/pwa/service-worker.js +26 -0
  71. data/test_app/bin/brakeman +7 -0
  72. data/test_app/bin/dev +2 -0
  73. data/test_app/bin/docker-entrypoint +14 -0
  74. data/test_app/bin/importmap +4 -0
  75. data/test_app/bin/jobs +6 -0
  76. data/test_app/bin/kamal +16 -0
  77. data/test_app/bin/rails +4 -0
  78. data/test_app/bin/rake +4 -0
  79. data/test_app/bin/rubocop +8 -0
  80. data/test_app/bin/setup +65 -0
  81. data/test_app/bin/thrust +5 -0
  82. data/test_app/config/application.rb +42 -0
  83. data/test_app/config/boot.rb +4 -0
  84. data/test_app/config/cable.yml +17 -0
  85. data/test_app/config/cache.yml +16 -0
  86. data/test_app/config/credentials.yml.enc +1 -0
  87. data/test_app/config/database.yml +41 -0
  88. data/test_app/config/deploy.yml +116 -0
  89. data/test_app/config/environment.rb +5 -0
  90. data/test_app/config/environments/development.rb +74 -0
  91. data/test_app/config/environments/production.rb +90 -0
  92. data/test_app/config/environments/test.rb +53 -0
  93. data/test_app/config/importmap.rb +7 -0
  94. data/test_app/config/initializers/assets.rb +7 -0
  95. data/test_app/config/initializers/content_security_policy.rb +25 -0
  96. data/test_app/config/initializers/filter_parameter_logging.rb +8 -0
  97. data/test_app/config/initializers/inflections.rb +16 -0
  98. data/test_app/config/initializers/kcppayments_rails.rb +29 -0
  99. data/test_app/config/locales/en.yml +31 -0
  100. data/test_app/config/master.key +1 -0
  101. data/test_app/config/puma.rb +41 -0
  102. data/test_app/config/queue.yml +18 -0
  103. data/test_app/config/recurring.yml +15 -0
  104. data/test_app/config/routes.rb +29 -0
  105. data/test_app/config/storage.yml +34 -0
  106. data/test_app/config.ru +6 -0
  107. data/test_app/db/cable_schema.rb +11 -0
  108. data/test_app/db/cache_schema.rb +14 -0
  109. data/test_app/db/migrate/20250827075913_create_orders.rb +16 -0
  110. data/test_app/db/migrate/20250827121258_add_kcp_fields_to_orders.rb +6 -0
  111. data/test_app/db/queue_schema.rb +129 -0
  112. data/test_app/db/schema.rb +28 -0
  113. data/test_app/db/seeds.rb +80 -0
  114. data/test_app/lib/tasks/.keep +0 -0
  115. data/test_app/log/.keep +0 -0
  116. data/test_app/public/.well-known/appspecific/com.chrome.devtools.json +1 -0
  117. data/test_app/public/400.html +114 -0
  118. data/test_app/public/404.html +114 -0
  119. data/test_app/public/406-unsupported-browser.html +114 -0
  120. data/test_app/public/422.html +114 -0
  121. data/test_app/public/500.html +114 -0
  122. data/test_app/public/icon.png +0 -0
  123. data/test_app/public/icon.svg +3 -0
  124. data/test_app/public/robots.txt +1 -0
  125. data/test_app/script/.keep +0 -0
  126. data/test_app/tmp/.keep +0 -0
  127. data/test_app/tmp/restart.txt +0 -0
  128. data/test_app/vendor/.keep +0 -0
  129. data/test_app/vendor/javascript/.keep +0 -0
  130. metadata +184 -0
@@ -0,0 +1,114 @@
1
+ <!doctype html>
2
+
3
+ <html lang="en">
4
+
5
+ <head>
6
+
7
+ <title>The change you wanted was rejected (422 Unprocessable Entity)</title>
8
+
9
+ <meta charset="utf-8">
10
+ <meta name="viewport" content="initial-scale=1, width=device-width">
11
+ <meta name="robots" content="noindex, nofollow">
12
+
13
+ <style>
14
+
15
+ *, *::before, *::after {
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ * {
20
+ margin: 0;
21
+ }
22
+
23
+ html {
24
+ font-size: 16px;
25
+ }
26
+
27
+ body {
28
+ background: #FFF;
29
+ color: #261B23;
30
+ display: grid;
31
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Aptos, Roboto, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
32
+ font-size: clamp(1rem, 2.5vw, 2rem);
33
+ -webkit-font-smoothing: antialiased;
34
+ font-style: normal;
35
+ font-weight: 400;
36
+ letter-spacing: -0.0025em;
37
+ line-height: 1.4;
38
+ min-height: 100vh;
39
+ place-items: center;
40
+ text-rendering: optimizeLegibility;
41
+ -webkit-text-size-adjust: 100%;
42
+ }
43
+
44
+ a {
45
+ color: inherit;
46
+ font-weight: 700;
47
+ text-decoration: underline;
48
+ text-underline-offset: 0.0925em;
49
+ }
50
+
51
+ b, strong {
52
+ font-weight: 700;
53
+ }
54
+
55
+ i, em {
56
+ font-style: italic;
57
+ }
58
+
59
+ main {
60
+ display: grid;
61
+ gap: 1em;
62
+ padding: 2em;
63
+ place-items: center;
64
+ text-align: center;
65
+ }
66
+
67
+ main header {
68
+ width: min(100%, 12em);
69
+ }
70
+
71
+ main header svg {
72
+ height: auto;
73
+ max-width: 100%;
74
+ width: 100%;
75
+ }
76
+
77
+ main article {
78
+ width: min(100%, 30em);
79
+ }
80
+
81
+ main article p {
82
+ font-size: 75%;
83
+ }
84
+
85
+ main article br {
86
+
87
+ display: none;
88
+
89
+ @media(min-width: 48em) {
90
+ display: inline;
91
+ }
92
+
93
+ }
94
+
95
+ </style>
96
+
97
+ </head>
98
+
99
+ <body>
100
+
101
+ <!-- This file lives in public/422.html -->
102
+
103
+ <main>
104
+ <header>
105
+ <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m124.48 3.00509-45.6889 100.02991h26.2239v-28.1168h38.119v28.1168h21.628v35.145h-21.628v30.82h-37.308v-30.82h-72.1833v-31.901l50.2851-103.27391zm130.453 51.63681c0-8.9215-6.218-15.4099-15.681-15.4099-10.273 0-15.95 7.5698-16.491 16.4913h-44.608c3.244-30.8199 25.683-55.421707 61.099-55.421707 36.498 0 59.477 20.816907 59.477 51.636807 0 21.3577-14.869 36.7676-31.901 52.7186l-27.305 27.035h59.747v37.308h-120.306v-27.846l57.044-56.7736c11.084-11.8954 18.925-20.0059 18.925-29.7385zm140.455 0c0-8.9215-6.218-15.4099-15.68-15.4099-10.274 0-15.951 7.5698-16.492 16.4913h-44.608c3.245-30.8199 25.684-55.421707 61.1-55.421707 36.497 0 59.477 20.816907 59.477 51.636807 0 21.3577-14.87 36.7676-31.902 52.7186l-27.305 27.035h59.747v37.308h-120.305v-27.846l57.043-56.7736c11.085-11.8954 18.925-20.0059 18.925-29.7385z" fill="#f0eff0"/><path d="m19.3936 103.554c-8.9715 0-14.84183-5.0952-14.84183-14.4544v-20.1029h8.86083v19.3276c0 4.8181 2.2706 7.3102 5.981 7.3102 3.6551 0 5.9257-2.4921 5.9257-7.3102v-19.3276h8.8608v20.1583c0 9.3038-5.8149 14.399-14.7865 14.399zm18.734-.554v-24.921h8.6947v2.1598c1.3845-1.5506 3.8212-2.7136 6.701-2.7136 5.538 0 8.8054 3.5997 8.8054 9.1377v16.3371h-8.6393v-14.2327c0-2.049-1.0522-3.5443-3.2674-3.5443-1.7168 0-3.1567.9969-3.5997 2.7136v15.0634zm36.8584-1.994v10.799h-8.6946v-33.726h8.6946v1.9937c1.163-1.3291 3.5997-2.5475 6.1472-2.5475 7.1994 0 11.1314 5.8703 11.1314 13.0143 0 7.0886-3.932 13.0145-11.1314 13.0145-2.5475 0-4.9842-1.219-6.1472-2.548zm0-13.7893v6.5902c.6646 1.3845 2.1599 2.326 3.8213 2.326 2.9905 0 4.7626-2.3814 4.7626-5.5934s-1.7721-5.6488-4.7626-5.6488c-1.7168 0-3.1567.9969-3.8213 2.326zm36.789-9.2485v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.6949v-24.921h8.6949v2.2152c1.218-1.6614 3.156-2.769 5.648-2.769 1.108 0 1.994.2215 2.382.443zm26.769 12.5713c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.528 0c0-3.4336-1.496-5.8703-4.209-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.209-2.3813 4.209-5.8149zm10.352 0c0-7.6978 5.095-13.0143 12.571-13.0143 6.701 0 10.855 3.9874 11.574 9.8023h-8.417c-.222-1.4953-1.385-2.6029-3.157-2.6029-2.437 0-3.987 2.2706-3.987 5.8149s1.55 5.7595 3.987 5.7595c1.772 0 2.935-1.0522 3.157-2.5475h8.417c-.719 5.7596-4.873 9.8025-11.574 9.8025-7.476 0-12.571-5.3167-12.571-13.0145zm42.013 3.7658h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.516-13.0143 7.642 0 11.962 5.095 11.962 12.5159v2.1598h-16.116c.277 2.9905 1.828 4.5965 4.32 4.5965 1.772 0 3.156-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.434 1.2737-3.988 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.544-3.5997zm13.428 11.0206h8.473c.387 1.3845 1.606 2.1598 3.156 2.1598 1.44 0 2.548-.5538 2.548-1.7168 0-.9414-.72-1.2737-1.938-1.5506l-4.874-.9969c-4.153-.886-6.867-2.8797-6.867-7.2547 0-5.3165 4.763-8.4178 10.633-8.4178 6.812 0 10.522 3.1567 11.297 8.0855h-8.03c-.277-1.0522-1.052-1.9937-3.046-1.9937-1.273 0-2.326.5538-2.326 1.6614 0 .7753.554 1.163 1.717 1.3845l4.929 1.163c4.541 1.0522 6.978 3.4335 6.978 7.4763 0 5.3168-4.818 8.2518-10.91 8.2518-6.369 0-10.965-2.88-11.74-8.2518zm24.269 0h8.474c.387 1.3845 1.606 2.1598 3.156 2.1598 1.44 0 2.548-.5538 2.548-1.7168 0-.9414-.72-1.2737-1.939-1.5506l-4.873-.9969c-4.154-.886-6.867-2.8797-6.867-7.2547 0-5.3165 4.763-8.4178 10.633-8.4178 6.812 0 10.522 3.1567 11.297 8.0855h-8.03c-.277-1.0522-1.052-1.9937-3.046-1.9937-1.273 0-2.326.5538-2.326 1.6614 0 .7753.554 1.163 1.717 1.3845l4.929 1.163c4.541 1.0522 6.978 3.4335 6.978 7.4763 0 5.3168-4.818 8.2518-10.91 8.2518-6.369 0-10.965-2.88-11.741-8.2518zm47.918 7.6978h-8.363v-1.274c-.831.831-3.323 1.717-5.981 1.717-4.929 0-9.082-2.769-9.082-8.0301 0-4.818 4.153-7.9193 9.581-7.9193 2.049 0 4.485.6646 5.482 1.3845v-1.606c0-1.606-.941-2.9905-3.046-2.9905-1.606 0-2.547.7199-2.935 1.8275h-8.196c.72-4.8181 4.984-8.6393 11.408-8.6393 7.089 0 11.132 3.7659 11.132 10.2453zm-8.363-6.9779v-1.4399c-.554-1.0522-2.049-1.7167-3.655-1.7167-1.717 0-3.434.7199-3.434 2.3813 0 1.7168 1.717 2.4367 3.434 2.4367 1.606 0 3.101-.6645 3.655-1.6614zm20.742 4.9839v1.994h-8.695v-35.997h8.695v13.0697c1.163-1.3291 3.6-2.5475 6.147-2.5475 7.2 0 11.132 5.8149 11.132 13.0143s-3.932 13.0145-11.132 13.0145c-2.547 0-4.984-1.219-6.147-2.548zm0-13.7893v6.5902c.665 1.3845 2.105 2.326 3.821 2.326 2.991 0 4.763-2.3814 4.763-5.5934s-1.772-5.6488-4.763-5.6488c-1.661 0-3.156.9969-3.821 2.326zm28.759-20.2137v35.997h-8.695v-35.997zm19.172 27.3023h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.643 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.515-13.0143 7.643 0 11.962 5.095 11.962 12.5159v2.1598h-16.115c.277 2.9905 1.827 4.5965 4.32 4.5965 1.772 0 3.156-.7753 3.655-2.4921zm-3.822-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm25.461-15.2849h24.311v7.6424h-15.561v5.3165h14.232v7.4763h-14.232v5.8703h15.561v7.6978h-24.311zm27.942 34.0033v-24.921h8.694v2.1598c1.385-1.5506 3.822-2.7136 6.701-2.7136 5.538 0 8.806 3.5997 8.806 9.1377v16.3371h-8.639v-14.2327c0-2.049-1.053-3.5443-3.268-3.5443-1.717 0-3.157.9969-3.6 2.7136v15.0634zm29.991-8.5839v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.206v6.7564h-5.206v8.307c0 1.9383.941 2.769 2.658 2.769.942 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm26.161-16.3371v24.921h-8.694v-24.921zm.61-6.7564c0 2.8244-2.271 4.652-4.929 4.652s-4.929-1.8276-4.929-4.652c0-2.8797 2.271-4.7073 4.929-4.7073s4.929 1.8276 4.929 4.7073zm5.382 23.0935v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.584v6.8671h5.206v6.7564h-5.206v8.307c0 1.9383.941 2.769 2.658 2.769.941 0 1.994-.2216 2.769-.5538v7.3654c-.997.443-2.88.775-4.818.775-5.87 0-9.193-2.769-9.193-9.0819zm29.22 17.3889h-8.584l3.655-9.414-9.303-24.312h9.026l4.763 14.1773 4.652-14.1773h8.639z" fill="#d30001"/></svg>
106
+ </header>
107
+ <article>
108
+ <p><strong>The change you wanted was rejected.</strong> Maybe you tried to change something you didn’t have access to. If you’re the application owner check the logs for more information.</p>
109
+ </article>
110
+ </main>
111
+
112
+ </body>
113
+
114
+ </html>
@@ -0,0 +1,114 @@
1
+ <!doctype html>
2
+
3
+ <html lang="en">
4
+
5
+ <head>
6
+
7
+ <title>We’re sorry, but something went wrong (500 Internal Server Error)</title>
8
+
9
+ <meta charset="utf-8">
10
+ <meta name="viewport" content="initial-scale=1, width=device-width">
11
+ <meta name="robots" content="noindex, nofollow">
12
+
13
+ <style>
14
+
15
+ *, *::before, *::after {
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ * {
20
+ margin: 0;
21
+ }
22
+
23
+ html {
24
+ font-size: 16px;
25
+ }
26
+
27
+ body {
28
+ background: #FFF;
29
+ color: #261B23;
30
+ display: grid;
31
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Aptos, Roboto, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
32
+ font-size: clamp(1rem, 2.5vw, 2rem);
33
+ -webkit-font-smoothing: antialiased;
34
+ font-style: normal;
35
+ font-weight: 400;
36
+ letter-spacing: -0.0025em;
37
+ line-height: 1.4;
38
+ min-height: 100vh;
39
+ place-items: center;
40
+ text-rendering: optimizeLegibility;
41
+ -webkit-text-size-adjust: 100%;
42
+ }
43
+
44
+ a {
45
+ color: inherit;
46
+ font-weight: 700;
47
+ text-decoration: underline;
48
+ text-underline-offset: 0.0925em;
49
+ }
50
+
51
+ b, strong {
52
+ font-weight: 700;
53
+ }
54
+
55
+ i, em {
56
+ font-style: italic;
57
+ }
58
+
59
+ main {
60
+ display: grid;
61
+ gap: 1em;
62
+ padding: 2em;
63
+ place-items: center;
64
+ text-align: center;
65
+ }
66
+
67
+ main header {
68
+ width: min(100%, 12em);
69
+ }
70
+
71
+ main header svg {
72
+ height: auto;
73
+ max-width: 100%;
74
+ width: 100%;
75
+ }
76
+
77
+ main article {
78
+ width: min(100%, 30em);
79
+ }
80
+
81
+ main article p {
82
+ font-size: 75%;
83
+ }
84
+
85
+ main article br {
86
+
87
+ display: none;
88
+
89
+ @media(min-width: 48em) {
90
+ display: inline;
91
+ }
92
+
93
+ }
94
+
95
+ </style>
96
+
97
+ </head>
98
+
99
+ <body>
100
+
101
+ <!-- This file lives in public/500.html -->
102
+
103
+ <main>
104
+ <header>
105
+ <svg height="172" viewBox="0 0 480 172" width="480" xmlns="http://www.w3.org/2000/svg"><path d="m101.23 93.8427c-8.1103 0-15.4098 3.7849-19.7354 8.3813h-36.2269v-99.21891h103.8143v37.03791h-68.3984v24.8722c5.1366-2.7035 15.1396-5.9477 24.6014-5.9477 35.146 0 56.233 22.7094 56.233 55.4215 0 34.605-23.791 57.315-60.558 57.315-37.8492 0-61.64-22.169-63.8028-55.963h42.9857c1.0814 10.814 9.1919 19.195 21.6281 19.195 11.355 0 19.465-8.381 19.465-20.547 0-11.625-7.299-20.5463-20.006-20.5463zm138.833 77.8613c-40.822 0-64.884-35.146-64.884-85.7015 0-50.5554 24.062-85.700907 64.884-85.700907 40.823 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.061 85.7015-64.884 85.7015zm0-133.2831c-17.572 0-22.709 21.8984-22.709 47.5816 0 25.6835 5.137 47.5815 22.709 47.5815 17.303 0 22.71-21.898 22.71-47.5815 0-25.6832-5.407-47.5816-22.71-47.5816zm140.456 133.2831c-40.823 0-64.884-35.146-64.884-85.7015 0-50.5554 24.061-85.700907 64.884-85.700907 40.822 0 64.884 35.145507 64.884 85.700907 0 50.5555-24.062 85.7015-64.884 85.7015zm0-133.2831c-17.573 0-22.71 21.8984-22.71 47.5816 0 25.6835 5.137 47.5815 22.71 47.5815 17.302 0 22.709-21.898 22.709-47.5815 0-25.6832-5.407-47.5816-22.709-47.5816z" fill="#f0eff0"/><path d="m23.1377 68.9967v34.0033h-8.9162v-34.0033zm4.3157 34.0033v-24.921h8.6947v2.1598c1.3845-1.5506 3.8212-2.7136 6.701-2.7136 5.538 0 8.8054 3.5997 8.8054 9.1377v16.3371h-8.6393v-14.2327c0-2.049-1.0522-3.5443-3.2674-3.5443-1.7168 0-3.1567.9969-3.5997 2.7136v15.0634zm29.9913-8.5839v-9.5807h-3.655v-6.7564h3.655v-6.8671h8.5839v6.8671h5.2058v6.7564h-5.2058v8.307c0 1.9383.9415 2.769 2.6583 2.769.9414 0 1.9937-.2216 2.769-.5538v7.3654c-.9969.443-2.8798.775-4.8181.775-5.8703 0-9.1931-2.769-9.1931-9.0819zm32.3666-.1108h8.0301c-.8861 5.7597-5.2057 9.2487-11.6852 9.2487-7.6424 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.3165-13.0143 12.5159-13.0143 7.6424 0 11.9621 5.095 11.9621 12.5159v2.1598h-16.1156c.2769 2.9905 1.8275 4.5965 4.3196 4.5965 1.7722 0 3.1567-.7753 3.6551-2.4921zm-3.8212-10.0237c-2.0491 0-3.4336 1.2737-3.9874 3.5997h7.5317c-.1107-2.0491-1.3845-3.5997-3.5443-3.5997zm31.4299-6.3134v8.3624c-1.052-.5538-2.215-.7753-3.599-.7753-2.382 0-3.988 1.0522-4.431 2.8244v14.6203h-8.694v-24.921h8.694v2.2152c1.219-1.6614 3.157-2.769 5.649-2.769 1.108 0 1.994.2215 2.381.443zm2.949 25.0318v-24.921h8.694v2.1598c1.385-1.5506 3.821-2.7136 6.701-2.7136 5.538 0 8.806 3.5997 8.806 9.1377v16.3371h-8.64v-14.2327c0-2.049-1.052-3.5443-3.267-3.5443-1.717 0-3.157.9969-3.6 2.7136v15.0634zm50.371 0h-8.363v-1.274c-.83.831-3.323 1.717-5.981 1.717-4.929 0-9.082-2.769-9.082-8.0301 0-4.818 4.153-7.9193 9.581-7.9193 2.049 0 4.485.6646 5.482 1.3845v-1.606c0-1.606-.941-2.9905-3.046-2.9905-1.606 0-2.547.7199-2.935 1.8275h-8.196c.72-4.8181 4.984-8.6393 11.408-8.6393 7.089 0 11.132 3.7659 11.132 10.2453zm-8.363-6.9779v-1.4399c-.554-1.0522-2.049-1.7167-3.655-1.7167-1.717 0-3.433.7199-3.433 2.3813 0 1.7168 1.716 2.4367 3.433 2.4367 1.606 0 3.101-.6645 3.655-1.6614zm20.742-29.0191v35.997h-8.694v-35.997zm13.036 25.9178h9.248c.72 2.326 2.714 3.489 5.483 3.489 2.713 0 4.596-1.163 4.596-3.2674 0-1.6061-1.052-2.326-3.212-2.8244l-6.534-1.3845c-4.985-1.1076-8.751-3.7105-8.751-9.47 0-6.6456 5.538-11.0206 13.07-11.0206 8.307 0 13.014 4.5411 13.956 10.4114h-8.695c-.72-1.8829-2.27-3.3228-5.205-3.3228-2.548 0-4.265 1.1076-4.265 2.9905 0 1.4953 1.052 2.326 2.825 2.7137l6.645 1.5506c5.815 1.3845 9.027 4.5412 9.027 9.8023 0 6.9778-5.87 10.9654-13.291 10.9654-8.141 0-13.679-3.9322-14.897-10.6332zm46.509 1.3845h8.031c-.887 5.7597-5.206 9.2487-11.686 9.2487-7.642 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.317-13.0143 12.516-13.0143 7.643 0 11.962 5.095 11.962 12.5159v2.1598h-16.115c.277 2.9905 1.827 4.5965 4.319 4.5965 1.773 0 3.157-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.433 1.2737-3.987 3.5997h7.532c-.111-2.0491-1.385-3.5997-3.545-3.5997zm31.431-6.3134v8.3624c-1.053-.5538-2.216-.7753-3.6-.7753-2.381 0-3.988 1.0522-4.431 2.8244v14.6203h-8.694v-24.921h8.694v2.2152c1.219-1.6614 3.157-2.769 5.649-2.769 1.108 0 1.994.2215 2.382.443zm18.288 25.0318h-7.809l-9.47-24.921h8.861l4.763 14.288 4.652-14.288h8.528zm25.614-8.6947h8.03c-.886 5.7597-5.206 9.2487-11.685 9.2487-7.642 0-12.682-5.2613-12.682-13.0145 0-7.6978 5.316-13.0143 12.516-13.0143 7.642 0 11.962 5.095 11.962 12.5159v2.1598h-16.116c.277 2.9905 1.828 4.5965 4.32 4.5965 1.772 0 3.157-.7753 3.655-2.4921zm-3.821-10.0237c-2.049 0-3.434 1.2737-3.988 3.5997h7.532c-.111-2.0491-1.384-3.5997-3.544-3.5997zm31.43-6.3134v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.157-2.769 5.649-2.769 1.107 0 1.993.2215 2.381.443zm13.703-8.9715h24.312v7.6424h-15.562v5.3165h14.232v7.4763h-14.232v5.8703h15.562v7.6978h-24.312zm44.667 8.9715v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.156-2.769 5.648-2.769 1.108 0 1.994.2215 2.382.443zm19.673 0v8.3624c-1.053-.5538-2.216-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.156-2.769 5.648-2.769 1.108 0 1.994.2215 2.382.443zm26.769 12.5713c0 7.6978-5.15 13.0145-12.737 13.0145-7.532 0-12.738-5.3167-12.738-13.0145s5.206-13.0143 12.738-13.0143c7.587 0 12.737 5.3165 12.737 13.0143zm-8.529 0c0-3.4336-1.495-5.8703-4.208-5.8703-2.659 0-4.154 2.4367-4.154 5.8703s1.495 5.8149 4.154 5.8149c2.713 0 4.208-2.3813 4.208-5.8149zm28.082-12.5713v8.3624c-1.052-.5538-2.215-.7753-3.6-.7753-2.381 0-3.987 1.0522-4.43 2.8244v14.6203h-8.695v-24.921h8.695v2.2152c1.218-1.6614 3.157-2.769 5.649-2.769 1.107 0 1.993.2215 2.381.443z" fill="#d30001"/></svg>
106
+ </header>
107
+ <article>
108
+ <p><strong>We’re sorry, but something went wrong.</strong><br> If you’re the application owner check the logs for more information.</p>
109
+ </article>
110
+ </main>
111
+
112
+ </body>
113
+
114
+ </html>
Binary file
@@ -0,0 +1,3 @@
1
+ <svg width="512" height="512" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="256" cy="256" r="256" fill="red"/>
3
+ </svg>
@@ -0,0 +1 @@
1
+ # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
File without changes
File without changes
File without changes
File without changes
File without changes
metadata ADDED
@@ -0,0 +1,184 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kcppayments_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Lucius Choi
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '7.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '7.0'
26
+ description: Rails 7/8에서 KCP 표준결제를 쉽게 붙일 수 있도록 엔진/헬퍼/제너레이터/Stimulus 컨트롤러를 제공합니다.
27
+ email:
28
+ - lucius.choi@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - CHANGELOG.md
34
+ - README.md
35
+ - Rakefile
36
+ - lib/generators/kcppayments_rails/install/install_generator.rb
37
+ - lib/generators/kcppayments_rails/install/templates/kcp_controller.js
38
+ - lib/generators/kcppayments_rails/install/templates/kcppayments_rails.rb
39
+ - lib/kcppayments_rails.rb
40
+ - lib/kcppayments_rails/client.rb
41
+ - lib/kcppayments_rails/configuration.rb
42
+ - lib/kcppayments_rails/engine.rb
43
+ - lib/kcppayments_rails/helpers/kcp_helper.rb
44
+ - lib/kcppayments_rails/version.rb
45
+ - sig/kcppayments_rails.rbs
46
+ - test_app/.dockerignore
47
+ - test_app/.github/dependabot.yml
48
+ - test_app/.github/workflows/ci.yml
49
+ - test_app/.gitignore
50
+ - test_app/.kamal/hooks/docker-setup.sample
51
+ - test_app/.kamal/hooks/post-app-boot.sample
52
+ - test_app/.kamal/hooks/post-deploy.sample
53
+ - test_app/.kamal/hooks/post-proxy-reboot.sample
54
+ - test_app/.kamal/hooks/pre-app-boot.sample
55
+ - test_app/.kamal/hooks/pre-build.sample
56
+ - test_app/.kamal/hooks/pre-connect.sample
57
+ - test_app/.kamal/hooks/pre-deploy.sample
58
+ - test_app/.kamal/hooks/pre-proxy-reboot.sample
59
+ - test_app/.kamal/secrets
60
+ - test_app/.rubocop.yml
61
+ - test_app/.ruby-version
62
+ - test_app/Dockerfile
63
+ - test_app/Gemfile
64
+ - test_app/Gemfile.lock
65
+ - test_app/README.md
66
+ - test_app/Rakefile
67
+ - test_app/app/assets/images/.keep
68
+ - test_app/app/assets/stylesheets/application.css
69
+ - test_app/app/controllers/application_controller.rb
70
+ - test_app/app/controllers/concerns/.keep
71
+ - test_app/app/controllers/orders_controller.rb
72
+ - test_app/app/controllers/payments_controller.rb
73
+ - test_app/app/helpers/application_helper.rb
74
+ - test_app/app/helpers/orders_helper.rb
75
+ - test_app/app/helpers/payments_helper.rb
76
+ - test_app/app/javascript/application.js
77
+ - test_app/app/javascript/controllers/application.js
78
+ - test_app/app/javascript/controllers/hello_controller.js
79
+ - test_app/app/javascript/controllers/index.js
80
+ - test_app/app/javascript/controllers/kcp_controller.js
81
+ - test_app/app/jobs/application_job.rb
82
+ - test_app/app/mailers/application_mailer.rb
83
+ - test_app/app/models/application_record.rb
84
+ - test_app/app/models/concerns/.keep
85
+ - test_app/app/models/order.rb
86
+ - test_app/app/views/layouts/application.html.erb
87
+ - test_app/app/views/layouts/mailer.html.erb
88
+ - test_app/app/views/layouts/mailer.text.erb
89
+ - test_app/app/views/orders/create.html.erb
90
+ - test_app/app/views/orders/index.html.erb
91
+ - test_app/app/views/orders/new.html.erb
92
+ - test_app/app/views/orders/show.html.erb
93
+ - test_app/app/views/payments/_receipt_links.html.erb
94
+ - test_app/app/views/payments/callback.html.erb
95
+ - test_app/app/views/payments/create.html.erb
96
+ - test_app/app/views/payments/failure.html.erb
97
+ - test_app/app/views/payments/new.html.erb
98
+ - test_app/app/views/payments/receipt.html.erb
99
+ - test_app/app/views/payments/success.html.erb
100
+ - test_app/app/views/pwa/manifest.json.erb
101
+ - test_app/app/views/pwa/service-worker.js
102
+ - test_app/bin/brakeman
103
+ - test_app/bin/dev
104
+ - test_app/bin/docker-entrypoint
105
+ - test_app/bin/importmap
106
+ - test_app/bin/jobs
107
+ - test_app/bin/kamal
108
+ - test_app/bin/rails
109
+ - test_app/bin/rake
110
+ - test_app/bin/rubocop
111
+ - test_app/bin/setup
112
+ - test_app/bin/thrust
113
+ - test_app/config.ru
114
+ - test_app/config/application.rb
115
+ - test_app/config/boot.rb
116
+ - test_app/config/cable.yml
117
+ - test_app/config/cache.yml
118
+ - test_app/config/credentials.yml.enc
119
+ - test_app/config/database.yml
120
+ - test_app/config/deploy.yml
121
+ - test_app/config/environment.rb
122
+ - test_app/config/environments/development.rb
123
+ - test_app/config/environments/production.rb
124
+ - test_app/config/environments/test.rb
125
+ - test_app/config/importmap.rb
126
+ - test_app/config/initializers/assets.rb
127
+ - test_app/config/initializers/content_security_policy.rb
128
+ - test_app/config/initializers/filter_parameter_logging.rb
129
+ - test_app/config/initializers/inflections.rb
130
+ - test_app/config/initializers/kcppayments_rails.rb
131
+ - test_app/config/locales/en.yml
132
+ - test_app/config/master.key
133
+ - test_app/config/puma.rb
134
+ - test_app/config/queue.yml
135
+ - test_app/config/recurring.yml
136
+ - test_app/config/routes.rb
137
+ - test_app/config/storage.yml
138
+ - test_app/db/cable_schema.rb
139
+ - test_app/db/cache_schema.rb
140
+ - test_app/db/migrate/20250827075913_create_orders.rb
141
+ - test_app/db/migrate/20250827121258_add_kcp_fields_to_orders.rb
142
+ - test_app/db/queue_schema.rb
143
+ - test_app/db/schema.rb
144
+ - test_app/db/seeds.rb
145
+ - test_app/lib/tasks/.keep
146
+ - test_app/log/.keep
147
+ - test_app/public/.well-known/appspecific/com.chrome.devtools.json
148
+ - test_app/public/400.html
149
+ - test_app/public/404.html
150
+ - test_app/public/406-unsupported-browser.html
151
+ - test_app/public/422.html
152
+ - test_app/public/500.html
153
+ - test_app/public/icon.png
154
+ - test_app/public/icon.svg
155
+ - test_app/public/robots.txt
156
+ - test_app/script/.keep
157
+ - test_app/tmp/.keep
158
+ - test_app/tmp/restart.txt
159
+ - test_app/vendor/.keep
160
+ - test_app/vendor/javascript/.keep
161
+ homepage: https://github.com/luciuschoi/kcppayments_rails
162
+ licenses: []
163
+ metadata:
164
+ homepage_uri: https://github.com/luciuschoi/kcppayments_rails
165
+ source_code_uri: https://github.com/luciuschoi/kcppayments_rails
166
+ changelog_uri: https://github.com/luciuschoi/kcppayments_rails/blob/main/CHANGELOG.md
167
+ rdoc_options: []
168
+ require_paths:
169
+ - lib
170
+ required_ruby_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: 3.2.0
175
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ requirements: []
181
+ rubygems_version: 3.7.1
182
+ specification_version: 4
183
+ summary: KCP 표준결제 Rails 연동용 엔진과 Stimulus 래퍼
184
+ test_files: []