Class: Paypal::Express::Request
Constant Summary
Constants inherited
from NVP::Request
NVP::Request::ENDPOINT
Instance Attribute Summary
Attributes inherited from NVP::Request
#version
Instance Method Summary
collapse
-
#agree!(token, options = {}) ⇒ Object
Reference Transaction Specific.
-
#agreement(reference_id) ⇒ Object
-
#cancel!(profile_id, options = {}) ⇒ Object
-
#charge!(reference_id, amount, options = {}) ⇒ Object
-
#checkout!(token, payer_id, payment_requests) ⇒ Object
-
#details(token) ⇒ Object
-
#reactivate!(profile_id, options = {}) ⇒ Object
-
#refund!(transaction_id, options = {}) ⇒ Object
-
#renew!(profile_id, action, options = {}) ⇒ Object
-
#revoke!(reference_id) ⇒ Object
-
#setup(payment_requests, return_url, cancel_url, options = {}) ⇒ Object
-
#subscribe!(token, recurring_profile) ⇒ Object
Recurring Payment Specific.
-
#subscription(profile_id) ⇒ Object
-
#suspend!(profile_id, options = {}) ⇒ Object
-
#transaction_details(transaction_id) ⇒ Object
#common_params, endpoint, #initialize, #request
Methods inherited from Base
#initialize
Methods included from Util
#==, formatted_amount, #numeric_attribute?, to_numeric
Instance Method Details
#agree!(token, options = {}) ⇒ Object
Reference Transaction Specific
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/paypal/express/request.rb', line 92
def agree!(token, options = {})
params = {
:TOKEN => token
}
if options[:max_amount]
params[:MAXAMT] = Util.formatted_amount options[:max_amount]
end
response = self.request :CreateBillingAgreement, params
Response.new response
end
|
#agreement(reference_id) ⇒ Object
103
104
105
106
107
108
109
|
# File 'lib/paypal/express/request.rb', line 103
def agreement(reference_id)
params = {
:REFERENCEID => reference_id,
}
response = self.request :BillAgreementUpdate, params
Response.new response
end
|
#cancel!(profile_id, options = {}) ⇒ Object
81
82
83
|
# File 'lib/paypal/express/request.rb', line 81
def cancel!(profile_id, options = {})
renew!(profile_id, :Cancel, options)
end
|
#charge!(reference_id, amount, options = {}) ⇒ Object
111
112
113
114
115
116
117
118
119
120
121
122
|
# File 'lib/paypal/express/request.rb', line 111
def charge!(reference_id, amount, options = {})
params = {
:REFERENCEID => reference_id,
:AMT => Util.formatted_amount(amount),
:PAYMENTACTION => options[:payment_action] || :Sale
}
if options[:currency_code]
params[:CURRENCYCODE] = options[:currency_code]
end
response = self.request :DoReferenceTransaction, params
Response.new response
end
|
#checkout!(token, payer_id, payment_requests) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/paypal/express/request.rb', line 33
def checkout!(token, payer_id, payment_requests)
params = {
:TOKEN => token,
:PAYERID => payer_id
}
Array(payment_requests).each_with_index do |payment_request, index|
params.merge! payment_request.to_params(index)
end
response = self.request :DoExpressCheckoutPayment, params
Response.new response
end
|
#details(token) ⇒ Object
23
24
25
26
|
# File 'lib/paypal/express/request.rb', line 23
def details(token)
response = self.request :GetExpressCheckoutDetails, {:TOKEN => token}
Response.new response
end
|
#reactivate!(profile_id, options = {}) ⇒ Object
85
86
87
|
# File 'lib/paypal/express/request.rb', line 85
def reactivate!(profile_id, options = {})
renew!(profile_id, :Reactivate, options)
end
|
#refund!(transaction_id, options = {}) ⇒ Object
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
# File 'lib/paypal/express/request.rb', line 136
def refund!(transaction_id, options = {})
params = {
:TRANSACTIONID => transaction_id,
:REFUNDTYPE => :Full
}
if options[:invoice_id]
params[:INVOICEID] = options[:invoice_id]
end
if options[:type]
params[:REFUNDTYPE] = options[:type]
params[:AMT] = options[:amount]
params[:CURRENCYCODE] = options[:currency_code]
end
if options[:note]
params[:NOTE] = options[:note]
end
response = self.request :RefundTransaction, params
Response.new response
end
|
#renew!(profile_id, action, options = {}) ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/paypal/express/request.rb', line 65
def renew!(profile_id, action, options = {})
params = {
:PROFILEID => profile_id,
:ACTION => action
}
if options[:note]
params[:NOTE] = options[:note]
end
response = self.request :ManageRecurringPaymentsProfileStatus, params
Response.new response
end
|
#revoke!(reference_id) ⇒ Object
124
125
126
127
128
129
130
131
|
# File 'lib/paypal/express/request.rb', line 124
def revoke!(reference_id)
params = {
:REFERENCEID => reference_id,
:BillingAgreementStatus => :Canceled
}
response = self.request :BillAgreementUpdate, params
Response.new response
end
|
#setup(payment_requests, return_url, cancel_url, options = {}) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/paypal/express/request.rb', line 7
def setup(payment_requests, return_url, cancel_url, options = {})
params = {
:RETURNURL => return_url,
:CANCELURL => cancel_url
}
if options[:no_shipping]
params[:REQCONFIRMSHIPPING] = 0
params[:NOSHIPPING] = 1
end
Array(payment_requests).each_with_index do |payment_request, index|
params.merge! payment_request.to_params(index)
end
response = self.request :SetExpressCheckout, params
Response.new response, options
end
|
#subscribe!(token, recurring_profile) ⇒ Object
Recurring Payment Specific
48
49
50
51
52
53
54
55
|
# File 'lib/paypal/express/request.rb', line 48
def subscribe!(token, recurring_profile)
params = {
:TOKEN => token
}
params.merge! recurring_profile.to_params
response = self.request :CreateRecurringPaymentsProfile, params
Response.new response
end
|
#subscription(profile_id) ⇒ Object
57
58
59
60
61
62
63
|
# File 'lib/paypal/express/request.rb', line 57
def subscription(profile_id)
params = {
:PROFILEID => profile_id
}
response = self.request :GetRecurringPaymentsProfileDetails, params
Response.new response
end
|
#suspend!(profile_id, options = {}) ⇒ Object
77
78
79
|
# File 'lib/paypal/express/request.rb', line 77
def suspend!(profile_id, options = {})
renew!(profile_id, :Suspend, options)
end
|
#transaction_details(transaction_id) ⇒ Object
28
29
30
31
|
# File 'lib/paypal/express/request.rb', line 28
def transaction_details( transaction_id )
response = self.request :GetTransactionDetails, {:TRANSACTIONID=> transaction_id}
Response.new response
end
|