Class: EasyPost::Billing
- Inherits:
-
Resource
- Object
- EasyPostObject
- Resource
- EasyPost::Billing
- Defined in:
- lib/easypost/billing.rb
Overview
Billing class that users can manage their payment and fund
Instance Attribute Summary
Attributes inherited from EasyPostObject
#api_key, #name, #parent, #unsaved_values
Class Method Summary collapse
-
.delete_payment_method(primary_or_secondary, api_key = nil) ⇒ Object
Delete a payment method.
-
.fund_wallet(amount, primary_or_secondary = 'primary', api_key = nil) ⇒ Object
Fund your EasyPost wallet by charging your primary or secondary card on file.
-
.retrieve_payment_methods(api_key = nil) ⇒ Object
Retrieve all payment methods.
Methods inherited from Resource
all, class_name, create, #delete, each, #refresh, retrieve, #save, url, #url
Methods inherited from EasyPostObject
#[], #[]=, #as_json, construct_from, #deconstruct_keys, #each, #id, #id=, #initialize, #inspect, #keys, #refresh_from, #to_hash, #to_json, #to_s, #values
Constructor Details
This class inherits a constructor from EasyPost::EasyPostObject
Class Method Details
.delete_payment_method(primary_or_secondary, api_key = nil) ⇒ Object
Delete a payment method.
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/easypost/billing.rb', line 19 def self.delete_payment_method(primary_or_secondary, api_key = nil) payment_info = EasyPost::Billing.get_payment_method_info(primary_or_secondary.downcase) endpoint = payment_info[0] payment_id = payment_info[1] EasyPost.make_request(:delete, "#{endpoint}/#{payment_id}", api_key) # Return true if succeeds, an error will be thrown if it fails true end |
.fund_wallet(amount, primary_or_secondary = 'primary', api_key = nil) ⇒ Object
Fund your EasyPost wallet by charging your primary or secondary card on file.
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/easypost/billing.rb', line 6 def self.fund_wallet(amount, primary_or_secondary = 'primary', api_key = nil) payment_info = EasyPost::Billing.get_payment_method_info(primary_or_secondary.downcase) endpoint = payment_info[0] payment_id = payment_info[1] wrapped_params = { amount: amount } EasyPost.make_request(:post, "#{endpoint}/#{payment_id}/charges", api_key, wrapped_params) # Return true if succeeds, an error will be thrown if it fails true end |
.retrieve_payment_methods(api_key = nil) ⇒ Object
Retrieve all payment methods.
31 32 33 34 35 36 37 38 39 |
# File 'lib/easypost/billing.rb', line 31 def self.retrieve_payment_methods(api_key = nil) response = EasyPost.make_request(:get, '/v2/payment_methods', api_key) if response['id'].nil? raise EasyPost::Error.new('Billing has not been setup for this user. Please add a payment method.') end EasyPost::Util.convert_to_easypost_object(response, api_key) end |