bitpay-sdk 2.4.0 → 2.4.1

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: 934b96a7f24134990a0cfed00c6e3b50502c3823
4
- data.tar.gz: 68a05391e925b79b565f7cc2400ce7a101bc5ebf
3
+ metadata.gz: 6a0b02cec388fe32a5afd21b0a9ad92340818107
4
+ data.tar.gz: d539b63ee8a0dca065562a5a5ebb6f539fb8d240
5
5
  SHA512:
6
- metadata.gz: b9c62e5a6a700b1c73c928f27c5cff0436ddb33bffd2292e18248046b89ce9c54b65918b151a3f9a32559e42c239da02c20fc326d350f1369cedad6748cc9089
7
- data.tar.gz: 56ab8bfb2b86bd9e15a5f7165a0e58b98eb92ac987868e9789d6167a19f15645f99157680fe17c313dcf692f21dcd94779507881710198f3738e05a298222698
6
+ metadata.gz: 4fd3cb6688d3ba5387fccdf67c0cd9f044e7e5fd8978147d3d024831f2dc657ae751afd961418bc3cbfa35992438281bbc624e961bb88b5455cb72e8f55f9769
7
+ data.tar.gz: ad97799266a00b43413ccb956296ce27121a55201e7d8d7fdff1a4d3bb5295c35898ca56a65145c143f329820df1a3e180f25ad414e3e821a421248feb74a753
@@ -0,0 +1,12 @@
1
+ # Change Log
2
+ All notable changes to this project will be documented in this file.
3
+ This project adheres to [Semantic Versioning](http://semver.org/).
4
+
5
+ ## [2.4.1] - 2015-03-11
6
+ ### Fixed
7
+ - GitHub issue 40: error for endpoints that did not return a 'data' field
8
+
9
+ ## [2.4.0] - 2015-03-05
10
+ ### Changed
11
+ - Add feature: Accept refunds
12
+ - Fix Bug: Accept bitcoin payments like 0.003
Binary file
@@ -1,4 +1,5 @@
1
1
  Given(/^the user creates a refund$/) do
2
+ sleep(1)
2
3
  client = new_client_from_stored_values
3
4
  @response = client.refund_invoice(id: REFUND_TRANSACTION, params: {amount: 1, currency: 'USD', bitcoinAddress: REFUND_ADDRESS})
4
5
  end
@@ -47,7 +47,8 @@ module BitPay
47
47
  # => Pass {pairingCode: 'WfD01d2'} to claim a server-initiated pairing code
48
48
  #
49
49
  def pair_client(params={})
50
- post(path: 'tokens', params: params)
50
+ tokens = post(path: 'tokens', params: params)
51
+ return tokens["data"]
51
52
  end
52
53
 
53
54
  ## Compatibility method for pos pairing
@@ -69,7 +70,8 @@ module BitPay
69
70
  raise BitPay::ArgumentError, "Illegal Argument: Currency is invalid." unless /^[[:upper:]]{3}$/.match(currency)
70
71
  params.merge!({price: price, currency: currency})
71
72
  token = get_token(facade)
72
- post(path: "invoices", token: token, params: params)
73
+ invoice = post(path: "invoices", token: token, params: params)
74
+ invoice["data"]
73
75
  end
74
76
 
75
77
  ## Gets the privileged merchant-version of the invoice
@@ -77,13 +79,15 @@ module BitPay
77
79
  #
78
80
  def get_invoice(id:)
79
81
  token = get_token('merchant')
80
- get(path: "invoices/#{id}", token: token)
82
+ invoice = get(path: "invoices/#{id}", token: token)
83
+ invoice["data"]
81
84
  end
82
85
 
83
86
  ## Gets the public version of the invoice
84
87
  #
85
88
  def get_public_invoice(id:)
86
- get(path: "invoices/#{id}", public: true)
89
+ invoice = get(path: "invoices/#{id}", public: true)
90
+ invoice["data"]
87
91
  end
88
92
 
89
93
 
@@ -102,7 +106,8 @@ module BitPay
102
106
  #
103
107
  def refund_invoice(id:, params:{})
104
108
  invoice = get_invoice(id: id)
105
- post(path: "invoices/#{id}/refunds", token: invoice["token"], params: params)
109
+ refund = post(path: "invoices/#{id}/refunds", token: invoice["token"], params: params)
110
+ refund["data"]
106
111
  end
107
112
 
108
113
  ## Get All Refunds for Invoice
@@ -116,7 +121,8 @@ module BitPay
116
121
  def get_all_refunds_for_invoice(id:)
117
122
  urlpath = "invoices/#{id}/refunds"
118
123
  invoice = get_invoice(id: id)
119
- get(path: urlpath, token: invoice["token"])
124
+ refunds = get(path: urlpath, token: invoice["token"])
125
+ refunds["data"]
120
126
  end
121
127
 
122
128
  ## Get Refund
@@ -128,7 +134,8 @@ module BitPay
128
134
  def get_refund(invoice_id:, request_id:)
129
135
  urlpath = "invoices/#{invoice_id}/refunds/#{request_id}"
130
136
  invoice = get_invoice(id: invoice_id)
131
- get(path: urlpath, token: invoice["token"])
137
+ refund = get(path: urlpath, token: invoice["token"])
138
+ refund["data"]
132
139
  end
133
140
 
134
141
  ## Cancel Refund
@@ -140,7 +147,8 @@ module BitPay
140
147
  def cancel_refund(invoice_id:, request_id:)
141
148
  urlpath = "invoices/#{invoice_id}/refunds/#{request_id}"
142
149
  refund = get_refund(invoice_id: invoice_id, request_id: request_id)
143
- delete(path: urlpath, token: refund["token"])
150
+ deletion = delete(path: urlpath, token: refund["token"])
151
+ deletion["data"]
144
152
  end
145
153
 
146
154
  ## Checks that the passed tokens are valid by
@@ -67,7 +67,7 @@ module BitPay
67
67
  end
68
68
 
69
69
  if response.kind_of? Net::HTTPSuccess
70
- return JSON.parse(response.body)["data"]
70
+ return JSON.parse(response.body)
71
71
  elsif JSON.parse(response.body)["error"]
72
72
  raise(BitPayError, "#{response.code}: #{JSON.parse(response.body)['error']}")
73
73
  else
@@ -80,7 +80,7 @@ module BitPay
80
80
  # updates @tokens
81
81
  #
82
82
  def refresh_tokens
83
- response = get(path: 'tokens')
83
+ response = get(path: 'tokens')["data"]
84
84
  token_array = response || {}
85
85
  tokens = {}
86
86
  token_array.each do |t|
@@ -3,5 +3,5 @@
3
3
  # or https://github.com/bitpay/php-bitpay-client/blob/master/LICENSE
4
4
 
5
5
  module BitPay
6
- VERSION = '2.4.0'
6
+ VERSION = '2.4.1'
7
7
  end
@@ -25,6 +25,12 @@ describe BitPay::SDK::Client do
25
25
  to_return(:body => get_fixture('invoices_{id}_refunds-GET.json'))
26
26
  stub_request(:post, "#{BitPay::TEST_API_URI}/invoices/TEST_INVOICE_ID/refunds").
27
27
  to_return(:body => get_fixture('invoices_{id}_refunds-POST.json'))
28
+ stub_request(:post, "#{BitPay::TEST_API_URI}/nuttin").
29
+ to_return(:body => get_fixture('response-nodata.json'))
30
+ stub_request(:get, "#{BitPay::TEST_API_URI}/nuttin").
31
+ to_return(:body => get_fixture('response-nodata.json'))
32
+ stub_request(:delete, "#{BitPay::TEST_API_URI}/nuttin").
33
+ to_return(:body => get_fixture('response-nodata.json'))
28
34
  end
29
35
 
30
36
  describe "#initialize" do
@@ -36,6 +42,14 @@ describe BitPay::SDK::Client do
36
42
 
37
43
  end
38
44
 
45
+ describe "requests to endpoint without data field" do
46
+ it "should return the json body" do
47
+ expect(bitpay_client.post(path: "nuttin", params: {})["facile"]).to eq("is easy")
48
+ expect(bitpay_client.get(path: "nuttin")["facile"]).to eq("is easy")
49
+ expect(bitpay_client.delete(path: "nuttin")["facile"]).to eq( "is easy")
50
+ end
51
+ end
52
+
39
53
  describe "#send_request" do
40
54
  before do
41
55
  stub_const('ENV', {'BITPAY_PEM' => PEM})
@@ -0,0 +1,10 @@
1
+ {
2
+ "facile": "is easy",
3
+ "diti": [
4
+ {
5
+ "requestDate": "2015-01-27T00:36:12.360Z",
6
+ "status": "pending"
7
+ }
8
+ ]
9
+ }
10
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitpay-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bitpay, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-05 00:00:00.000000000 Z
11
+ date: 2015-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -215,11 +215,13 @@ extra_rdoc_files: []
215
215
  files:
216
216
  - ".gitignore"
217
217
  - ".travis.yml"
218
+ - CHANGELOG.md
218
219
  - GUIDE.md
219
220
  - Gemfile
220
221
  - LICENSE.md
221
222
  - README.md
222
223
  - Rakefile
224
+ - bitpay-sdk-2.4.0.gem
223
225
  - bitpay-sdk.gemspec
224
226
  - config/capybara.rb
225
227
  - config/constants.rb
@@ -243,6 +245,7 @@ files:
243
245
  - spec/fixtures/invoices_{id}_refunds-GET.json
244
246
  - spec/fixtures/invoices_{id}_refunds-POST.json
245
247
  - spec/fixtures/invoices_{id}_refunds_{refund_id}-GET.json
248
+ - spec/fixtures/response-nodata.json
246
249
  - spec/key_utils_spec.rb
247
250
  - spec/set_constants.sh
248
251
  - spec/spec_helper.rb