recurly 2.18.21 → 3.0.0.beta.1
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 +4 -4
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +158 -110
- data/Rakefile +6 -0
- data/bin/bundle +105 -0
- data/bin/coderay +29 -0
- data/bin/console +14 -0
- data/bin/htmldiff +29 -0
- data/bin/ldiff +29 -0
- data/bin/pry +29 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/bin/setup +8 -0
- data/bin/yard +29 -0
- data/bin/yardoc +29 -0
- data/bin/yri +29 -0
- data/lib/data/ca-certificates.crt +31 -0
- data/lib/recurly/client/operations.rb +935 -0
- data/lib/recurly/client.rb +198 -0
- data/lib/recurly/errors/api_errors.rb +35 -0
- data/lib/recurly/errors/network_errors.rb +8 -0
- data/lib/recurly/errors.rb +34 -0
- data/lib/recurly/pager.rb +119 -0
- data/lib/recurly/request.rb +30 -0
- data/lib/recurly/requests/account_acquisition_updatable.rb +22 -0
- data/lib/recurly/requests/account_create_only.rb +18 -0
- data/lib/recurly/requests/account_updatable.rb +50 -0
- data/lib/recurly/requests/add_on_create.rb +38 -0
- data/lib/recurly/requests/add_on_update.rb +38 -0
- data/lib/recurly/requests/address.rb +42 -0
- data/lib/recurly/requests/billing_info_create.rb +58 -0
- data/lib/recurly/requests/coupon_create_only.rb +66 -0
- data/lib/recurly/requests/coupon_updatable.rb +30 -0
- data/lib/recurly/requests/create_account.rb +62 -0
- data/lib/recurly/requests/create_coupon.rb +90 -0
- data/lib/recurly/requests/invoice_create.rb +42 -0
- data/lib/recurly/requests/invoice_refund.rb +30 -0
- data/lib/recurly/requests/line_item_create.rb +46 -0
- data/lib/recurly/requests/plan_create.rb +66 -0
- data/lib/recurly/requests/plan_update.rb +70 -0
- data/lib/recurly/requests/shipping_address_create.rb +58 -0
- data/lib/recurly/requests/shipping_address_update.rb +62 -0
- data/lib/recurly/requests/subscription_add_on_create.rb +22 -0
- data/lib/recurly/requests/subscription_change_create.rb +42 -0
- data/lib/recurly/requests/subscription_create.rb +86 -0
- data/lib/recurly/requests/subscription_update.rb +42 -0
- data/lib/recurly/requests/update_coupon.rb +30 -0
- data/lib/recurly/resource.rb +16 -1103
- data/lib/recurly/resources/account.rb +86 -0
- data/lib/recurly/resources/account_acquisition.rb +42 -0
- data/lib/recurly/resources/account_balance.rb +22 -0
- data/lib/recurly/resources/account_note.rb +30 -0
- data/lib/recurly/resources/add_on.rb +62 -0
- data/lib/recurly/resources/address.rb +42 -0
- data/lib/recurly/resources/billing_info.rb +62 -0
- data/lib/recurly/resources/coupon.rb +110 -0
- data/lib/recurly/resources/coupon_discount.rb +22 -0
- data/lib/recurly/resources/coupon_redemption.rb +46 -0
- data/lib/recurly/resources/credit_payment.rb +62 -0
- data/lib/recurly/resources/error.rb +18 -0
- data/lib/recurly/resources/error_may_have_transaction.rb +22 -0
- data/lib/recurly/resources/invoice.rb +138 -0
- data/lib/recurly/resources/invoice_collection.rb +18 -0
- data/lib/recurly/resources/line_item.rb +166 -0
- data/lib/recurly/resources/plan.rb +86 -0
- data/lib/recurly/resources/settings.rb +18 -0
- data/lib/recurly/resources/shipping_address.rb +74 -0
- data/lib/recurly/resources/site.rb +46 -0
- data/lib/recurly/resources/subscription.rb +134 -0
- data/lib/recurly/resources/subscription_add_on.rb +42 -0
- data/lib/recurly/resources/subscription_change.rb +54 -0
- data/lib/recurly/resources/tax_info.rb +18 -0
- data/lib/recurly/resources/transaction.rb +146 -0
- data/lib/recurly/resources/unique_coupon_code.rb +38 -0
- data/lib/recurly/resources/user.rb +38 -0
- data/lib/recurly/schema/json_deserializer.rb +53 -0
- data/lib/recurly/schema/json_parser.rb +71 -0
- data/lib/recurly/schema/request_caster.rb +66 -0
- data/lib/recurly/schema/schema_factory.rb +50 -0
- data/lib/recurly/schema/schema_validator.rb +125 -0
- data/lib/recurly/schema.rb +114 -0
- data/lib/recurly/version.rb +1 -10
- data/lib/recurly.rb +14 -145
- data/recurly.gemspec +32 -0
- data/scripts/build +4 -0
- data/scripts/clean +6 -0
- data/scripts/test +3 -0
- metadata +129 -173
- data/lib/recurly/account.rb +0 -209
- data/lib/recurly/account_acquisition.rb +0 -27
- data/lib/recurly/account_balance.rb +0 -21
- data/lib/recurly/add_on.rb +0 -46
- data/lib/recurly/address.rb +0 -25
- data/lib/recurly/adjustment.rb +0 -81
- data/lib/recurly/api/errors.rb +0 -208
- data/lib/recurly/api/net_http_adapter.rb +0 -111
- data/lib/recurly/api.rb +0 -110
- data/lib/recurly/billing_info.rb +0 -113
- data/lib/recurly/coupon.rb +0 -136
- data/lib/recurly/credit_payment.rb +0 -32
- data/lib/recurly/custom_field.rb +0 -15
- data/lib/recurly/delivery.rb +0 -19
- data/lib/recurly/error.rb +0 -13
- data/lib/recurly/gift_card.rb +0 -85
- data/lib/recurly/helper.rb +0 -51
- data/lib/recurly/invoice.rb +0 -304
- data/lib/recurly/invoice_collection.rb +0 -14
- data/lib/recurly/item.rb +0 -36
- data/lib/recurly/js.rb +0 -14
- data/lib/recurly/juris_detail.rb +0 -15
- data/lib/recurly/measured_unit.rb +0 -16
- data/lib/recurly/money.rb +0 -120
- data/lib/recurly/note.rb +0 -14
- data/lib/recurly/plan.rb +0 -43
- data/lib/recurly/purchase.rb +0 -238
- data/lib/recurly/redemption.rb +0 -46
- data/lib/recurly/resource/association.rb +0 -16
- data/lib/recurly/resource/errors.rb +0 -20
- data/lib/recurly/resource/pager.rb +0 -313
- data/lib/recurly/shipping_address.rb +0 -26
- data/lib/recurly/shipping_fee.rb +0 -17
- data/lib/recurly/shipping_method.rb +0 -13
- data/lib/recurly/subscription/add_ons.rb +0 -82
- data/lib/recurly/subscription.rb +0 -366
- data/lib/recurly/subscription_add_on.rb +0 -58
- data/lib/recurly/tax_detail.rb +0 -18
- data/lib/recurly/tax_type.rb +0 -13
- data/lib/recurly/tier.rb +0 -18
- data/lib/recurly/transaction/errors.rb +0 -115
- data/lib/recurly/transaction.rb +0 -131
- data/lib/recurly/usage.rb +0 -28
- data/lib/recurly/verify.rb +0 -12
- data/lib/recurly/webhook/account_notification.rb +0 -13
- data/lib/recurly/webhook/billing_info_update_failed_notification.rb +0 -6
- data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
- data/lib/recurly/webhook/deactivated_item_notification.rb +0 -6
- data/lib/recurly/webhook/deleted_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/dunning_notification.rb +0 -14
- data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
- data/lib/recurly/webhook/fraud_info_updated_notification.rb +0 -6
- data/lib/recurly/webhook/gift_card_notification.rb +0 -8
- data/lib/recurly/webhook/invoice_notification.rb +0 -12
- data/lib/recurly/webhook/item_notification.rb +0 -7
- data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/new_account_notification.rb +0 -6
- data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
- data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
- data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_item_notification.rb +0 -6
- data/lib/recurly/webhook/new_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/new_usage_notification.rb +0 -8
- data/lib/recurly/webhook/notification.rb +0 -18
- data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/paused_subscription_renewal_notification.rb +0 -6
- data/lib/recurly/webhook/prerenewal_notification.rb +0 -6
- data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
- data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
- data/lib/recurly/webhook/reactivated_item_notification.rb +0 -6
- data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/regenerated_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_subscription_pause_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_subscription_update_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_notification.rb +0 -12
- data/lib/recurly/webhook/subscription_pause_canceled_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_pause_modified_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_paused_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_resumed_notification.rb +0 -6
- data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
- data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
- data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
- data/lib/recurly/webhook/transaction_notification.rb +0 -12
- data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
- data/lib/recurly/webhook/updated_account_notification.rb +0 -6
- data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/updated_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/updated_item_notification.rb +0 -6
- data/lib/recurly/webhook/updated_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/void_payment_notification.rb +0 -6
- data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
- data/lib/recurly/webhook.rb +0 -113
- data/lib/recurly/xml/nokogiri.rb +0 -60
- data/lib/recurly/xml/rexml.rb +0 -52
- data/lib/recurly/xml.rb +0 -122
data/lib/recurly/tax_detail.rb
DELETED
data/lib/recurly/tax_type.rb
DELETED
data/lib/recurly/tier.rb
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
module Recurly
|
|
2
|
-
class Tier < Resource
|
|
3
|
-
|
|
4
|
-
belongs_to :add_on
|
|
5
|
-
belongs_to :subscription_add_on
|
|
6
|
-
|
|
7
|
-
define_attribute_methods %w(
|
|
8
|
-
ending_quantity
|
|
9
|
-
unit_amount_in_cents
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
def xml_keys
|
|
13
|
-
attributes.keys
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
embedded! true
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
module Recurly
|
|
2
|
-
class Transaction < Resource
|
|
3
|
-
# The base error class for transaction errors, raised when a transaction
|
|
4
|
-
# fails.
|
|
5
|
-
#
|
|
6
|
-
# Error messages are customer-friendly, though only {DeclinedError}
|
|
7
|
-
# messages should be a part of the normal API flow (a {ConfigurationError},
|
|
8
|
-
# for example, is a problem that a customer cannot solve and requires your
|
|
9
|
-
# attention).
|
|
10
|
-
#
|
|
11
|
-
# If a record of the transaction was stored in Recurly, it will be
|
|
12
|
-
# accessible via {Error#transaction}.
|
|
13
|
-
#
|
|
14
|
-
# @example
|
|
15
|
-
# begin
|
|
16
|
-
# subscription.save!
|
|
17
|
-
# rescue Recurly::Resource::Invalid => e
|
|
18
|
-
# # Display e.record.errors...
|
|
19
|
-
# rescue Recurly::Transaction::DeclinedError => e
|
|
20
|
-
# # Display e.message and/or subscription (and associated) errors...
|
|
21
|
-
# rescue Recurly::Transaction::RetryableError => e
|
|
22
|
-
# # You should be able to attempt to save this again later.
|
|
23
|
-
# rescue Recurly::Transaction::Error => e
|
|
24
|
-
# # Alert yourself of the issue (i.e., log e.transaction).
|
|
25
|
-
# # Display a generic error message.
|
|
26
|
-
# end
|
|
27
|
-
class Error < API::UnprocessableEntity
|
|
28
|
-
# @return [Transaction] The transaction as returned (or updated) by
|
|
29
|
-
# Recurly.
|
|
30
|
-
attr_reader :transaction
|
|
31
|
-
|
|
32
|
-
def initialize request, response, transaction
|
|
33
|
-
super request, response
|
|
34
|
-
update_transaction transaction
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# @return [String] A customer-friendly error message.
|
|
38
|
-
def to_s
|
|
39
|
-
xml.text '/errors/transaction_error/customer_message'
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# @return [String] The transaction error code.
|
|
43
|
-
def transaction_error_code
|
|
44
|
-
xml.text '/errors/transaction_error/error_code'
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def gateway_error_code
|
|
48
|
-
xml.text '/errors/transaction_error/gateway_error_code'
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
private
|
|
52
|
-
|
|
53
|
-
def update_transaction transaction
|
|
54
|
-
return unless transaction_xml = xml['/errors/transaction']
|
|
55
|
-
|
|
56
|
-
@transaction = transaction
|
|
57
|
-
transaction = Transaction.from_xml transaction_xml
|
|
58
|
-
if @transaction.nil?
|
|
59
|
-
@transaction = transaction
|
|
60
|
-
else
|
|
61
|
-
@transaction.instance_variable_get(:@attributes).update(
|
|
62
|
-
transaction.attributes
|
|
63
|
-
)
|
|
64
|
-
end
|
|
65
|
-
@transaction.persist!
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
# Raised when a transaction fails for a temporary reason. The transaction
|
|
70
|
-
# should be retried later.
|
|
71
|
-
class RetryableError < Error
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
# Raised when a transaction fails due to a misconfiguration, e.g. if the
|
|
75
|
-
# gateway hasn't been configured.
|
|
76
|
-
class ConfigurationError < Error
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
# Raised when a transaction fails because the billing information was
|
|
80
|
-
# invalid.
|
|
81
|
-
class DeclinedError < Error
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
# Raised when the gateway believes this transaction to be a duplicate.
|
|
85
|
-
class DuplicateError < DeclinedError
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
# Raised when a 3DS result token is needed to complete a transaction
|
|
89
|
-
class ThreeDSecureError < DeclinedError
|
|
90
|
-
def three_d_secure_action_token_id
|
|
91
|
-
xml.text '/errors/transaction_error/three_d_secure_action_token_id'
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
class << Error
|
|
96
|
-
CATEGORY_MAP = Hash.new DeclinedError
|
|
97
|
-
CATEGORY_MAP.update(
|
|
98
|
-
'communication' => RetryableError,
|
|
99
|
-
'configuration' => ConfigurationError,
|
|
100
|
-
'duplicate' => DuplicateError,
|
|
101
|
-
'3d_secure_action_required' => ThreeDSecureError
|
|
102
|
-
)
|
|
103
|
-
|
|
104
|
-
def validate! exception, transaction
|
|
105
|
-
return unless exception.is_a? API::UnprocessableEntity
|
|
106
|
-
|
|
107
|
-
category = exception.send(:xml).text(
|
|
108
|
-
'/errors/transaction_error/error_category'
|
|
109
|
-
) and raise CATEGORY_MAP[category].new(
|
|
110
|
-
exception.request, exception.response, transaction
|
|
111
|
-
)
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
data/lib/recurly/transaction.rb
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
module Recurly
|
|
2
|
-
class Transaction < Resource
|
|
3
|
-
require 'recurly/transaction/errors'
|
|
4
|
-
|
|
5
|
-
# @macro [attach] scope
|
|
6
|
-
# @scope class
|
|
7
|
-
# @return [Pager] a pager that yields +$1+ transactions.
|
|
8
|
-
scope :authorizations, type: 'authorization'
|
|
9
|
-
scope :purchases, type: 'purchase'
|
|
10
|
-
scope :refunds, type: 'refund'
|
|
11
|
-
scope :successful, state: 'successful'
|
|
12
|
-
scope :failed, state: 'failed'
|
|
13
|
-
scope :voided, state: 'voided'
|
|
14
|
-
|
|
15
|
-
# @return [Account]
|
|
16
|
-
belongs_to :account
|
|
17
|
-
# @return [Invoice, nil]
|
|
18
|
-
belongs_to :invoice
|
|
19
|
-
|
|
20
|
-
# @return [Pager<Subscription>, nil]
|
|
21
|
-
has_many :subscriptions
|
|
22
|
-
|
|
23
|
-
# @return [Transaction, nil]
|
|
24
|
-
has_one :original_transaction, class_name: :Transaction, readonly: true
|
|
25
|
-
|
|
26
|
-
define_attribute_methods %w(
|
|
27
|
-
id
|
|
28
|
-
uuid
|
|
29
|
-
action
|
|
30
|
-
amount_in_cents
|
|
31
|
-
tax_in_cents
|
|
32
|
-
currency
|
|
33
|
-
payment_method
|
|
34
|
-
status
|
|
35
|
-
reference
|
|
36
|
-
recurring
|
|
37
|
-
test
|
|
38
|
-
voidable
|
|
39
|
-
refundable
|
|
40
|
-
cvv_result
|
|
41
|
-
avs_result
|
|
42
|
-
avs_result_street
|
|
43
|
-
avs_result_postal
|
|
44
|
-
created_at
|
|
45
|
-
updated_at
|
|
46
|
-
details
|
|
47
|
-
transaction_error
|
|
48
|
-
source
|
|
49
|
-
ip_address
|
|
50
|
-
collected_at
|
|
51
|
-
description
|
|
52
|
-
tax_exempt
|
|
53
|
-
tax_code
|
|
54
|
-
accounting_code
|
|
55
|
-
fraud
|
|
56
|
-
product_code
|
|
57
|
-
gateway_type
|
|
58
|
-
origin
|
|
59
|
-
message
|
|
60
|
-
approval_code
|
|
61
|
-
date
|
|
62
|
-
gateway
|
|
63
|
-
gateway_error_codes
|
|
64
|
-
invoice_id
|
|
65
|
-
invoice_number
|
|
66
|
-
invoice_number_prefix
|
|
67
|
-
failure_type
|
|
68
|
-
billing_phone
|
|
69
|
-
billing_postal
|
|
70
|
-
billing_country
|
|
71
|
-
subscription_id
|
|
72
|
-
manually_entered
|
|
73
|
-
avalara_transaction_type
|
|
74
|
-
avalara_service_type
|
|
75
|
-
)
|
|
76
|
-
alias to_param uuid
|
|
77
|
-
alias fraud_info fraud
|
|
78
|
-
|
|
79
|
-
def self.to_xml(attrs)
|
|
80
|
-
transaction = new attrs
|
|
81
|
-
transaction.to_xml
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
# @return ["credit", "charge", nil] The type of transaction.
|
|
85
|
-
attr_reader :type
|
|
86
|
-
|
|
87
|
-
# @see Resource#initialize
|
|
88
|
-
def initialize(attributes = {})
|
|
89
|
-
super({ :currency => Recurly.default_currency }.merge attributes)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# Saves new records only.
|
|
93
|
-
#
|
|
94
|
-
# @return [true, false]
|
|
95
|
-
# @raise [Recurly::Error] For persisted transactions.
|
|
96
|
-
# @see Resource#save
|
|
97
|
-
def save
|
|
98
|
-
return super if new_record?
|
|
99
|
-
raise Recurly::Error, "#{self.class.collection_name} cannot be updated"
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
# Refunds the transaction.
|
|
103
|
-
#
|
|
104
|
-
# @return [Transaction, false] The updated original transaction if voided,
|
|
105
|
-
# a new refund transaction, false if the transaction isn't voidable or
|
|
106
|
-
# refundable.
|
|
107
|
-
# @raise [Error] If the refund fails.
|
|
108
|
-
# @param amount_in_cents [Integer, nil] The amount (in cents) to refund
|
|
109
|
-
# (refunds fully if nil).
|
|
110
|
-
def refund amount_in_cents = nil
|
|
111
|
-
return false unless link? :refund
|
|
112
|
-
refund = self.class.from_response(
|
|
113
|
-
follow_link :refund, :params => { :amount_in_cents => amount_in_cents }
|
|
114
|
-
)
|
|
115
|
-
refund.uuid == uuid ? copy_from(refund) && self : refund
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
def signable_attributes
|
|
119
|
-
super.merge :amount_in_cents => amount_in_cents, :currency => currency
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
# @return [String]
|
|
123
|
-
def inspect
|
|
124
|
-
attributes = self.class.attribute_names
|
|
125
|
-
unless type == 'credit_card'
|
|
126
|
-
attributes -= %w(cvv_result avs_result avs_result_street)
|
|
127
|
-
end
|
|
128
|
-
super attributes
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
end
|
data/lib/recurly/usage.rb
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
module Recurly
|
|
2
|
-
class Usage < Resource
|
|
3
|
-
# @return [MeasuredUnit]
|
|
4
|
-
belongs_to :measured_unit
|
|
5
|
-
|
|
6
|
-
define_attribute_methods %w(
|
|
7
|
-
id
|
|
8
|
-
usage_type
|
|
9
|
-
unit_amount_in_cents
|
|
10
|
-
usage_percentage
|
|
11
|
-
amount
|
|
12
|
-
merchant_tag
|
|
13
|
-
usage_timestamp
|
|
14
|
-
recording_timestamp
|
|
15
|
-
billed_at
|
|
16
|
-
created_at
|
|
17
|
-
updated_at
|
|
18
|
-
subscription_id
|
|
19
|
-
add_on_code
|
|
20
|
-
measured_unit_id
|
|
21
|
-
modified_at
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
# Usages are only writeable and readable through {SubscriptionAddOns} instances.
|
|
25
|
-
embedded!
|
|
26
|
-
private_class_method :find
|
|
27
|
-
end
|
|
28
|
-
end
|
data/lib/recurly/verify.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
module Recurly
|
|
2
|
-
module Webhook
|
|
3
|
-
# The AccountNotification class provides a generic interface
|
|
4
|
-
# for account-related webhook notifications.
|
|
5
|
-
class AccountNotification < Notification
|
|
6
|
-
# @return [Account]
|
|
7
|
-
has_one :account
|
|
8
|
-
|
|
9
|
-
# @return [ShippingAddress]
|
|
10
|
-
has_one :shipping_address
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module Recurly
|
|
2
|
-
module Webhook
|
|
3
|
-
# The CreditPayment class provides a generic interface
|
|
4
|
-
# for credit-payment-related webhook notifications.
|
|
5
|
-
class CreditPaymentNotification < Notification
|
|
6
|
-
# @return [Account]
|
|
7
|
-
has_one :account
|
|
8
|
-
# @return [CreditPayment]
|
|
9
|
-
has_one :credit_payment
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|