unionpay 0.0.8 → 0.0.9
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.
- checksums.yaml +4 -4
- data/README.md +7 -3
- data/lib/unionpay/service.rb +14 -16
- data/lib/unionpay/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df2d18acfc2e13f461bd3d7ea44fb0bcf2429e67
|
4
|
+
data.tar.gz: b80b7bd44e0a8f6cea9cdeb7f101af7bb9fc9a90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82912856aaa83fbe7586af2b3d393e88fad6156d7545d56d8663e13fb4af6e58c01b2e4ccc849a317d292d5cb7540b5dc5cbada3a56332de0d77f609e7b51202
|
7
|
+
data.tar.gz: db4f6481228929d18b56d1cec9e33c643f1e7644d90a39842dca020211531ffa8e585e4342066b3de672b74b2396b8758d9260b007b112a46a289dd69617ec7d
|
data/README.md
CHANGED
@@ -63,10 +63,10 @@ end
|
|
63
63
|
### Generate back payment post params
|
64
64
|
|
65
65
|
```ruby
|
66
|
+
param = {}
|
66
67
|
# 交易类型 退货=REFUND 或 消费撤销=CONSUME_VOID, 如果原始交易是PRE_AUTH,那么后台接口也支持对应的
|
67
68
|
# PRE_AUTH_VOID(预授权撤销), PRE_AUTH_COMPLETE(预授权完成), PRE_AUTH_VOID_COMPLETE(预授权完成撤销)
|
68
|
-
param
|
69
|
-
param['transType'] = UnionPay::REFUND
|
69
|
+
# param['transType'] = UnionPay::REFUND
|
70
70
|
param['origQid'] = '201110281442120195882' #原交易返回的qid, 从数据库中获取
|
71
71
|
param['orderAmount'] = 11000 #交易金额
|
72
72
|
param['orderNumber'] = '20131220151706' #订单号,必须唯一(不能与原交易相同)
|
@@ -76,7 +76,11 @@ param['backEndUrl'] = "http://www.example.com/sdk/utf8/back_notify.php"
|
|
76
76
|
|
77
77
|
service = UnionPay::Service.back_pay(param)
|
78
78
|
service.args ## get args
|
79
|
-
service.post ## do post
|
79
|
+
res = service.post ## do post
|
80
|
+
responce = UnionPay::Service.responce res.body_str
|
81
|
+
if responce['respCode'] != UnionPay::RESP_SUCCESS
|
82
|
+
raise("Error #{responce['respCode']}: #{responce['respMsg']}:")
|
83
|
+
end
|
80
84
|
```
|
81
85
|
|
82
86
|
### Query
|
data/lib/unionpay/service.rb
CHANGED
@@ -4,13 +4,13 @@ require 'digest'
|
|
4
4
|
require 'rack'
|
5
5
|
require 'curb'
|
6
6
|
module UnionPay
|
7
|
-
RESP_SUCCESS =
|
8
|
-
QUERY_SUCCESS =
|
9
|
-
QUERY_FAIL =
|
10
|
-
QUERY_WAIT =
|
11
|
-
QUERY_INVALID =
|
7
|
+
RESP_SUCCESS = '00' #返回成功
|
8
|
+
QUERY_SUCCESS = '0' #查询成功
|
9
|
+
QUERY_FAIL = '1'
|
10
|
+
QUERY_WAIT = '2'
|
11
|
+
QUERY_INVALID = '3'
|
12
12
|
class Service
|
13
|
-
attr_accessor :args
|
13
|
+
attr_accessor :args, :api_url
|
14
14
|
|
15
15
|
def self.front_pay(param)
|
16
16
|
new.instance_eval do
|
@@ -53,13 +53,11 @@ module UnionPay
|
|
53
53
|
def self.responce(param)
|
54
54
|
new.instance_eval do
|
55
55
|
if param.is_a? String
|
56
|
-
pattern = /cupReserved=(\{.*?\})/
|
57
|
-
cup_reserved = pattern.match(param)
|
58
|
-
|
59
|
-
cup_reserved = cup_reserved[1]
|
60
|
-
param.sub! pattern, 'cupReserved='
|
61
|
-
end
|
56
|
+
pattern = /(?<=cupReserved=)(\{.*?\})/
|
57
|
+
cup_reserved = pattern.match(param).to_s
|
58
|
+
param.sub! pattern, ''
|
62
59
|
param = Rack::Utils.parse_nested_query param
|
60
|
+
param['cupReserved'] = cup_reserved
|
63
61
|
end
|
64
62
|
cup_reserved ||= (param['cupReserved'] ||= '')
|
65
63
|
arr_reserved = Rack::Utils.parse_nested_query cup_reserved[1..-2]
|
@@ -108,12 +106,12 @@ module UnionPay
|
|
108
106
|
Digest::MD5.hexdigest(sign_str + Digest::MD5.hexdigest(UnionPay.security_key))
|
109
107
|
end
|
110
108
|
|
111
|
-
def form
|
112
|
-
attrs = options.map{|k,v| "#{k}='#{v}'"}.join(' ')
|
109
|
+
def form(options={})
|
110
|
+
attrs = options.map { |k, v| "#{k}='#{v}'" }.join(' ')
|
113
111
|
html = [
|
114
112
|
"<form #{attrs} action='#{@api_url}' method='post'>"
|
115
113
|
]
|
116
|
-
args.each do |k,v|
|
114
|
+
args.each do |k, v|
|
117
115
|
html << "<input type='hidden' name='#{k}' value='#{v}' />"
|
118
116
|
end
|
119
117
|
if block_given?
|
@@ -127,7 +125,7 @@ module UnionPay
|
|
127
125
|
Curl.post @api_url, self.args
|
128
126
|
end
|
129
127
|
|
130
|
-
def []
|
128
|
+
def [](key)
|
131
129
|
self.args[key]
|
132
130
|
end
|
133
131
|
|
data/lib/unionpay/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module UnionPay
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
2
|
+
VERSION = "0.0.9"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unionpay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curb
|
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
91
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.
|
92
|
+
rubygems_version: 2.2.2
|
93
93
|
signing_key:
|
94
94
|
specification_version: 4
|
95
95
|
summary: An unofficial unionpay gem
|