unionpay 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2201e9cc21e0208b8f6ce5b33d01296f886a62cf
4
- data.tar.gz: fbb15cbac71e62c000493939ffd57199b89ddf54
3
+ metadata.gz: df2d18acfc2e13f461bd3d7ea44fb0bcf2429e67
4
+ data.tar.gz: b80b7bd44e0a8f6cea9cdeb7f101af7bb9fc9a90
5
5
  SHA512:
6
- metadata.gz: 5e52ab3b4bc5aae5f7e284591ee52a24f2cbc3a5146b4a4bb971e7fffef7ec5e4976b9784be2e7bb2edf3663ec3957e6be36813453374a9702f513f9a0aab572
7
- data.tar.gz: 75421cdb09e0174d6538b943d2b60b2243d8c8a0894c261c564d0db96b3f43f2c542ab248240a4c17c09e2726027fc46fc7cb982c3475f21ca4e32261c37ac89
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
@@ -4,13 +4,13 @@ require 'digest'
4
4
  require 'rack'
5
5
  require 'curb'
6
6
  module UnionPay
7
- RESP_SUCCESS = "00" #返回成功
8
- QUERY_SUCCESS = "0" #查询成功
9
- QUERY_FAIL = "1"
10
- QUERY_WAIT = "2"
11
- QUERY_INVALID = "3"
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
- if cup_reserved
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 options={}
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 [] key
128
+ def [](key)
131
129
  self.args[key]
132
130
  end
133
131
 
@@ -1,3 +1,3 @@
1
1
  module UnionPay
2
- VERSION = "0.0.8"
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.8
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: 2013-12-31 00:00:00.000000000 Z
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.0.3
92
+ rubygems_version: 2.2.2
93
93
  signing_key:
94
94
  specification_version: 4
95
95
  summary: An unofficial unionpay gem