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 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