pboling-remit 0.0.8 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- metadata +19 -72
- data/LICENSE +0 -20
- data/README.markdown +0 -91
- data/lib/remit.rb +0 -127
- data/lib/remit/common.rb +0 -110
- data/lib/remit/data_types.rb +0 -170
- data/lib/remit/error_codes.rb +0 -118
- data/lib/remit/get_pipeline.rb +0 -212
- data/lib/remit/ipn_request.rb +0 -46
- data/lib/remit/operations/cancel_token.rb +0 -18
- data/lib/remit/operations/discard_results.rb +0 -18
- data/lib/remit/operations/fund_prepaid.rb +0 -31
- data/lib/remit/operations/get_account_activity.rb +0 -60
- data/lib/remit/operations/get_account_balance.rb +0 -29
- data/lib/remit/operations/get_all_credit_instruments.rb +0 -18
- data/lib/remit/operations/get_all_prepaid_instruments.rb +0 -18
- data/lib/remit/operations/get_debt_balance.rb +0 -23
- data/lib/remit/operations/get_outstanding_debt_balance.rb +0 -22
- data/lib/remit/operations/get_payment_instruction.rb +0 -21
- data/lib/remit/operations/get_prepaid_balance.rb +0 -23
- data/lib/remit/operations/get_results.rb +0 -27
- data/lib/remit/operations/get_token_by_caller.rb +0 -19
- data/lib/remit/operations/get_token_usage.rb +0 -18
- data/lib/remit/operations/get_tokens.rb +0 -20
- data/lib/remit/operations/get_total_prepaid_liability.rb +0 -22
- data/lib/remit/operations/get_transaction.rb +0 -54
- data/lib/remit/operations/install_payment_instruction.rb +0 -22
- data/lib/remit/operations/pay.rb +0 -30
- data/lib/remit/operations/refund.rb +0 -44
- data/lib/remit/operations/reserve.rb +0 -30
- data/lib/remit/operations/retry_transaction.rb +0 -18
- data/lib/remit/operations/settle.rb +0 -20
- data/lib/remit/operations/settle_debt.rb +0 -30
- data/lib/remit/operations/subscribe_for_caller_notification.rb +0 -18
- data/lib/remit/operations/unsubscribe_for_caller_notification.rb +0 -17
- data/lib/remit/operations/write_off_debt.rb +0 -28
- data/lib/remit/pipeline_response.rb +0 -64
- data/spec/integrations/get_account_activity_spec.rb +0 -36
- data/spec/integrations/get_tokens_spec.rb +0 -38
- data/spec/integrations/integrations_helper.rb +0 -8
- data/spec/spec_helper.rb +0 -36
- data/spec/units/get_pipeline_spec.rb +0 -165
- data/spec/units/get_results_spec.rb +0 -49
- data/spec/units/ipn_request_spec.rb +0 -32
- data/spec/units/pay_spec.rb +0 -133
- data/spec/units/units_helper.rb +0 -4
data/lib/remit/data_types.rb
DELETED
@@ -1,170 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'relax'
|
3
|
-
|
4
|
-
require 'remit/common'
|
5
|
-
|
6
|
-
module Remit
|
7
|
-
class Amount < BaseResponse
|
8
|
-
parameter :currency_code
|
9
|
-
parameter :value, :type => :float
|
10
|
-
end
|
11
|
-
|
12
|
-
class DescriptorPolicy < BaseResponse
|
13
|
-
parameter :soft_descriptor_type
|
14
|
-
parameter :CS_number_of
|
15
|
-
end
|
16
|
-
|
17
|
-
class ChargeFeeTo
|
18
|
-
CALLER = 'Caller'
|
19
|
-
RECIPIENT = 'Recipient'
|
20
|
-
end
|
21
|
-
|
22
|
-
class Error < BaseResponse
|
23
|
-
parameter :code
|
24
|
-
parameter :message
|
25
|
-
end
|
26
|
-
|
27
|
-
class InstrumentStatus
|
28
|
-
ALL = 'ALL'
|
29
|
-
ACTIVE = 'Active'
|
30
|
-
INACTIVE = 'Inactive'
|
31
|
-
end
|
32
|
-
|
33
|
-
class PaymentMethods
|
34
|
-
BALANCE_TRANSFER = 'abt'
|
35
|
-
BANK_ACCOUNT = 'ach'
|
36
|
-
CREDIT_CARD = 'credit card'
|
37
|
-
PREPAID = 'prepaid'
|
38
|
-
DEBT = 'Debt'
|
39
|
-
end
|
40
|
-
|
41
|
-
class ServiceError < BaseResponse
|
42
|
-
parameter :error_type
|
43
|
-
parameter :is_retriable
|
44
|
-
parameter :error_code
|
45
|
-
parameter :reason_text
|
46
|
-
|
47
|
-
class ErrorType
|
48
|
-
SYSTEM = 'System'
|
49
|
-
BUSINESS = 'Business'
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
class ResponseStatus
|
54
|
-
SUCCESS = 'Success'
|
55
|
-
FAILURE = 'Failure'
|
56
|
-
end
|
57
|
-
|
58
|
-
class Token < BaseResponse
|
59
|
-
parameter :token_id
|
60
|
-
parameter :friendly_name
|
61
|
-
parameter :status
|
62
|
-
parameter :date_installed, :type => :time
|
63
|
-
parameter :caller_installed
|
64
|
-
parameter :caller_reference
|
65
|
-
parameter :token_type
|
66
|
-
parameter :old_token_id
|
67
|
-
parameter :payment_reason
|
68
|
-
|
69
|
-
class TokenStatus
|
70
|
-
ACTIVE = 'Active'
|
71
|
-
INACTIVE = 'Inactive'
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
class TokenUsageLimit < BaseResponse
|
76
|
-
parameter :count
|
77
|
-
parameter :limit
|
78
|
-
parameter :last_reset_amount
|
79
|
-
parameter :last_reset_count
|
80
|
-
parameter :last_reset_time_stamp
|
81
|
-
end
|
82
|
-
|
83
|
-
class TransactionResponse < BaseResponse
|
84
|
-
parameter :transaction_id
|
85
|
-
parameter :transaction_status
|
86
|
-
|
87
|
-
%w(reserved success failure pending cancelled).each do |status_name|
|
88
|
-
define_method("#{status_name}?") do
|
89
|
-
self.transaction_status == Remit::TransactionStatus.const_get(status_name.sub('_', '').upcase)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
class TransactionStatus
|
95
|
-
RESERVED = 'Reserved'
|
96
|
-
SUCCESS = 'Success'
|
97
|
-
FAILURE = 'Failure'
|
98
|
-
PENDING = 'Pending'
|
99
|
-
CANCELLED = 'Cancelled'
|
100
|
-
end
|
101
|
-
|
102
|
-
class TokenType
|
103
|
-
SINGLE_USE = 'SingleUse'
|
104
|
-
MULTI_USE = 'MultiUse'
|
105
|
-
RECURRING = 'Recurring'
|
106
|
-
UNRESTRICTED = 'Unrestricted'
|
107
|
-
end
|
108
|
-
|
109
|
-
class PipelineName
|
110
|
-
SINGLE_USE = 'SingleUse'
|
111
|
-
MULTI_USE = 'MultiUse'
|
112
|
-
RECURRING = 'Recurring'
|
113
|
-
RECIPIENT = 'Recipient'
|
114
|
-
SETUP_PREPAID = 'SetupPrepaid'
|
115
|
-
SETUP_POSTPAID = 'SetupPostpaid'
|
116
|
-
EDIT_TOKEN = 'EditToken'
|
117
|
-
end
|
118
|
-
|
119
|
-
class PipelineStatusCode
|
120
|
-
CALLER_EXCEPTION = 'CE' # problem with your code
|
121
|
-
SYSTEM_ERROR = 'SE' # system error, try again
|
122
|
-
SUCCESS_ABT = 'SA' # successful payment with Amazon balance
|
123
|
-
SUCCESS_ACH = 'SB' # successful payment with bank transfer
|
124
|
-
SUCCESS_CC = 'SC' # successful payment with credit card
|
125
|
-
ABORTED = 'A' # user aborted payment
|
126
|
-
PAYMENT_METHOD_MISMATCH = 'PE' # user does not have payment method requested
|
127
|
-
PAYMENT_METHOD_UNSUPPORTED = 'NP' # account doesn't support requested payment method
|
128
|
-
INVALID_CALLER = 'NM' # you are not a valid 3rd party caller to the transaction
|
129
|
-
SUCCESS_RECIPIENT_TOKEN_INSTALLED = 'SR'
|
130
|
-
SUCCESS_NO_CHANGE = 'SU' # the existing token was not changed
|
131
|
-
end
|
132
|
-
|
133
|
-
module RequestTypes
|
134
|
-
class Amount < Remit::Request
|
135
|
-
parameter :value
|
136
|
-
parameter :currency_code
|
137
|
-
end
|
138
|
-
|
139
|
-
class DescriptorPolicy < Remit::Request
|
140
|
-
parameter :soft_descriptor_type
|
141
|
-
parameter :CS_number_of
|
142
|
-
end
|
143
|
-
|
144
|
-
#Amazon Docs list MarketplaceRefundPolicy as a ComplexDataType, but it is not.
|
145
|
-
#It really should be listed under Enumerated DataTypes
|
146
|
-
#MarketplaceTxnOnly Caller refunds his fee to the recipient. String
|
147
|
-
#MasterAndMarketplaceTxn Caller and Amazon FPS refund their fees to the String
|
148
|
-
# sender, and the recipient refunds his amount
|
149
|
-
#MasterTxnOnly Caller does not refund his fee. Amazon FPS String
|
150
|
-
# refunds its fee and the recipient refunds his amount
|
151
|
-
# plus the caller's fee to the sender.
|
152
|
-
class MarketplaceRefundPolicy < Remit::Request
|
153
|
-
POLICY = {
|
154
|
-
:marketplace_txn_only => 'MarketplaceTxnOnly',
|
155
|
-
:master_and_marketplace_txn => 'MasterAndMarketplaceTxn',
|
156
|
-
:master_txn_only => 'MasterTxnOnly'
|
157
|
-
}
|
158
|
-
end
|
159
|
-
|
160
|
-
end
|
161
|
-
|
162
|
-
class Operation
|
163
|
-
PAY = "Pay"
|
164
|
-
REFUND = "Refund"
|
165
|
-
SETTLE = "Settle"
|
166
|
-
SETTLE_DEBT = "SettleDebt"
|
167
|
-
WRITE_OFF_DEBT = "WriteOffDebt"
|
168
|
-
FUND_PREPAID = "FundPrepaid"
|
169
|
-
end
|
170
|
-
end
|
data/lib/remit/error_codes.rb
DELETED
@@ -1,118 +0,0 @@
|
|
1
|
-
# Scraped and categorized from http://docs.amazonwebservices.com/AmazonFPS/\
|
2
|
-
# 2007-01-08/FPSDeveloperGuide/index.html?ErrorCodesTable.html. You can use
|
3
|
-
# these categories to specify default error handling in your application such
|
4
|
-
# as asking users to retry or sending an exception email.
|
5
|
-
module Remit::ErrorCodes
|
6
|
-
class << self
|
7
|
-
def sender_error?(code)
|
8
|
-
SENDER.include? code.to_sym
|
9
|
-
end
|
10
|
-
|
11
|
-
def recipient_error?(code)
|
12
|
-
RECIPIENT.include? code.to_sym
|
13
|
-
end
|
14
|
-
|
15
|
-
def caller_error?(code)
|
16
|
-
CALLER.include?(code.to_sym)
|
17
|
-
end
|
18
|
-
|
19
|
-
def amazon_error?(code)
|
20
|
-
AMAZON.include? code.to_sym
|
21
|
-
end
|
22
|
-
|
23
|
-
def api_error?(code)
|
24
|
-
API.include? code.to_sym
|
25
|
-
end
|
26
|
-
|
27
|
-
def unknown_error?(code)
|
28
|
-
UNKNOWN.include? code.to_sym
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
SENDER = [
|
33
|
-
:InactiveAccount_Sender, # The sender's account is in suspended or closed state.
|
34
|
-
:InactiveInstrument, # The payment instrument used for this transaction is no longer active.
|
35
|
-
:InstrumentExpired, # The prepaid or the postpaid instrument has expired.
|
36
|
-
:InstrumentNotActive, # The prepaid or postpaid instrument used in the transaction is not active.
|
37
|
-
:InvalidAccountState_Sender, # Sender account cannot participate in the transaction.
|
38
|
-
:InvalidInstrumentForAccountType, # The sender account can use only credit cards
|
39
|
-
:InvalidInstrumentState, # The prepaid or credit instrument should be active
|
40
|
-
:InvalidTokenId_Sender, # The send token specified is either invalid or canceled or the token is not active.
|
41
|
-
:PaymentInstrumentNotCC, # The payment method specified in the transaction is not a credit card. You can only use a credit card for this transaction.
|
42
|
-
:PaymentInstrumentMissing, # There needs to be a payment instrument defined in the token which defines the payment method.
|
43
|
-
:TokenNotActive_Sender, # The sender token is canceled.
|
44
|
-
:UnverifiedAccount_Sender, # The sender's account must have a verified U.S. credit card or a verified U.S bank account before this transaction can be initiated
|
45
|
-
:UnverifiedBankAccount, # A verified bank account should be used for this transaction
|
46
|
-
:UnverifiedEmailAddress_Sender, # The sender account must have a verified e-mail address for this payment
|
47
|
-
]
|
48
|
-
|
49
|
-
RECIPIENT = [
|
50
|
-
:InactiveAccount_Recipient, # The recipient's account is in suspended or closed state.
|
51
|
-
:InvalidAccountState_Recipient, # Recipient account cannot participate in the transaction
|
52
|
-
:InvalidRecipientRoleForAccountType, # The recipient account is not allowed to receive payments
|
53
|
-
:InvalidRecipientForCCTransaction, # This account cannot receive credit card payments.
|
54
|
-
:InvalidTokenId_Recipient, # The recipient token specified is either invalid or canceled.
|
55
|
-
:TokenNotActive_Recipient, # The recipient token is canceled.
|
56
|
-
:UnverifiedAccount_Recipient, # The recipient's account must have a verified bank account or a credit card before this transaction can be initiated.
|
57
|
-
:UnverifiedEmailAddress_Recipient, # The recipient account must have a verified e-mail address for receiving payments.
|
58
|
-
]
|
59
|
-
|
60
|
-
CALLER = [
|
61
|
-
:InactiveAccount_Caller, # The caller's account is in suspended or closed state.
|
62
|
-
:InvalidAccountState_Caller, # The caller account cannot participate in the transaction
|
63
|
-
:InvalidTokenId_Caller, # The caller token specified is either invalid or canceled or the specified token is not active.
|
64
|
-
:TokenNotActive_Caller, # The caller token is canceled.
|
65
|
-
:UnverifiedEmailAddress_Caller, # The caller account must have a verified e-mail address
|
66
|
-
]
|
67
|
-
|
68
|
-
AMAZON = [
|
69
|
-
:InternalError # A retriable error that happens due to some transient problem in the system.
|
70
|
-
]
|
71
|
-
|
72
|
-
# bad syntax or logic
|
73
|
-
API = [
|
74
|
-
:AmountOutOfRange, # The transaction amount is more than the allowed range.
|
75
|
-
:BadRule, # One of the GK constructs is not well defined
|
76
|
-
:CannotSpecifyUsageForSingleUseToken, # Token usages cannot be specified for a single use token.
|
77
|
-
:ConcurrentModification, # A retriable error can happen due to concurrent modification of data by two processes.
|
78
|
-
:DuplicateRequest, # A different request associated with this caller reference already exists.
|
79
|
-
:IncompatibleTokens, # The transaction could not be completed because the tokens have incompatible payment instructions.
|
80
|
-
:InstrumentAccessDenied, # The external calling application is not the recipient for this postpaid or prepaid instrument. The caller should be the liability holder
|
81
|
-
:InvalidCallerReference, # The CallerReferece does not have a token associated with it.
|
82
|
-
:InvalidDateRange, # The end date specified is before the start date or the start date is in the future.
|
83
|
-
:InvalidEvent, # The event specified was not subscribed using the SubscribeForCallerNotification operation.
|
84
|
-
:InvalidParams, # One or more parameters in the request is invalid.
|
85
|
-
:InvalidPaymentInstrument, # The payment method used in the transaction is invalid.
|
86
|
-
:InvalidPaymentMethod, # Payment method specified in the GK construct is invalid.
|
87
|
-
:InvalidSenderRoleForAccountType, # This token cannot be used for this operation.
|
88
|
-
:InvalidTokenId, # The token that you are trying to cancel was not installed by you.
|
89
|
-
:InvalidTokenType, # Invalid operation performed on the token. Example, getting the token usage information on a single use token.
|
90
|
-
:InvalidTransactionId, # The specified transaction could not be found or the caller did not execute the transaction or this is not a Pay or Reserve call.
|
91
|
-
:InvalidTransactionState, # The transaction is not completed or it has been temporarily failed.
|
92
|
-
:InvalidUsageDuration, # The duration cannot be less than one hour.
|
93
|
-
:InvalidUsageLimitCount, # The usage count is null or empty.
|
94
|
-
:InvalidUsageStartTime, # The start time specified for the token is not valid.
|
95
|
-
:InvalidUsageType, # The usage type specified is invalid.
|
96
|
-
:OriginalTransactionIncomplete, # The original transaction is still in progress.
|
97
|
-
:OriginalTransactionFailed, # The original transaction has failed
|
98
|
-
:PaymentMethodNotDefined, # Payment method is not defined in the transaction.
|
99
|
-
:RefundAmountExceeded, # The refund amount is more than the refundable amount.
|
100
|
-
:SameTokenIdUsedMultipleTimes, # This token is already used in earlier transactions.
|
101
|
-
:SenderNotOriginalRecipient, # The sender in the refund transaction is not the recipient of the original transaction.
|
102
|
-
:SettleAmountGreaterThanReserveAmount, # The amount being settled is greater than the reserved amount.
|
103
|
-
:TransactionDenied, # This transaction is not allowed.
|
104
|
-
:TransactionExpired, # Returned when the Caller attempts to explicitly retry a transaction that is temporarily declined and is in queue for implicit retry.
|
105
|
-
:TransactionFullyRefundedAlready, # The complete refund for this transaction is already completed
|
106
|
-
:TransactionTypeNotRefundable, # You cannot refund this transaction.
|
107
|
-
:TokenAccessDenied, # Permission is denied to cancel the token.
|
108
|
-
:TokenUsageError, # The token usage limit is exceeded.
|
109
|
-
:UsageNotDefined, # For a multi-use token or a recurring token the usage limits are not specified in the GateKeeper text.
|
110
|
-
]
|
111
|
-
|
112
|
-
# these errors don't specify who is at fault
|
113
|
-
UNKNOWN = [
|
114
|
-
:InvalidAccountState, # The account is either suspended or closed. Payment instructions cannot be installed on this account.
|
115
|
-
:InsufficientBalance, # The sender, caller, or recipient's account balance has insufficient funds to complete the transaction.
|
116
|
-
:AccountLimitsExceeded, # The spending or the receiving limit on the account is exceeded
|
117
|
-
]
|
118
|
-
end
|
data/lib/remit/get_pipeline.rb
DELETED
@@ -1,212 +0,0 @@
|
|
1
|
-
require 'erb'
|
2
|
-
|
3
|
-
require 'remit/common'
|
4
|
-
|
5
|
-
module Remit
|
6
|
-
module GetPipeline
|
7
|
-
class Pipeline
|
8
|
-
@parameters = []
|
9
|
-
attr_reader :parameters
|
10
|
-
|
11
|
-
class << self
|
12
|
-
# Create the parameters hash for the subclass.
|
13
|
-
def inherited(subclass) #:nodoc:
|
14
|
-
subclass.instance_variable_set('@parameters', [])
|
15
|
-
end
|
16
|
-
|
17
|
-
def parameter(name)
|
18
|
-
attr_accessor name
|
19
|
-
@parameters << name
|
20
|
-
end
|
21
|
-
|
22
|
-
def convert_key(key)
|
23
|
-
key.to_s.gsub(/_(.)/) { $1.upcase }.to_sym
|
24
|
-
end
|
25
|
-
|
26
|
-
# Returns a hash of all of the parameters for this request, including
|
27
|
-
# those that are inherited.
|
28
|
-
def parameters #:nodoc:
|
29
|
-
(superclass.respond_to?(:parameters) ? superclass.parameters : []) + @parameters
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
attr_reader :api
|
34
|
-
|
35
|
-
parameter :pipeline_name
|
36
|
-
parameter :return_url
|
37
|
-
parameter :caller_key
|
38
|
-
parameter :version
|
39
|
-
parameter :address_name
|
40
|
-
parameter :address_line_1
|
41
|
-
parameter :address_line_2
|
42
|
-
parameter :city
|
43
|
-
parameter :state
|
44
|
-
parameter :zip
|
45
|
-
parameter :country
|
46
|
-
parameter :phone_number
|
47
|
-
|
48
|
-
def initialize(api, options)
|
49
|
-
@api = api
|
50
|
-
|
51
|
-
options.each do |k,v|
|
52
|
-
self.send("#{k}=", v)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def url
|
57
|
-
uri = URI.parse(@api.pipeline_url)
|
58
|
-
|
59
|
-
query = {}
|
60
|
-
self.class.parameters.each do |p|
|
61
|
-
val = self.send(p)
|
62
|
-
|
63
|
-
# Convert Time values to seconds from Epoch
|
64
|
-
val = val.to_i if val.is_a?(Time)
|
65
|
-
|
66
|
-
query[self.class.convert_key(p.to_s)] = val
|
67
|
-
end
|
68
|
-
|
69
|
-
# Remove any unused optional parameters
|
70
|
-
query.reject! { |key, value| value.nil? || (value.is_a?(String) && value.empty?) }
|
71
|
-
|
72
|
-
uri.query = SignedQuery.new(@api.pipeline_url, @api.secret_key, query).to_s
|
73
|
-
uri.to_s
|
74
|
-
end
|
75
|
-
|
76
|
-
def method_missing(method, *args)
|
77
|
-
if self.class.parameters.include?(method.to_sym)
|
78
|
-
self.send(method.to_sym)
|
79
|
-
else
|
80
|
-
super
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
class SingleUsePipeline < Pipeline
|
87
|
-
parameter :caller_reference
|
88
|
-
parameter :payment_reason
|
89
|
-
parameter :payment_method
|
90
|
-
parameter :transaction_amount
|
91
|
-
parameter :recipient_token
|
92
|
-
|
93
|
-
def pipeline_name
|
94
|
-
Remit::PipelineName::SINGLE_USE
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
|
-
class MultiUsePipeline < Pipeline
|
99
|
-
parameter :caller_reference
|
100
|
-
parameter :payment_reason
|
101
|
-
parameter :recipient_token_list
|
102
|
-
parameter :amount_type
|
103
|
-
parameter :transaction_amount
|
104
|
-
parameter :validity_start
|
105
|
-
parameter :validity_expiry
|
106
|
-
parameter :payment_method
|
107
|
-
parameter :global_amount_limit
|
108
|
-
parameter :usage_limit_type_1
|
109
|
-
parameter :usage_limit_period_1
|
110
|
-
parameter :usage_limit_value_1
|
111
|
-
parameter :usage_limit_type_2
|
112
|
-
parameter :usage_limit_period_2
|
113
|
-
parameter :usage_limit_value_2
|
114
|
-
parameter :is_recipient_cobranding
|
115
|
-
|
116
|
-
def pipeline_name
|
117
|
-
Remit::PipelineName::MULTI_USE
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
class RecipientPipeline < Pipeline
|
122
|
-
parameter :caller_reference
|
123
|
-
parameter :validity_start # Time or seconds from Epoch
|
124
|
-
parameter :validity_expiry # Time or seconds from Epoch
|
125
|
-
parameter :payment_method
|
126
|
-
parameter :recipient_pays_fee
|
127
|
-
parameter :caller_reference_refund
|
128
|
-
parameter :max_variable_fee
|
129
|
-
parameter :max_fixed_fee
|
130
|
-
|
131
|
-
def pipeline_name
|
132
|
-
Remit::PipelineName::RECIPIENT
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
class RecurringUsePipeline < Pipeline
|
137
|
-
parameter :caller_reference
|
138
|
-
parameter :payment_reason
|
139
|
-
parameter :recipient_token
|
140
|
-
parameter :transaction_amount
|
141
|
-
parameter :validity_start # Time or seconds from Epoch
|
142
|
-
parameter :validity_expiry # Time or seconds from Epoch
|
143
|
-
parameter :payment_method
|
144
|
-
parameter :recurring_period
|
145
|
-
|
146
|
-
def pipeline_name
|
147
|
-
Remit::PipelineName::RECURRING
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
class PostpaidPipeline < Pipeline
|
152
|
-
parameter :caller_reference_sender
|
153
|
-
parameter :caller_reference_settlement
|
154
|
-
parameter :payment_reason
|
155
|
-
parameter :payment_method
|
156
|
-
parameter :validity_start # Time or seconds from Epoch
|
157
|
-
parameter :validity_expiry # Time or seconds from Epoch
|
158
|
-
parameter :credit_limit
|
159
|
-
parameter :global_amount_limit
|
160
|
-
parameter :usage_limit_type1
|
161
|
-
parameter :usage_limit_period1
|
162
|
-
parameter :usage_limit_value1
|
163
|
-
parameter :usage_limit_type2
|
164
|
-
parameter :usage_limit_period2
|
165
|
-
parameter :usage_limit_value2
|
166
|
-
|
167
|
-
def pipeline_name
|
168
|
-
Remit::PipelineName::SETUP_POSTPAID
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
|
-
class EditTokenPipeline < Pipeline
|
173
|
-
parameter :caller_reference
|
174
|
-
parameter :payment_method
|
175
|
-
parameter :token_id
|
176
|
-
|
177
|
-
def pipeline_name
|
178
|
-
Remit::PipelineName::EDIT_TOKEN
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
def get_single_use_pipeline(options)
|
183
|
-
self.get_pipeline(SingleUsePipeline, options)
|
184
|
-
end
|
185
|
-
|
186
|
-
def get_multi_use_pipeline(options)
|
187
|
-
self.get_pipeline(MultiUsePipeline, {:version => Date.new(2009, 1, 9).to_s}.merge(options))
|
188
|
-
end
|
189
|
-
|
190
|
-
def get_recipient_pipeline(options)
|
191
|
-
self.get_pipeline(RecipientPipeline, {:version => Date.new(2009, 1, 9).to_s}.merge(options))
|
192
|
-
end
|
193
|
-
|
194
|
-
def get_recurring_use_pipeline(options)
|
195
|
-
self.get_pipeline(RecurringUsePipeline, options)
|
196
|
-
end
|
197
|
-
|
198
|
-
def get_postpaid_pipeline(options)
|
199
|
-
self.get_pipeline(PostpaidPipeline, options)
|
200
|
-
end
|
201
|
-
|
202
|
-
def get_edit_token_pipeline(options)
|
203
|
-
self.get_pipeline(EditTokenPipeline, options)
|
204
|
-
end
|
205
|
-
|
206
|
-
def get_pipeline(pipeline_subclass, options)
|
207
|
-
pipeline = pipeline_subclass.new(self, {
|
208
|
-
:caller_key => @access_key
|
209
|
-
}.merge(options))
|
210
|
-
end
|
211
|
-
end
|
212
|
-
end
|