jyt_pay 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 (61) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +49 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +72 -0
  9. data/Rakefile +16 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/doc/JytPay/Api/AuthCard.html +375 -0
  13. data/doc/JytPay/Api/QueryBalance.html +299 -0
  14. data/doc/JytPay/Api/QueryOrder.html +372 -0
  15. data/doc/JytPay/Api/QuickDraw.html +433 -0
  16. data/doc/JytPay/Api/QuickPay.html +435 -0
  17. data/doc/JytPay/Api.html +117 -0
  18. data/doc/JytPay/Client.html +323 -0
  19. data/doc/JytPay/Encrypt/Des.html +258 -0
  20. data/doc/JytPay/Encrypt/Rsa.html +232 -0
  21. data/doc/JytPay/Encrypt.html +127 -0
  22. data/doc/JytPay/Http/RetCode.html +391 -0
  23. data/doc/JytPay/Http.html +242 -0
  24. data/doc/JytPay/Sign/Rsa.html +178 -0
  25. data/doc/JytPay/Sign.html +115 -0
  26. data/doc/JytPay/Utils.html +358 -0
  27. data/doc/JytPay/Xml/MyPrecious.html +220 -0
  28. data/doc/JytPay/Xml.html +210 -0
  29. data/doc/JytPay.html +140 -0
  30. data/doc/_index.html +317 -0
  31. data/doc/class_list.html +51 -0
  32. data/doc/css/common.css +1 -0
  33. data/doc/css/full_list.css +58 -0
  34. data/doc/css/style.css +492 -0
  35. data/doc/file.README.html +150 -0
  36. data/doc/file_list.html +56 -0
  37. data/doc/frames.html +17 -0
  38. data/doc/index.html +150 -0
  39. data/doc/js/app.js +248 -0
  40. data/doc/js/full_list.js +216 -0
  41. data/doc/js/jquery.js +4 -0
  42. data/doc/method_list.html +203 -0
  43. data/doc/top-level-namespace.html +110 -0
  44. data/jyt_pay.gemspec +34 -0
  45. data/lib/jyt_pay/api/auth_card.rb +60 -0
  46. data/lib/jyt_pay/api/query_balance.rb +50 -0
  47. data/lib/jyt_pay/api/query_order.rb +71 -0
  48. data/lib/jyt_pay/api/quick_draw.rb +75 -0
  49. data/lib/jyt_pay/api/quick_pay.rb +76 -0
  50. data/lib/jyt_pay/client.rb +37 -0
  51. data/lib/jyt_pay/encrypt/des.rb +30 -0
  52. data/lib/jyt_pay/encrypt/encrypt.rb +7 -0
  53. data/lib/jyt_pay/encrypt/rsa.rb +20 -0
  54. data/lib/jyt_pay/http/communicate.rb +77 -0
  55. data/lib/jyt_pay/http/ret_code.rb +60 -0
  56. data/lib/jyt_pay/sign/rsa.rb +14 -0
  57. data/lib/jyt_pay/utils.rb +42 -0
  58. data/lib/jyt_pay/version.rb +3 -0
  59. data/lib/jyt_pay/xml/xml.rb +74 -0
  60. data/lib/jyt_pay.rb +32 -0
  61. metadata +166 -0
@@ -0,0 +1,74 @@
1
+ # coding: utf-8
2
+ module JytPay
3
+ module Xml
4
+
5
+ def self.generate(merchant_id, trans_code, param_hash, flow_id)
6
+ prefix = %q[<?xml version="1.0" encoding="UTF-8"?>]
7
+ doc = ::REXML::Document.new "<message />"
8
+ header = gen_header(merchant_id, trans_code, flow_id)
9
+ body = gen_body(param_hash)
10
+ doc.root.add(header)
11
+ doc.root.add(body)
12
+
13
+ r = ""
14
+ printer = MyPrecious.new(5)
15
+ printer.width = 1000
16
+ printer.compact = true
17
+ printer.write(doc, r)
18
+
19
+ "#{prefix}\n#{r}"
20
+ end
21
+
22
+ private
23
+
24
+ #fix bug in REXML::Formatters::Pretty
25
+ class MyPrecious < REXML::Formatters::Pretty
26
+ def write_text( node, output )
27
+ s = node.to_s()
28
+ s.gsub!(/\s/,' ')
29
+ s.squeeze!(" ")
30
+
31
+ #The Pretty formatter code mistakenly used 80 instead of the @width variable
32
+ s = wrap(s, @width-@level)
33
+
34
+ s = indent_text(s, @level, " ", true)
35
+ output << (' '*@level + s)
36
+ end
37
+ end
38
+
39
+ def self.gen_header(merchant_id, tran_code_arg, flow_id)
40
+ now = Time.now
41
+ ha = {
42
+ version: "1.0.0",
43
+ tran_type: "01", #自己发的永远是01
44
+ merchant_id: merchant_id,
45
+ tran_date: now.strftime("%Y%m%d"),
46
+ tran_time: now.strftime("%H%M%S"),
47
+ tran_flowid: flow_id,
48
+ tran_code: tran_code_arg
49
+ }
50
+
51
+ doc = ::REXML::Document.new "<head />"
52
+ ha.each { |key,val|
53
+ el = ::REXML::Element.new key.to_s
54
+ el.text = val
55
+ doc.root.add_element el
56
+ }
57
+
58
+ doc
59
+ end # def gen_header
60
+
61
+ def self.gen_body(body_hash)
62
+ doc = ::REXML::Document.new "<body />"
63
+
64
+ body_hash.each { |key,val|
65
+ el = ::REXML::Element.new key.to_s
66
+ el.text = val
67
+ doc.root.add_element el
68
+ }
69
+
70
+ doc
71
+ end # def gen_body
72
+
73
+ end
74
+ end
data/lib/jyt_pay.rb ADDED
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ require "uri"
3
+ require "net/http"
4
+ require "json"
5
+ require "openssl"
6
+ require "base64"
7
+ require 'rexml/document'
8
+ require 'macaddr'
9
+
10
+ require "jyt_pay/version"
11
+ require "jyt_pay/utils"
12
+ # 加密验签
13
+ require "jyt_pay/xml/xml"
14
+ require "jyt_pay/sign/rsa"
15
+ require "jyt_pay/encrypt/encrypt"
16
+ require "jyt_pay/encrypt/rsa"
17
+ require "jyt_pay/encrypt/des"
18
+ # 通信
19
+ require "jyt_pay/http/ret_code"
20
+ require "jyt_pay/http/communicate"
21
+ # 代付代扣的 api
22
+ require "jyt_pay/api/quick_pay"
23
+ require "jyt_pay/api/quick_draw"
24
+ require "jyt_pay/api/query_order"
25
+ # 通用 api
26
+ require "jyt_pay/api/query_balance"
27
+ require "jyt_pay/api/auth_card"
28
+
29
+ require "jyt_pay/client"
30
+
31
+ module JytPay
32
+ end
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jyt_pay
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - tony
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-11-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: macaddr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.7.1
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.7'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.7.1
75
+ description: '"金运通支付SDK"'
76
+ email:
77
+ - tony@omniaccount.com
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files: []
81
+ files:
82
+ - ".gitignore"
83
+ - ".rspec"
84
+ - ".travis.yml"
85
+ - CODE_OF_CONDUCT.md
86
+ - Gemfile
87
+ - LICENSE.txt
88
+ - README.md
89
+ - Rakefile
90
+ - bin/console
91
+ - bin/setup
92
+ - doc/JytPay.html
93
+ - doc/JytPay/Api.html
94
+ - doc/JytPay/Api/AuthCard.html
95
+ - doc/JytPay/Api/QueryBalance.html
96
+ - doc/JytPay/Api/QueryOrder.html
97
+ - doc/JytPay/Api/QuickDraw.html
98
+ - doc/JytPay/Api/QuickPay.html
99
+ - doc/JytPay/Client.html
100
+ - doc/JytPay/Encrypt.html
101
+ - doc/JytPay/Encrypt/Des.html
102
+ - doc/JytPay/Encrypt/Rsa.html
103
+ - doc/JytPay/Http.html
104
+ - doc/JytPay/Http/RetCode.html
105
+ - doc/JytPay/Sign.html
106
+ - doc/JytPay/Sign/Rsa.html
107
+ - doc/JytPay/Utils.html
108
+ - doc/JytPay/Xml.html
109
+ - doc/JytPay/Xml/MyPrecious.html
110
+ - doc/_index.html
111
+ - doc/class_list.html
112
+ - doc/css/common.css
113
+ - doc/css/full_list.css
114
+ - doc/css/style.css
115
+ - doc/file.README.html
116
+ - doc/file_list.html
117
+ - doc/frames.html
118
+ - doc/index.html
119
+ - doc/js/app.js
120
+ - doc/js/full_list.js
121
+ - doc/js/jquery.js
122
+ - doc/method_list.html
123
+ - doc/top-level-namespace.html
124
+ - jyt_pay.gemspec
125
+ - lib/jyt_pay.rb
126
+ - lib/jyt_pay/api/auth_card.rb
127
+ - lib/jyt_pay/api/query_balance.rb
128
+ - lib/jyt_pay/api/query_order.rb
129
+ - lib/jyt_pay/api/quick_draw.rb
130
+ - lib/jyt_pay/api/quick_pay.rb
131
+ - lib/jyt_pay/client.rb
132
+ - lib/jyt_pay/encrypt/des.rb
133
+ - lib/jyt_pay/encrypt/encrypt.rb
134
+ - lib/jyt_pay/encrypt/rsa.rb
135
+ - lib/jyt_pay/http/communicate.rb
136
+ - lib/jyt_pay/http/ret_code.rb
137
+ - lib/jyt_pay/sign/rsa.rb
138
+ - lib/jyt_pay/utils.rb
139
+ - lib/jyt_pay/version.rb
140
+ - lib/jyt_pay/xml/xml.rb
141
+ homepage: https://github.com/omniaccountcorp/jyt_pay
142
+ licenses:
143
+ - MIT
144
+ metadata:
145
+ allowed_push_host: https://rubygems.org
146
+ post_install_message:
147
+ rdoc_options: []
148
+ require_paths:
149
+ - lib
150
+ required_ruby_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ requirements: []
161
+ rubyforge_project:
162
+ rubygems_version: 2.6.14
163
+ signing_key:
164
+ specification_version: 4
165
+ summary: '"金运通支付"'
166
+ test_files: []