pin_up 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/Gemfile +17 -0
  4. data/Gemfile.lock +99 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.md +19 -0
  7. data/Rakefile +48 -0
  8. data/VERSION +1 -0
  9. data/lib/pin_up.rb +8 -0
  10. data/lib/pin_up/base.rb +54 -0
  11. data/lib/pin_up/card.rb +8 -0
  12. data/lib/pin_up/charge.rb +23 -0
  13. data/lib/pin_up/customer.rb +30 -0
  14. data/lib/pin_up/refund.rb +13 -0
  15. data/pin_up.gemspec +109 -0
  16. data/spec/base_spec.rb +30 -0
  17. data/spec/cards_spec.rb +12 -0
  18. data/spec/charges_spec.rb +28 -0
  19. data/spec/customers_spec.rb +36 -0
  20. data/spec/refund_spec.rb +25 -0
  21. data/spec/spec_helper.rb +29 -0
  22. data/spec/vcr/Base/should_list_succesfully_connect_to_Pin.yml +73 -0
  23. data/spec/vcr/Card/should_create_a_card_and_respond_with_the_card_detail_from_pin.yml +53 -0
  24. data/spec/vcr/Charge/should_create_a_charge_given_details.yml +52 -0
  25. data/spec/vcr/Charge/should_list_charges_in_Pin.yml +96 -0
  26. data/spec/vcr/Charge/should_not_show_a_charge_if_end_date_is_out_of_range.yml +50 -0
  27. data/spec/vcr/Charge/should_show_a_charge_given_a_search_term.yml +58 -0
  28. data/spec/vcr/Charge/should_show_a_charge_given_a_token.yml +53 -0
  29. data/spec/vcr/Customer/should_create_a_customer_given_a_card_token_customer_email.yml +101 -0
  30. data/spec/vcr/Customer/should_create_a_customer_given_an_email_and_card_details.yml +51 -0
  31. data/spec/vcr/Customer/should_list_charges_to_a_customer_given_a_token.yml +53 -0
  32. data/spec/vcr/Customer/should_list_customers.yml +65 -0
  33. data/spec/vcr/Customer/should_raise_an_error_if_an_attribute_is_missing_in_the_card_hash.yml +50 -0
  34. data/spec/vcr/Customer/should_show_a_customer_given_a_token.yml +51 -0
  35. data/spec/vcr/Customer/should_update_a_customer_given_a_token_and_details_to_update.yml +51 -0
  36. data/spec/vcr/Refund/should_create_a_refund_for_a_given_amount_and_charge.yml +50 -0
  37. data/spec/vcr/Refund/should_create_a_refund_for_the_entire_amount_of_a_charge_if_no_amount_given.yml +50 -0
  38. data/spec/vcr/Refund/should_list_all_refunds_made_to_a_charge_given_a_token.yml +50 -0
  39. data/spec/vcr/Refund/should_return_nothing_if_looking_for_a_charge_without_a_refund.yml +50 -0
  40. data/test/helper.rb +18 -0
  41. data/test/test_pin-payments.rb +7 -0
  42. metadata +239 -0
data/spec/base_spec.rb ADDED
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Base", :vcr, class: Pin::Base do
4
+ before(:each) do
5
+ @test_pin = Pin::Base.new(key: "W_VrFld7oc9BnC4pOdQxmw", env: :test)
6
+ end
7
+
8
+ it "should set key correctly" do
9
+ @pin = Pin::Base.new(key: "KEY", env: :live)
10
+ expect(@pin.key).to eq "KEY"
11
+ end
12
+
13
+ it "should set environment to live if no env set" do
14
+ @pin = Pin::Base.new(key: "KEY", env: :live)
15
+ expect(@pin.uri).to eq "https://api.pin.net.au/1/"
16
+ end
17
+
18
+ it "should set environment to test when set" do
19
+ expect(@test_pin.uri).to eq "https://test-api.pin.net.au/1/"
20
+ end
21
+
22
+ it "should raise an error if anything other than '' :live or :test is passed to a new instance" do
23
+ expect{Pin::Base.new(key: "KEY", env: :foo)}.to raise_error(RuntimeError, "'env' option must be :live or :test. Leave blank for live payments")
24
+ end
25
+
26
+ it "should list succesfully connect to Pin" do
27
+ stub_request(:get, "https://#{@test_pin.key}:''@test-api.pin.net.au/1/customers")
28
+ expect(Pin::Base.auth_get('customers').code).to eq 200
29
+ end
30
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Card", :vcr, class: Pin::Card do
4
+ before(:each) do
5
+ Pin::Base.new(key: "W_VrFld7oc9BnC4pOdQxmw", env: :test)
6
+ end
7
+
8
+ it "should create a card and respond with the card detail from pin" do
9
+ options = {number: "5520000000000000", expiry_month: "12", expiry_year: "2018", cvc: "123", name: "Roland Robot", address_line1: "123 Fake Road", address_line2: "", address_city: "Melbourne", address_postcode: "1223", address_state: "Vic", address_country: "AU"}
10
+ Pin::Card.create(options)['token'].should match(/^[a-z]{4}[_]/)
11
+ end
12
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Charge", :vcr, class: Pin::Charges do
4
+ before(:each) do
5
+ Pin::Base.new(key: "W_VrFld7oc9BnC4pOdQxmw", env: :test)
6
+ end
7
+
8
+ it "should list charges in Pin" do
9
+ Pin::Charges.all.should_not == []
10
+ end
11
+
12
+ it "should show a charge given a token" do
13
+ Pin::Charges.find("ch_0kdOMXP7gG0_W_Vh8qAWdA")["token"].should == "ch_0kdOMXP7gG0_W_Vh8qAWdA"
14
+ end
15
+
16
+ it "should show a charge given a search term" do
17
+ Pin::Charges.search({query: "mid Plan - My Focusbook", end_date: "Mar 25, 2013"}).should_not == []
18
+ end
19
+
20
+ it "should not show a charge if end_date is out of range" do
21
+ Pin::Charges.search({end_date: "Mar 25, 2011"}).should == []
22
+ end
23
+
24
+ it "should create a charge given details" do
25
+ options = {email: "dNitza@gmail.com", description: "A new charge from testing Pin gem", amount: "400", currency: "AUD", ip_address: "127.0.0.1", customer_token: "cus_sRtAD2Am-goZoLg1K-HVpA" }
26
+ Pin::Charges.create(options)["success"].should eq true
27
+ end
28
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+
4
+ describe "Customer", :vcr, class: Pin::Customer do
5
+ before(:each) do
6
+ Pin::Base.new(key: "W_VrFld7oc9BnC4pOdQxmw", env: :test)
7
+ end
8
+
9
+ it "should list customers" do
10
+ Pin::Customer.all.should_not == nil
11
+ end
12
+
13
+ it "should show a customer given a token" do
14
+ Pin::Customer.find('cus_8ImkZdEZ6BXUA6NcJDZg_g')['token'].should == "cus_8ImkZdEZ6BXUA6NcJDZg_g"
15
+ end
16
+
17
+ it "should list charges to a customer given a token" do
18
+ Pin::Customer.charges('cus_8ImkZdEZ6BXUA6NcJDZg_g')[0]['token'].should == "ch_0kdOMXP7gG0_W_Vh8qAWdA"
19
+ end
20
+
21
+ it "should create a customer given an email and card details" do
22
+ Pin::Customer.create('dNitza@gmail.com', {number: '5520000000000000', expiry_month: "12", expiry_year: "2014", cvc: "123", name: 'Roland Robot', address_line1: '123 fake street', address_city: 'Melbourne', address_postcode: '1234', address_state: 'Vic', address_country: 'Australia'})["token"].should match(/^[a-z]{3}[_]/)
23
+ end
24
+
25
+ it "should update a customer given a token and details to update" do
26
+ options = {email: "dNitza@gmail.com", card: {number: "5520000000000000", address_line1: "12345 Fake Street", expiry_month: "05", expiry_year: "2014", cvc: "123", name: "Daniel Nitsikopoulos", address_city: "Melbourne", address_postcode: "1234", address_state: "VIC", address_country: "Australia"}}
27
+ Pin::Customer.update('cus_sRtAD2Am-goZoLg1K-HVpA', options)['card']['address_line1'].should == "12345 Fake Street"
28
+ end
29
+
30
+ it "should create a customer given a card token customer email" do
31
+ options = {number: "5520000000000000", expiry_month: "12", expiry_year: "2018", cvc: "123", name: "Roland TestRobot", address_line1: "123 Fake Road", address_line2: "", address_city: "Melbourne", address_postcode: "1223", address_state: "Vic", address_country: "AU"}
32
+ @card = Pin::Card.create(options)
33
+ Pin::Customer.create('nitza98@hotmail.com', @card['token'])['token'].should match(/^[a-z]{3}[_]/)
34
+ end
35
+
36
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+
4
+ describe "Refund", :vcr, class: Pin::Refund do
5
+ before(:each) do
6
+ Pin::Base.new(key: "W_VrFld7oc9BnC4pOdQxmw", env: :test)
7
+ end
8
+
9
+ it "should list all refunds made to a charge given a token" do
10
+ Pin::Refund.find('ch_S_3tP81Q9_sDngSv27gShQ')[0]['token'].should == "rf_O4lHrNzwXYmMmTbBq0ZLPw"
11
+ end
12
+
13
+ it "should return nothing if looking for a charge without a refund" do
14
+ Pin::Refund.find('ch_rqPIWDK71YU46M4MAQHQKg').should == []
15
+ end
16
+
17
+ it "should create a refund for a given amount and charge" do
18
+ Pin::Refund.create('ch_NLEbb_xRgtyz58RGQ5zVqg', "400")['amount'].should == 400
19
+ end
20
+
21
+ it "should create a refund for the entire amount of a charge if no amount given" do
22
+ Pin::Refund.create('ch_QG_2Gl5x47WEzTdBIwnluQ')['amount'].should == 7900
23
+ end
24
+
25
+ end
@@ -0,0 +1,29 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
4
+ require 'rubygems'
5
+ require 'bundler/setup'
6
+ require 'webmock/rspec'
7
+ require 'vcr'
8
+
9
+ require "net/https"
10
+ require "uri"
11
+
12
+ #gem
13
+ require 'pin_up'
14
+
15
+ RSpec.configure do |config|
16
+ config.include WebMock::API
17
+ config.treat_symbols_as_metadata_keys_with_true_values = true
18
+ config.around(:each, :vcr) do |example|
19
+ name = example.metadata[:full_description].split(/\s+/, 2).join("/").gsub(/[^\w\/]+/, "_")
20
+ # options = example.metadata.slice(:record, :match_requests_on).except(:example_group)
21
+ VCR.use_cassette(name) { example.call }
22
+ end
23
+ end
24
+
25
+ VCR.configure do |c|
26
+ c.cassette_library_dir = "spec/vcr"
27
+ c.hook_into :webmock
28
+ c.filter_sensitive_data('<key>') {'W_VrFld7oc9BnC4pOdQxmw'}
29
+ end
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://<key>:@test-api.pin.net.au/1/customers
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - test-api.pin.net.au
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - must-revalidate, private, max-age=0
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Date:
28
+ - Thu, 04 Jul 2013 13:29:35 GMT
29
+ Etag:
30
+ - '"72cea1a3c2d86d8ab957c3dcaaf31590"'
31
+ Server:
32
+ - Apache/2.2.20 (Ubuntu)
33
+ Status:
34
+ - '200'
35
+ Strict-Transport-Security:
36
+ - max-age=31536000
37
+ Vary:
38
+ - User-Agent
39
+ X-Powered-By:
40
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
41
+ X-Rack-Cache:
42
+ - miss
43
+ X-Request-Id:
44
+ - 3644fa66a6e245a8be10d552a73ae833
45
+ X-Runtime:
46
+ - '0.060775'
47
+ X-Ua-Compatible:
48
+ - IE=Edge,chrome=1
49
+ Content-Length:
50
+ - '5748'
51
+ Connection:
52
+ - keep-alive
53
+ body:
54
+ encoding: UTF-8
55
+ string: '{"response":[{"token":"cus_8ImkZdEZ6BXUA6NcJDZg_g","email":"hello@myfocusbook.com.au","created_at":"2013-03-23T01:30:29Z","card":{"token":"card_h5nBfXPhwVJH5W0jqwl-pQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
56
+ Lyon Street","address_line2":"","address_city":"Melbourne","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_buA7zNouZ_lG7tXyQqpi4Q","email":"info@stmhad.com.au","created_at":"2013-03-05T10:29:43Z","card":{"token":"card_auzkMFcSm5Mqoho35za3PQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"2
57
+ Rose Avenue, Niddrie","address_line2":"","address_city":"Melbourne","address_postcode":"3042","address_state":"Vic","address_country":"Australia"}},{"token":"cus_DqRr01EL8moYVAvgPz55ew","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T02:30:37Z","card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
58
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_P7WHjLcm8atfortFbi-uzg","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T02:29:03Z","card":{"token":"card_y4tHOrx4WoDZQHszFPzPMw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
59
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_cZt1jcub5ZW37vnviTR0UA","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T02:27:19Z","card":{"token":"card_bs_O-TWNsyQkoA3eTkCAig","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
60
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_HiG9RFdeHavsg7oQ7h81iw","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T02:25:38Z","card":{"token":"card_AaGo12pBXHtrQfMDSWhKSg","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
61
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_qgmRJSXSkySfvGWPjAEkdA","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T02:24:32Z","card":{"token":"card_ayq0_nZ97HSYXxRUsjGkUg","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"742
62
+ Lygon Street","address_line2":"Carlton","address_city":"Melbourne","address_postcode":"3040","address_state":"VIC","address_country":"Australia"}},{"token":"cus_ktilUlHBgXUO0gGqWZMP1g","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T02:23:27Z","card":{"token":"card__3XamhZ7KxhprYWewsOWWQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"742
63
+ Lygon Street","address_line2":"Carlton","address_city":"Melbourne","address_postcode":"3040","address_state":"VIC","address_country":"Australia"}},{"token":"cus_jZhMdkXF47yo3VANOrgxVw","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T01:51:06Z","card":{"token":"card_ctTscnUEiMimhajhVdYYAQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"visa","address_line1":"33
64
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_HT78zSwUfCU35GZbxU15_g","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T01:47:46Z","card":{"token":"card_H9qFOhy6dPSzGT7yNHClQA","display_number":"XXXX-XXXX-XXXX-0000","scheme":"visa","address_line1":"33
65
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_Y79eeUMG483VGfy_hWY3Zg","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T01:40:50Z","card":{"token":"card_3SmNtOHabfzoZ0ugBrACDA","display_number":"XXXX-XXXX-XXXX-0000","scheme":"visa","address_line1":"33
66
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_2HDzaq53ioskYE4egB3LAA","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T01:38:58Z","card":{"token":"card_8pxOVOwJu1nK4E4P0mrrwg","display_number":"XXXX-XXXX-XXXX-0000","scheme":"visa","address_line1":"33
67
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_USyvkNS0BRmVkOpq23ttbg","email":"daniel@myfocusbook.com.au","created_at":"2013-03-03T01:37:20Z","card":{"token":"card_1ylFMTKyqh5Hze6_q-zdFQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"visa","address_line1":"3/3a
68
+ Riddel Pde","address_line2":"","address_city":"Melbourne","address_postcode":"3040","address_state":"VIC","address_country":"Australia"}},{"token":"cus_QWtBr6ucrSLUvHaRkWMSAQ","email":"daniel@myfocusbook.com.au","created_at":"2013-03-02T05:45:35Z","card":{"token":"card_VaeirBlO45hLNYzGE6TSzw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
69
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}},{"token":"cus_Lr9rbEtb8cwqdNXmfc6_Yw","email":"daniel@myfocusbook.com.au","created_at":"2013-03-02T05:24:56Z","card":{"token":"card_AQazDDQFLL5eb_j3_bp0QA","display_number":"XXXX-XXXX-XXXX-0000","scheme":"visa","address_line1":"33
70
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"}}],"count":15,"pagination":{"current":1,"previous":null,"next":null,"per_page":25,"pages":1,"count":15}}'
71
+ http_version:
72
+ recorded_at: Thu, 04 Jul 2013 13:29:38 GMT
73
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<key>:@test-api.pin.net.au/1/cards
6
+ body:
7
+ encoding: UTF-8
8
+ string: number=5520000000000000&expiry_month=12&expiry_year=2018&cvc=123&name=Roland%20Robot&address_line1=123%20Fake%20Road&address_line2=&address_city=Melbourne&address_postcode=1223&address_state=Vic&address_country=AU
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 201
13
+ message: Created
14
+ headers:
15
+ Cache-Control:
16
+ - max-age=0, private, must-revalidate
17
+ Content-Type:
18
+ - application/json; charset=utf-8
19
+ Date:
20
+ - Fri, 05 Jul 2013 20:53:41 GMT
21
+ Etag:
22
+ - '"840a0aa79998a6dbbcb5491caf5d2cfa"'
23
+ Server:
24
+ - Apache/2.2.20 (Ubuntu)
25
+ Status:
26
+ - '201'
27
+ Strict-Transport-Security:
28
+ - max-age=31536000
29
+ Vary:
30
+ - User-Agent
31
+ X-Powered-By:
32
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
33
+ X-Rack-Cache:
34
+ - invalidate, pass
35
+ X-Request-Id:
36
+ - df7580d0aa62d26b2ea1626ca1ff34fd
37
+ X-Requested-From:
38
+ - 77.49.16.4
39
+ X-Runtime:
40
+ - '0.069357'
41
+ X-Ua-Compatible:
42
+ - IE=Edge,chrome=1
43
+ Content-Length:
44
+ - '284'
45
+ Connection:
46
+ - keep-alive
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"response":{"token":"card_7FC2zeR-epqR_PAbZ3VSrw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"123
50
+ Fake Road","address_line2":"","address_city":"Melbourne","address_postcode":"1223","address_state":"Vic","address_country":"AU"},"ip_address":"77.49.16.4"}'
51
+ http_version:
52
+ recorded_at: Fri, 05 Jul 2013 20:53:42 GMT
53
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<key>:@test-api.pin.net.au/1/charges
6
+ body:
7
+ encoding: UTF-8
8
+ string: email=dNitza%40gmail.com&description=A%20new%20charge%20from%20testing%20Pin%20gem&amount=400&currency=AUD&ip_address=127.0.0.1&customer_token=cus_sRtAD2Am-goZoLg1K-HVpA
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 201
13
+ message: Created
14
+ headers:
15
+ Cache-Control:
16
+ - max-age=0, private, must-revalidate
17
+ Content-Type:
18
+ - application/json; charset=utf-8
19
+ Date:
20
+ - Fri, 05 Jul 2013 11:20:16 GMT
21
+ Etag:
22
+ - '"0e8ae756b7c2ebfcf71da356c67a3b68"'
23
+ Server:
24
+ - Apache/2.2.20 (Ubuntu)
25
+ Status:
26
+ - '201'
27
+ Strict-Transport-Security:
28
+ - max-age=31536000
29
+ Vary:
30
+ - User-Agent
31
+ X-Powered-By:
32
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
33
+ X-Rack-Cache:
34
+ - invalidate, pass
35
+ X-Request-Id:
36
+ - d602ce2eda8caa65fe510bbbfdc3e3e6
37
+ X-Runtime:
38
+ - '0.123908'
39
+ X-Ua-Compatible:
40
+ - IE=Edge,chrome=1
41
+ Content-Length:
42
+ - '645'
43
+ Connection:
44
+ - keep-alive
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"response":{"token":"ch_d_eSZ8bozySJ82DY9HzIgA","success":true,"amount":400,"currency":"AUD","description":"A
48
+ new charge from testing Pin gem","email":"dNitza@gmail.com","ip_address":"127.0.0.1","created_at":"2013-07-05T11:20:16Z","status_message":"Success","error_message":null,"card":{"token":"card_FCERyk5G01NXyJOhOFHNJw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"123
49
+ fake street","address_line2":null,"address_city":"Melbourne","address_postcode":"1234","address_state":"Vic","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":42,"merchant_entitlement":358,"refund_pending":false}}'
50
+ http_version:
51
+ recorded_at: Fri, 05 Jul 2013 11:20:19 GMT
52
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://<key>:@test-api.pin.net.au/1/charges
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Cache-Control:
16
+ - must-revalidate, private, max-age=0
17
+ Content-Type:
18
+ - application/json; charset=utf-8
19
+ Date:
20
+ - Thu, 04 Jul 2013 17:52:51 GMT
21
+ Etag:
22
+ - '"ac05fcf4c482fd2dcf90ee98df27440e"'
23
+ Server:
24
+ - Apache/2.2.20 (Ubuntu)
25
+ Status:
26
+ - '200'
27
+ Strict-Transport-Security:
28
+ - max-age=31536000
29
+ Vary:
30
+ - User-Agent
31
+ X-Powered-By:
32
+ - Phusion Passenger (mod_rails/mod_rack) 3.0.11
33
+ X-Rack-Cache:
34
+ - miss
35
+ X-Request-Id:
36
+ - 6f00a51b40df1194a8cf1b999a603c96
37
+ X-Runtime:
38
+ - '0.439797'
39
+ X-Ua-Compatible:
40
+ - IE=Edge,chrome=1
41
+ Content-Length:
42
+ - '13035'
43
+ Connection:
44
+ - keep-alive
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"response":[{"token":"ch_0kdOMXP7gG0_W_Vh8qAWdA","success":true,"amount":190000,"currency":"AUD","description":"mid
48
+ Plan - My Focusbook","email":"hello@myfocusbook.com.au","ip_address":"24.84.102.169","created_at":"2013-03-23T01:30:30Z","status_message":"An
49
+ unexpected error has occurred","error_message":null,"card":{"token":"card_h5nBfXPhwVJH5W0jqwl-pQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
50
+ Lyon Street","address_line2":"","address_city":"Melbourne","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":5730,"merchant_entitlement":184270,"refund_pending":false},{"token":"ch_0-AWghJMsN2OVC0R9XQ7-A","success":true,"amount":190000,"currency":"AUD","description":"mid
51
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-23T01:19:11Z","status_message":"An
52
+ unexpected error has occurred","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
53
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":5730,"merchant_entitlement":184270,"refund_pending":false},{"token":"ch_dxogCDk-7ct7uJO5oRkS0A","success":true,"amount":110000,"currency":"AUD","description":"low
54
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-22T02:36:54Z","status_message":"An
55
+ unexpected error has occurred","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
56
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":3330,"merchant_entitlement":106670,"refund_pending":false},{"token":"ch_DL6R0kwJ4k_eEKAce38kvw","success":true,"amount":110000,"currency":"AUD","description":"low
57
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-22T02:36:26Z","status_message":"An
58
+ unexpected error has occurred","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
59
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":3330,"merchant_entitlement":106670,"refund_pending":false},{"token":"ch_gEDbJOmf-lAK84FsCObaMA","success":true,"amount":110000,"currency":"AUD","description":"low
60
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-22T02:35:05Z","status_message":"An
61
+ unexpected error has occurred","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
62
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":3330,"merchant_entitlement":106670,"refund_pending":false},{"token":"ch_VDBX8mkIDeDBgZlW9-Qv1A","success":true,"amount":110000,"currency":"AUD","description":"low
63
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-22T02:30:10Z","status_message":"An
64
+ unexpected error has occurred","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
65
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":3330,"merchant_entitlement":106670,"refund_pending":false},{"token":"ch_QG_2Gl5x47WEzTdBIwnluQ","success":true,"amount":7900,"currency":"AUD","description":"solo
66
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-06T12:31:58Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
67
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":267,"merchant_entitlement":7633,"refund_pending":false},{"token":"ch_nOzZH3ceMucgheiR_OBWFg","success":true,"amount":20700,"currency":"AUD","description":"low
68
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-06T10:15:29Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
69
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":651,"merchant_entitlement":20049,"refund_pending":false},{"token":"ch_H9ieGOe0M3UaU_gecVJfxw","success":true,"amount":167700,"currency":"AUD","description":"high
70
+ Plan - My Focusbook","email":"info@stmhad.com.au","ip_address":"127.0.0.1","created_at":"2013-03-05T10:29:46Z","status_message":"Success","error_message":null,"card":{"token":"card_auzkMFcSm5Mqoho35za3PQ","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"2
71
+ Rose Avenue, Niddrie","address_line2":"","address_city":"Melbourne","address_postcode":"3042","address_state":"Vic","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":5061,"merchant_entitlement":162639,"refund_pending":false},{"token":"ch_9m8J7ySXfwbNhpIah_eMLQ","success":true,"amount":6500,"currency":"AUD","description":"solo
72
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T05:05:36Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
73
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":225,"merchant_entitlement":6275,"refund_pending":false},{"token":"ch_zWVS2-ZRZhSzUfqQny1tZQ","success":true,"amount":20700,"currency":"AUD","description":"low
74
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"58.161.82.9","created_at":"2013-03-03T05:00:29Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
75
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":651,"merchant_entitlement":20049,"refund_pending":false},{"token":"ch_35IrfI6lAmS40EK_UnhMOw","success":true,"amount":20700,"currency":"AUD","description":"low
76
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T04:59:33Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
77
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":651,"merchant_entitlement":20049,"refund_pending":false},{"token":"ch_s5JDycLDa0p0jOUvWfH3Pg","success":true,"amount":1500,"currency":"AUD","description":"solo
78
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T04:58:54Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
79
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":75,"merchant_entitlement":1425,"refund_pending":false},{"token":"ch_NLEbb_xRgtyz58RGQ5zVqg","success":true,"amount":167700,"currency":"AUD","description":"high
80
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T04:55:45Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
81
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":5061,"merchant_entitlement":162639,"refund_pending":false},{"token":"ch_1Lbp-F6y40eUU-WJKHhM3A","success":true,"amount":1500,"currency":"AUD","description":"solo
82
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T04:00:37Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
83
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":75,"merchant_entitlement":1425,"refund_pending":false},{"token":"ch_V7m6bXXULhnV38o5jsES2w","success":true,"amount":20700,"currency":"AUD","description":"low
84
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T02:30:38Z","status_message":"Success","error_message":null,"card":{"token":"card_ZuXvGMFo3_1RqWxSBeXc2g","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"333
85
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":651,"merchant_entitlement":20049,"refund_pending":false},{"token":"ch_IFVWqiep_8hswm6J3j5MKw","success":true,"amount":6500,"currency":"AUD","description":"solo
86
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T01:54:47Z","status_message":"Success","error_message":null,"card":{"token":"card_VaeirBlO45hLNYzGE6TSzw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
87
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":225,"merchant_entitlement":6275,"refund_pending":false},{"token":"ch_eAyztfEM3_L9zWeCUVONhw","success":true,"amount":128700,"currency":"AUD","description":"mid
88
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-03T00:47:08Z","status_message":"Success","error_message":null,"card":{"token":"card_VaeirBlO45hLNYzGE6TSzw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
89
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":3891,"merchant_entitlement":124809,"refund_pending":false},{"token":"ch_rqPIWDK71YU46M4MAQHQKg","success":true,"amount":400,"currency":"AUD","description":"solo
90
+ Plan - My Focusbook","email":"daniel@myfocusbook.com.au","ip_address":"127.0.0.1","created_at":"2013-03-02T05:45:37Z","status_message":"Success","error_message":null,"card":{"token":"card_VaeirBlO45hLNYzGE6TSzw","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
91
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"Australia"},"transfer":[],"amount_refunded":0,"total_fees":42,"merchant_entitlement":358,"refund_pending":false},{"token":"ch_S_3tP81Q9_sDngSv27gShQ","success":true,"amount":500,"currency":"AUD","description":"Solo
92
+ Plan - My Focusbook","email":"dNitza@gmail.com","ip_address":null,"created_at":"2013-03-02T01:35:49Z","status_message":"Success","error_message":null,"card":{"token":"card_uoOzrQsq3TCDKMPPoSrozA","display_number":"XXXX-XXXX-XXXX-0000","scheme":"master","address_line1":"33
93
+ Lyon Street","address_line2":"","address_city":"Essendon","address_postcode":"3040","address_state":"Victoria","address_country":"AU"},"transfer":[],"amount_refunded":500,"total_fees":45,"merchant_entitlement":455,"refund_pending":false}],"count":20,"pagination":{"current":1,"previous":null,"next":null,"per_page":25,"pages":1,"count":20}}'
94
+ http_version:
95
+ recorded_at: Thu, 04 Jul 2013 17:52:55 GMT
96
+ recorded_with: VCR 2.5.0