Recharge 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/examples/charge.rb CHANGED
@@ -11,11 +11,6 @@ Recharge.api_key = "92ec3e4d8b623dd9baaaf1575b7c557cd113e3e8"
11
11
 
12
12
 
13
13
 
14
-
15
-
16
-
17
-
18
-
19
14
  # Find an individual charge by the charge ID
20
15
  puts "", "Find Individual Charge"
21
16
 
@@ -37,11 +32,6 @@ end
37
32
 
38
33
 
39
34
 
40
-
41
-
42
-
43
-
44
-
45
35
  # create a new charge for a customer
46
36
  puts "", "Create New Charge"
47
37
 
@@ -64,17 +54,11 @@ end
64
54
 
65
55
 
66
56
 
67
-
68
-
69
-
70
-
71
-
72
-
73
57
  # Update an existing charge (change billing amount, card number, etc)
74
58
  puts "", "Update Charge"
75
59
 
76
60
  begin
77
- # you must find the charge id first
61
+ # you must find the charge first
78
62
  charge = Recharge::Charge.find(chargeID)
79
63
  # then call update on it
80
64
  # you only need to pass the attributes you want to update
@@ -92,13 +76,6 @@ end
92
76
 
93
77
 
94
78
 
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
79
  # deletes an existing charge
103
80
  # deletes the charge, cancels all future transactions that were scheduled for this charge
104
81
  puts "", "Delete Charges"
data/examples/customer.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # Examples for the Recharge API Gem
2
- # Charge Resource
2
+ # Customer Resource
3
3
 
4
4
  # Only 2 lines are required to get started:
5
5
  # Require the recharge.rb file
@@ -11,11 +11,6 @@ Recharge.api_key = "92ec3e4d8b623dd9baaaf1575b7c557cd113e3e8"
11
11
 
12
12
 
13
13
 
14
-
15
-
16
-
17
-
18
-
19
14
  # Get a list of all active customers
20
15
  puts "Find All Customers",''
21
16
 
@@ -51,16 +46,6 @@ end
51
46
 
52
47
 
53
48
 
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
49
  # Find an individual customer by the customer ID
65
50
  puts "", "Find Individual Customers"
66
51
 
@@ -86,13 +71,6 @@ end
86
71
 
87
72
 
88
73
 
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
74
  # create a new customer
97
75
  puts "", "Create New Customer"
98
76
 
@@ -113,21 +91,11 @@ end
113
91
 
114
92
 
115
93
 
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
94
  # Update an existing customer (change email address, phone number, etc)
127
95
  puts "", "Update Customer"
128
96
 
129
97
  begin
130
- # you must find the charge id first
98
+ # you must find the charge first
131
99
  customer = Recharge::Customer.find(customerID)
132
100
 
133
101
  # then call update on it
@@ -136,30 +104,25 @@ begin
136
104
  :refID=> Time.now.to_i
137
105
  )
138
106
 
139
- # all updated information about the charge is now available
107
+ # all updated information about the customer is now available
140
108
  p customer
141
109
  rescue Exception => e
110
+ # errors here can be
111
+ # Response::NotFound if the customer ID does not exist
112
+ # Response::BadRequest if there was something wrong with the request
142
113
  puts ">> error #{e.message}"
143
114
  end
144
115
 
145
116
 
146
117
 
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
118
  # deletes an existing customer
158
119
  # deletes the customer, payment methods, cancels all future transactions that were scheduled for this charge
159
120
  puts "", "Delete Customer"
160
121
 
161
122
  begin
123
+ # find the customer first
162
124
  customer = Recharge::Customer.find(customerID)
125
+ # call destroy on it to delete it
163
126
  customer.destroy
164
127
  rescue Exception => e
165
128
  puts ">> error #{e.message}"
@@ -1,30 +1,50 @@
1
+ # Examples for the Recharge API Gem
2
+ # Payment Method Resource
3
+
4
+ # Only 2 lines are required to get started:
5
+ # Require the recharge.rb file
1
6
  require '../lib/recharge'
2
7
 
8
+ # Set your API key here, found in Recharge Settings > API Settings > API Private Key
9
+ # If incorrect or blank, any calls will raise a Response::NotAuthorized
3
10
  Recharge.api_key = "92ec3e4d8b623dd9baaaf1575b7c557cd113e3e8"
4
11
 
12
+
13
+
14
+ # Create a new payment method (and securely store the card number) for a customer
5
15
  puts "", "Create New PayMethod"
6
16
 
7
17
  begin
18
+ # paymethods can be created in one fell swoop
8
19
  paymethod = Recharge::PayMethod.create(
9
20
  :customer => "cu4f3782bf374a7",
10
21
  :nameOnCard => "test jones",
11
22
  :cardNumber => "4242424242424242",
12
23
  :expDate => "1212"
13
24
  )
25
+ # after the charge is saved, all attributes are available for you individually or by inspecting
14
26
  paymethodID = paymethod.id
15
27
  puts ">> paymethod id: #{paymethod.id}"
16
28
  puts ">> card number: #{paymethod.cardType} ****#{paymethod.last4}"
17
29
  p paymethod
18
30
  rescue Exception => e
31
+ # if a required field is missing or invalid, a Response::BadRequest error will be raised
32
+ # e.message will give more info why the record creation failed
19
33
  puts ">> error #{e.message}"
20
34
  end
21
35
 
22
36
 
23
37
 
38
+ # deletes an existing paymethod and permanently deletes the stored credit card information
39
+ # paymethods cannot be deleted if they are currently being used by any recurring charges
40
+ # as doing so will cause the charge to fail
24
41
  puts "", "Delete PayMethod"
25
42
 
26
43
  begin
44
+ # just call destroy and pass the Paymethod ID to delete it
27
45
  Recharge::PayMethod.destroy(paymethodID)
28
46
  rescue Exception => e
47
+ # will raise Response::BadRequest if Paymethod can't be deleted
48
+ # otherwise, delete was successful
29
49
  puts ">> error #{e.message}"
30
50
  end
data/examples/product.rb CHANGED
@@ -1,26 +1,44 @@
1
+ # Examples for the Recharge API Gem
2
+ # Product Resource
3
+
4
+ # Only 2 lines are required to get started:
5
+ # Require the recharge.rb file
1
6
  require '../lib/recharge'
2
7
 
8
+ # Set your API key here, found in Recharge Settings > API Settings > API Private Key
9
+ # If incorrect or blank, any calls will raise a Response::NotAuthorized
3
10
  Recharge.api_key = "92ec3e4d8b623dd9baaaf1575b7c557cd113e3e8"
4
11
 
5
- productID = ""
6
12
 
13
+
14
+ # Get a list of all products
7
15
  puts "Find All Products",''
8
16
 
9
17
  begin
18
+ # call find_all to get a list of all products
10
19
  Recharge::Product.find_all.each do |product|
20
+
21
+ # attributes can be accessed individually like this
11
22
  puts "id: #{product.id}"
12
23
  puts "name: #{product.name}"
13
24
  puts "price: #{product.price}"
14
25
 
26
+ # or you may inspect the whole record and get a list of all keys/values like this
27
+ p product
28
+
15
29
  productID = product.id
16
30
  end
17
31
  rescue Exception => e
18
32
  puts ">> error #{e.message}"
19
33
  end
20
34
 
35
+
36
+
37
+ # Find an individual product by the product ID
21
38
  puts "", "Find Individual Products"
22
39
 
23
40
  begin
41
+ # Records are fetched by their unique identifiers.
24
42
  product = Recharge::Product.find(productID)
25
43
 
26
44
  puts "id: #{product.id}"
@@ -33,15 +51,19 @@ end
33
51
 
34
52
 
35
53
 
54
+ # create a new product
36
55
  puts "", "Create New Product"
37
56
 
38
57
  begin
58
+ # products can be created in one fell swoop
39
59
  product = Recharge::Product.create(
40
60
  :name => "HeyHey",
41
61
  :price => "100",
42
62
  :intervalValue => 1,
43
63
  :intervalUnit => 'm'
44
64
  )
65
+
66
+ # after the product is saved, all attributes are available for you individually or by inspecting
45
67
  productID = product.id
46
68
  p product
47
69
  rescue Exception => e
@@ -50,24 +72,37 @@ end
50
72
 
51
73
 
52
74
 
75
+ # Update an existing product (change price, product name, etc)
53
76
  puts "", "Update Product"
54
77
 
55
78
  begin
79
+ # you must find the product first
56
80
  product = Recharge::Product.find(productID)
81
+
82
+ # then call update on it
83
+ # you only need to pass the attributes you want to update
57
84
  product.update(
58
85
  :price=> "101"
59
86
  )
87
+
88
+ # all updated information about the product is now available
60
89
  p product
61
90
  rescue Exception => e
91
+ # errors here can be
92
+ # Response::NotFound if the customer ID does not exist
93
+ # Response::BadRequest if there was something wrong with the request
62
94
  puts ">> error #{e.message}"
63
95
  end
64
96
 
65
97
 
66
98
 
99
+ # deletes an existing product
67
100
  puts "", "Delete Product"
68
101
 
69
102
  begin
103
+ # find the product first
70
104
  product = Recharge::Product.find(productID)
105
+ # call destroy on it to delete it
71
106
  product.destroy
72
107
  rescue Exception => e
73
108
  puts ">> error #{e.message}"
@@ -1,19 +1,38 @@
1
+ # Examples for the Recharge API Gem
2
+ # Transaction Resource
3
+ # Lets you easily perform one-time credit card charges
4
+
5
+ # Only 2 lines are required to get started:
6
+ # Require the recharge.rb file
1
7
  require '../lib/recharge'
2
8
 
9
+ # Set your API key here, found in Recharge Settings > API Settings > API Private Key
10
+ # If incorrect or blank, any calls will raise a Response::NotAuthorized
3
11
  Recharge.api_key = "92ec3e4d8b623dd9baaaf1575b7c557cd113e3e8"
4
12
 
13
+
14
+
15
+ # charges a credit card
5
16
  puts "", "Credit Card Purchase"
6
17
 
7
18
  begin
19
+ # only :Amount, :AcctNum and :ExpDate are required
20
+ # other values are allowed such as CVV2 and ZIP code
21
+ # check API docs for more info
22
+ # https://www.rechargebilling.com/api
8
23
  transaction = Recharge::Transaction.purchase(
9
24
  :Amount => "#{rand(100)}.#{rand(100)}",
10
25
  :AcctNum => "4242424242424242",
11
26
  :ExpDate => "1212"
12
27
  )
13
- puts transaction.responseDescription, transaction.amount, transaction.approvalCode
14
- p transaction
15
-
16
- transactionID = transaction.transactionID
28
+
29
+ # after transaction is processed attributes are available individually
30
+ puts transaction.responseDescription, transaction.amount, transaction.approvalCode
31
+
32
+ # ...or by inspecting
33
+ p transaction
34
+
35
+ transactionID = transaction.transactionID
17
36
  rescue Exception => e
18
37
  puts ">> error #{e.message}"
19
38
  end
@@ -22,7 +41,7 @@ end
22
41
 
23
42
 
24
43
 
25
-
44
+ # refunds money back to a credit card using the card number and expiration date
26
45
  puts "", "Credit Card Refund (with card number)"
27
46
 
28
47
  begin
@@ -41,10 +60,12 @@ end
41
60
 
42
61
 
43
62
 
44
-
63
+ # refunds money back to a credit card using the original transactionID
45
64
  puts "", "Credit Card Refund (without card number)"
46
65
 
47
66
  begin
67
+ # amount is required
68
+ # amounts above the original purchase price for the transactionID given are sometimes rejected by the payment gateway
48
69
  transaction = Recharge::Transaction.refund(
49
70
  :TransactionID => transactionID,
50
71
  :Amount => "0.#{rand(100)}"
@@ -61,7 +82,10 @@ end
61
82
 
62
83
 
63
84
 
64
-
85
+ # voids a previously processed sale or refund
86
+ # it is only possible to void transactions in the current batch...once the batch settles, the money will be taken off the card
87
+ # and put into your bank account. You will need to process a refund.
88
+ # batches usually settle once a day around 2AM PST
65
89
  puts "", "Credit Card Void"
66
90
 
67
91
  begin
data/lib/recharge.rb CHANGED
@@ -16,44 +16,4 @@ module Recharge
16
16
  end
17
17
  attr_writer :api_key
18
18
  end
19
-
20
- def get(uri)
21
- client = Client.new()
22
- return client.request('GET', uri)
23
- end
24
-
25
- def post(uri, data=nil)
26
- client = Client.new()
27
- return client.request('POST', uri, data)
28
- end
29
-
30
- def delete(uri)
31
- client = Client.new()
32
- return client.request('DELETE', uri)
33
- end
34
-
35
- def returnImportantXML(data)
36
- require "rexml/document"
37
- doc = REXML::Document.new(data)
38
-
39
- if doc.elements[1].elements[3].length == 1
40
- return doc.elements[1].elements[3].elements[1]
41
- else
42
- return doc.elements[1].elements[3]
43
- end
44
- end
45
-
46
- def returnErrorXML(data)
47
- require "rexml/document"
48
- doc = REXML::Document.new(data)
49
-
50
- doc.elements["/response/result/resultDescription"].text
51
- end
52
-
53
- def returnStatusXML(data)
54
- require "rexml/document"
55
- doc = REXML::Document.new(data)
56
-
57
- doc.elements["/response/result/resultDescription"]
58
- end
59
19
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Recharge
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 1
10
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Recharge