paypal-sdk-adaptiveaccounts 1.102.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d0e54476d9ac28242ed52e6318a68b6c66cde5b2
4
+ data.tar.gz: cbe270bccc53b674b0b18a450956f9f27d9574d3
5
+ SHA512:
6
+ metadata.gz: 26f5978cd632a11ecf58f4109b70a0c11c5328517fb9291dd651c2390a33fc27fb8fca786f9beb257d3b746e73bdf6dc01e084aed417869e40fdc20f1b728f54
7
+ data.tar.gz: 8600e9ca9e22b7b50e00d2b86fc23f9031eb5cc6add7af5f86d83f61fa7af79a2625c0430afa0fb47a53cfb29b6364e1c8724fd9bd11ddc0150eb0f30bdbfa06
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'paypal-sdk-core', :git => "https://github.com/paypal/sdk-core-ruby.git"
6
+
7
+ if File.exist? File.expand_path('../samples/adaptive_accounts_samples.gemspec', __FILE__)
8
+ gem 'adaptive_accounts_samples', :path => 'samples', :require => false
9
+ group :test do
10
+ gem 'rspec-rails', '~> 2.14.1', :require => false
11
+ gem 'capybara', '~> 2.0.3', :require => false
12
+ end
13
+ end
14
+
15
+ group :test do
16
+ gem 'rspec', '~> 2.14.1'
17
+ end
data/README.md ADDED
@@ -0,0 +1,144 @@
1
+ # Adaptive Accounts SDK
2
+
3
+ The PayPal Adaptive Accounts SDK provides Ruby APIs to create and manage PayPal accounts, add payment methods to accounts and obtain account verification status using the PayPal Adaptive Accounts API.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'paypal-sdk-adaptiveaccounts'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```sh
16
+ $ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+
21
+ ```sh
22
+ $ gem install paypal-sdk-adaptiveaccounts
23
+ ```
24
+
25
+ ## Configuration
26
+
27
+ For Rails application:
28
+
29
+ ```sh
30
+ rails g paypal:sdk:install
31
+ ```
32
+
33
+ For other ruby application, create a configuration file(`config/paypal.yml`):
34
+
35
+ ```yaml
36
+ development: &default
37
+ username: jb-us-seller_api1.paypal.com
38
+ password: WX4WTU3S8MY44S7F
39
+ signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
40
+ app_id: APP-80W284485P519543T
41
+ http_timeout: 30
42
+ mode: sandbox
43
+ # # with certificate
44
+ # cert_path: "config/cert_key.pem"
45
+ # # with token authentication
46
+ # token: ESTy2hio5WJQo1iixkH29I53RJxaS0Gvno1A6.YQXZgktxbY4I2Tdg
47
+ # token_secret: ZKPhUYuwJwYsfWdzorozWO2U9pI
48
+ # # with Proxy
49
+ # http_proxy: http://proxy-ipaddress:3129/
50
+ # # with device ip address
51
+ device_ipaddress: "127.0.0.1"
52
+ # # Sandbox email address
53
+ sandbox_email_address: platform.sdk.seller@gmail.com
54
+ test:
55
+ <<: *default
56
+ production:
57
+ <<: *default
58
+ mode: live
59
+ ```
60
+
61
+ Load Configurations from specified file:
62
+
63
+ ```ruby
64
+ PayPal::SDK::Core::Config.load('config/paypal.yml', ENV['RACK_ENV'] || 'development')
65
+ ```
66
+
67
+ ## Example
68
+
69
+ ```ruby
70
+ require 'paypal-sdk-adaptiveaccounts'
71
+
72
+ # device_ipaddress and sandbox_email_address is required for create_account.
73
+ @api = PayPal::SDK::AdaptiveAccounts::API.new(
74
+ :mode => "sandbox", # Set "live" for production
75
+ :app_id => "APP-80W284485P519543T",
76
+ :username => "jb-us-seller_api1.paypal.com",
77
+ :password => "WX4WTU3S8MY44S7F",
78
+ :signature => "AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy",
79
+ :device_ipaddress => "127.0.0.1",
80
+ :sandbox_email_address => "platform.sdk.seller@gmail.com" )
81
+
82
+ # Build request object
83
+ @create_account = @api.build_create_account({
84
+ :accountType => "Personal",
85
+ :name => {
86
+ :salutation => "Mr.",
87
+ :firstName => "Bonzop",
88
+ :middleName => "Simore",
89
+ :lastName => "Zaius" },
90
+ :dateOfBirth => "1968-01-01",
91
+ :address => {
92
+ :line1 => "1968 Ape Way",
93
+ :city => "Austin",
94
+ :state => "TX",
95
+ :postalCode => "78750",
96
+ :countryCode => "US" },
97
+ :contactPhoneNumber => "5126914160",
98
+ :homePhoneNumber => "5126914160",
99
+ :mobilePhoneNumber => "5126914160",
100
+ :currencyCode => "USD",
101
+ :citizenshipCountryCode => "US",
102
+ :preferredLanguageCode => "en_US",
103
+ :notificationURL => "http://localhost:3000/samples/adaptive_accounts/ipn_notify",
104
+ :emailAddress => "newEmailAddress@paypal.com",
105
+ :registrationType => "Web",
106
+ :createAccountWebOptions => {
107
+ :returnUrl => "http://localhost:3000/samples/adaptive_accounts/create_account",
108
+ :showAddCreditCard => true } })
109
+
110
+ # Make API call & get response
111
+ @create_account_response = @api.create_account(@create_account)
112
+
113
+ # Response status
114
+ if @create_account_response.success?
115
+ print @create_account_response.accountId
116
+ else
117
+ print @create_account_response.error[0].message
118
+ end
119
+ ```
120
+
121
+ For more samples [paypal-sdk-samples.herokuapp.com/adaptive_accounts/](https://paypal-sdk-samples.herokuapp.com/adaptive_accounts/)
122
+
123
+ ## Samples App
124
+
125
+ Add following line in rails `Gemfile`:
126
+
127
+ ```ruby
128
+ gem 'paypal-sdk-adaptiveaccounts'
129
+ gem 'adaptive_accounts_samples', :git => "https://github.com/paypal/adaptiveaccounts-sdk-ruby.git", :group => :development
130
+ ```
131
+
132
+ Configure routes(`config/routes.rb`):
133
+
134
+ ```ruby
135
+ mount AdaptiveAccountsSamples::Engine => "/samples" if Rails.env.development?
136
+ ```
137
+
138
+ To get default paypal configuration execute:
139
+
140
+ ```sh
141
+ rails g paypal:sdk:install
142
+ ```
143
+
144
+ Run `rails server` and check the samples.
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ desc "Run tests"
4
+ task :rspec do
5
+ cmd = "bundle exec rspec && cd samples && bundle exec rspec"
6
+ system(cmd) || raise("#{cmd} failed")
7
+ end
8
+
9
+ desc "View samples"
10
+ task :samples do
11
+ system("cd samples/spec/dummy && bundle exec rails server")
12
+ end
13
+
14
+ task :default => :rspec
@@ -0,0 +1,26 @@
1
+ require 'paypal-sdk-core'
2
+
3
+ module PayPal
4
+ module SDK
5
+ module AdaptiveAccounts
6
+ class API < Core::API::Platform
7
+ include Services
8
+
9
+ def initialize(environment = nil, options = {})
10
+ super(SERVICE_NAME, environment, options)
11
+ end
12
+
13
+ ADAPTIVE_ACCOUNTS_HTTP_HEADER = { "X-PAYPAL-REQUEST-SOURCE" => "adaptiveaccounts-ruby-sdk-#{VERSION}" }
14
+ def default_http_header
15
+ super.merge(ADAPTIVE_ACCOUNTS_HTTP_HEADER)
16
+ end
17
+
18
+ # Validate IPN message
19
+ def ipn_valid?(raw_post_data)
20
+ Core::API::IPN.valid?(raw_post_data, config)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,796 @@
1
+ # Stub objects for AdaptiveAccounts
2
+ # Auto generated code
3
+
4
+ require 'paypal-sdk-core'
5
+
6
+ module PayPal::SDK
7
+ module AdaptiveAccounts
8
+ module DataTypes
9
+
10
+ class DataType < Core::API::DataTypes::Base
11
+ def self.load_members
12
+ add_attribute :xmlns
13
+ add_attribute :type, :namespace => :xsi
14
+ end
15
+ end
16
+
17
+ module ResponseStatus
18
+ Status = { :success => ["Success", "SuccessWithWarning"],
19
+ :warning => ["Warning", "SuccessWithWarning", "FailureWithWarning"],
20
+ :failure => ["Failure", "FailureWithWarning"] }
21
+
22
+ def response_status
23
+ self.responseEnvelope && self.responseEnvelope.ack
24
+ end
25
+
26
+ Status.keys.each do |status|
27
+ define_method("#{status}?") do
28
+ Status[status].include?(self.response_status)
29
+ end
30
+ end
31
+ end
32
+
33
+ class EnumType < Core::API::DataTypes::Enum
34
+ end
35
+
36
+ # This type contains the detailed error information resulting from the service operation.
37
+ class ErrorData < DataType
38
+ def self.load_members
39
+ object_of :errorId, Integer
40
+ object_of :domain, String
41
+ object_of :subdomain, String
42
+ object_of :severity, ErrorSeverity
43
+ object_of :category, ErrorCategory
44
+ object_of :message, String
45
+ object_of :exceptionId, String
46
+ array_of :parameter, ErrorParameter
47
+ end
48
+ end
49
+
50
+
51
+
52
+ class ErrorParameter < DataType
53
+ def self.load_members
54
+ add_attribute :name, :required => true
55
+ object_of :value, String, :required => true
56
+ end
57
+ end
58
+
59
+
60
+
61
+ # This specifies the list of parameters with every request to the service.
62
+ class RequestEnvelope < DataType
63
+ def self.load_members
64
+ # This specifies the required detail level that is needed by a client application pertaining to a particular data component (e.g., Item, Transaction, etc.). The detail level is specified in the DetailLevelCodeType which has all the enumerated values of the detail level for each component.
65
+ object_of :detailLevel, DetailLevelCode
66
+ # This should be the standard RFC 3066 language identification tag, e.g., en_US.
67
+ object_of :errorLanguage, String
68
+ end
69
+ end
70
+
71
+
72
+
73
+ # This specifies a list of parameters with every response from a service.
74
+ class ResponseEnvelope < DataType
75
+ def self.load_members
76
+ object_of :timestamp, DateTime, :required => true
77
+ # Application level acknowledgement code.
78
+ object_of :ack, AckCode, :required => true
79
+ object_of :correlationId, String, :required => true
80
+ object_of :build, String, :required => true
81
+ end
82
+ end
83
+
84
+
85
+
86
+ # This elements in this type refers to the end user of the application invoking this service.
87
+ class ClientDetailsType < DataType
88
+ def self.load_members
89
+ object_of :ipAddress, String
90
+ object_of :deviceId, String
91
+ object_of :applicationId, String
92
+ object_of :model, String
93
+ object_of :geoLocation, String
94
+ object_of :customerType, String
95
+ object_of :partnerName, String
96
+ object_of :customerId, String
97
+ end
98
+ end
99
+
100
+
101
+
102
+ # This specifies a fault, encapsulating error data, with specific error codes.
103
+ class FaultMessage < DataType
104
+ def self.load_members
105
+ include ResponseStatus
106
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
107
+ array_of :error, ErrorData
108
+ end
109
+ end
110
+
111
+
112
+
113
+ class ErrorSeverity < EnumType
114
+ self.options = { 'ERROR' => 'Error', 'WARNING' => 'Warning' }
115
+ end
116
+
117
+
118
+
119
+ class ErrorCategory < EnumType
120
+ self.options = { 'SYSTEM' => 'System', 'APPLICATION' => 'Application', 'REQUEST' => 'Request' }
121
+ end
122
+
123
+
124
+
125
+ # AckCodeType This code identifies the acknowledgement code types that could be used to communicate the status of processing a (request) message to an application. This code would be used as part of a response message that contains an application level acknowledgement element.
126
+ class AckCode < EnumType
127
+ self.options = { 'SUCCESS' => 'Success', 'FAILURE' => 'Failure', 'WARNING' => 'Warning', 'SUCCESSWITHWARNING' => 'SuccessWithWarning', 'FAILUREWITHWARNING' => 'FailureWithWarning' }
128
+ end
129
+
130
+
131
+
132
+ # DetailLevelCodeType
133
+ class DetailLevelCode < EnumType
134
+ self.options = { 'RETURNALL' => 'ReturnAll', 'RETURNATTRIBUTES' => 'ReturnAttributes' }
135
+ end
136
+
137
+
138
+
139
+ # Bank account type should be CHECKING, SAVINGS,BUSINESS_CHECKING, BUSINESS_SAVINGS,NORMAL, or UNKNOWN.
140
+ class BankAccountType < EnumType
141
+ self.options = { 'CHECKING' => 'CHECKING', 'SAVINGS' => 'SAVINGS', 'BUSINESSCHECKING' => 'BUSINESS_CHECKING', 'BUSINESSSAVINGS' => 'BUSINESS_SAVINGS', 'NORMAL' => 'NORMAL', 'UNKNOWN' => 'UNKNOWN' }
142
+ end
143
+
144
+
145
+
146
+ # API confirmation type currently Valid values are: NONE, MOBILE and WEB. WEB: Returns a URL to complete the registration.
147
+ class ConfirmationType < EnumType
148
+ self.options = { 'WEB' => 'WEB', 'MOBILE' => 'MOBILE', 'NONE' => 'NONE' }
149
+ end
150
+
151
+
152
+
153
+ # Business Types
154
+ class BusinessType < EnumType
155
+ self.options = { 'ASSOCIATION' => 'ASSOCIATION', 'CORPORATION' => 'CORPORATION', 'GENERALPARTNERSHIP' => 'GENERAL_PARTNERSHIP', 'GOVERNMENT' => 'GOVERNMENT', 'INDIVIDUAL' => 'INDIVIDUAL', 'LIMITEDLIABILITYPARTNERSHIP' => 'LIMITED_LIABILITY_PARTNERSHIP', 'LIMITEDLIABILITYPRIVATECORPORATION' => 'LIMITED_LIABILITY_PRIVATE_CORPORATION', 'LIMITEDLIABILITYPROPRIETORS' => 'LIMITED_LIABILITY_PROPRIETORS', 'LIMITEDPARTNERSHIP' => 'LIMITED_PARTNERSHIP', 'LIMITEDPARTNERSHIPPRIVATECORPORATION' => 'LIMITED_PARTNERSHIP_PRIVATE_CORPORATION', 'NONPROFIT' => 'NONPROFIT', 'OTHERCORPORATEBODY' => 'OTHER_CORPORATE_BODY', 'PARTNERSHIP' => 'PARTNERSHIP', 'PRIVATECORPORATION' => 'PRIVATE_CORPORATION', 'PRIVATEPARTNERSHIP' => 'PRIVATE_PARTNERSHIP', 'PROPRIETORSHIP' => 'PROPRIETORSHIP', 'PROPRIETORSHIPCRAFTSMAN' => 'PROPRIETORSHIP_CRAFTSMAN', 'PROPRIETARYCOMPANY' => 'PROPRIETARY_COMPANY', 'PUBLICCOMPANY' => 'PUBLIC_COMPANY', 'PUBLICCORPORATION' => 'PUBLIC_CORPORATION', 'PUBLICPARTNERSHIP' => 'PUBLIC_PARTNERSHIP' }
156
+ end
157
+
158
+
159
+
160
+ # Subtype required only for Business Type GOVERNMENT and ASSOCIATION GOVERNMENT: ENTITY, EMANATION,ESTD_COMMONWEALTH, ESTD_UNDER_STATE_TERRITORY, ESTD_UNDER_FOREIGN_COUNTRY ASSOCIATION: INCORPORATED, NON_INCORPORATED
161
+ class BusinessSubtypeType < EnumType
162
+ self.options = { 'ENTITY' => 'ENTITY', 'EMANATION' => 'EMANATION', 'ESTDCOMMONWEALTH' => 'ESTD_COMMONWEALTH', 'ESTDUNDERSTATETERRITORY' => 'ESTD_UNDER_STATE_TERRITORY', 'ESTDUNDERFOREIGNCOUNTRY' => 'ESTD_UNDER_FOREIGN_COUNTRY', 'INCORPORATED' => 'INCORPORATED', 'NONINCORPORATED' => 'NON_INCORPORATED' }
163
+ end
164
+
165
+
166
+
167
+ # Sales venue / store front type
168
+ class SalesVenueType < EnumType
169
+ self.options = { 'WEB' => 'WEB', 'EBAY' => 'EBAY', 'OTHERMARKETPLACE' => 'OTHER_MARKETPLACE', 'OTHER' => 'OTHER' }
170
+ end
171
+
172
+
173
+
174
+ # Stake holder role
175
+ class StakeholderRoleType < EnumType
176
+ self.options = { 'CHAIRMAN' => 'CHAIRMAN', 'SECRETARY' => 'SECRETARY', 'TREASURER' => 'TREASURER', 'BENEFICIALOWNER' => 'BENEFICIAL_OWNER', 'PRIMARYCONTACT' => 'PRIMARY_CONTACT', 'INDIVIDUALPARTNER' => 'INDIVIDUAL_PARTNER', 'NONINDIVIDUALPARTNER' => 'NON_INDIVIDUAL_PARTNER', 'PRIMARYINDIVIDUALPARTNER' => 'PRIMARY_INDIVIDUAL_PARTNER', 'DIRECTOR' => 'DIRECTOR', 'NOBENEFICIALOWNER' => 'NO_BENEFICIAL_OWNER' }
177
+ end
178
+
179
+
180
+
181
+ # SwitchMaestro, deprecated card type, use UKMaestro instead
182
+ class CardTypeType < EnumType
183
+ self.options = { 'VISA' => 'Visa', 'MASTERCARD' => 'MasterCard', 'AMERICANEXPRESS' => 'AmericanExpress', 'DISCOVER' => 'Discover', 'SWITCHMAESTRO' => 'SwitchMaestro', 'UKMAESTRO' => 'UKMaestro', 'CARTEAURORE' => 'CarteAurore', 'CARTEBLEUE' => 'CarteBleue', 'COFINOGA' => 'Cofinoga', 'ETOILES' => '4etoiles', 'CARTAAURA' => 'CartaAura', 'TARJETAAURORA' => 'TarjetaAurora', 'JCB' => 'JCB', 'MAESTRO' => 'Maestro' }
184
+ end
185
+
186
+
187
+
188
+ # Generic Yes or No input validation type.
189
+ class YesNoType < EnumType
190
+ self.options = { 'YES' => 'YES', 'NO' => 'NO' }
191
+ end
192
+
193
+
194
+
195
+ # Government ID Types
196
+ class GovernmentIDTypes < EnumType
197
+ self.options = { 'SIN' => 'SIN' }
198
+ end
199
+
200
+
201
+
202
+ # Legal Agreement Types
203
+ class LegalAgreementTypes < EnumType
204
+ self.options = { 'FINANCIALBINDINGAUTHORITY' => 'FINANCIAL_BINDING_AUTHORITY' }
205
+ end
206
+
207
+
208
+
209
+ class ProductActivationErrors < EnumType
210
+ self.options = { 'NOTALLOWED' => 'NOT_ALLOWED', 'MISSINGCC' => 'MISSING_CC', 'MISSINGMOBILEPHONE' => 'MISSING_MOBILE_PHONE', 'MISSINGPIN' => 'MISSING_PIN', 'MOBILEPHONENOTACTIVATED' => 'MOBILE_PHONE_NOT_ACTIVATED', 'PRODUCTEXISTS' => 'PRODUCT_EXISTS', 'UNCONFIRMEDMOBILE' => 'UNCONFIRMED_MOBILE', 'INTERNALERROR' => 'INTERNAL_ERROR' }
211
+ end
212
+
213
+
214
+
215
+ # Identifies a PayPal account to which this request is targeted. Caller of this API has to provide ONLY one of these inputs: emailAddress, accountId or phoneNumber.
216
+ class AccountIdentifierType < DataType
217
+ def self.load_members
218
+ # Identifies the PayPal account based on the emailAddress.
219
+ object_of :emailAddress, String, :required => true
220
+ # Identifies the PayPal account based on the phoneNumber.
221
+ object_of :mobilePhoneNumber, String, :required => true
222
+ # Identifies the PayPal account based on the accountId.
223
+ object_of :accountId, String, :required => true
224
+ end
225
+ end
226
+
227
+
228
+
229
+ # Valid values are: Personal, Premier, and Business. Flag="2" corresponds to java.util.regex.Pattern.CASE_INSENSITIVE, meaning the strings are not case-sensitive
230
+ class CreateAccountRequest < DataType
231
+ def self.load_members
232
+ object_of :requestEnvelope, RequestEnvelope, :required => true
233
+ object_of :clientDetails, ClientDetailsType
234
+ # Valid values are: Personal, Premier, and Business. Flag="2" corresponds to java.util.regex.Pattern.CASE_INSENSITIVE, meaning the strings are not case-sensitive
235
+ object_of :accountType, String
236
+ object_of :name, NameType, :required => true
237
+ object_of :dateOfBirth, Date
238
+ object_of :address, AddressType, :required => true
239
+ # Must provide at least one of contactPhoneNumber, homePhoneNumber, or mobilePhoneNumber
240
+ object_of :contactPhoneNumber, String
241
+ # Must provide at least one of contactPhoneNumber, homePhoneNumber, or mobilePhoneNumber
242
+ object_of :homePhoneNumber, String
243
+ # Must provide at least one of contactPhoneNumber, homePhoneNumber, or mobilePhoneNumber
244
+ object_of :mobilePhoneNumber, String
245
+ object_of :currencyCode, String
246
+ object_of :citizenshipCountryCode, String
247
+ object_of :preferredLanguageCode, String, :required => true
248
+ object_of :notificationURL, String
249
+ object_of :emailAddress, String
250
+ # Valid values are: Mobile and Web. Mobile: Returns a key to complete the registration. Web: Returns a URL to complete the registration.
251
+ object_of :registrationType, String
252
+ object_of :createAccountWebOptions, CreateAccountWebOptionsType
253
+ object_of :suppressWelcomeEmail, Boolean
254
+ # Set to true if you want this account to undergo extra vetting by PayPal before becoming usable.
255
+ object_of :performExtraVettingOnThisAccount, Boolean
256
+ # tax id, ssn, itin, pan, cpf, acn, abn, etc.
257
+ object_of :taxId, String
258
+ object_of :partnerField1, String
259
+ object_of :partnerField2, String
260
+ object_of :partnerField3, String
261
+ object_of :partnerField4, String
262
+ object_of :partnerField5, String
263
+ # Required for business account creation
264
+ object_of :businessInfo, BusinessInfoType
265
+ # An ID representing a unique value, such as SSN, TIN, SIN, TaxID, etc. generally issued by a Government. Currently supports only SIN for Canada.
266
+ array_of :governmentId, GovernmentIDPair
267
+ # Account Holder's profession, values such as: Accountant, Actuary, Advocate, Architect, Business Owner, Doctor, Dentist, Engineer, Financial Analyst, Lawyer, Librarian, Nurse, Pilot, Pharmacist, Physician, Physicial Therapist, Professor, Psychologist, Scientist, Teacher, Webmaster, Writer, Student, Other
268
+ object_of :profession, String
269
+ # Account Holder's occupation. For business accounts only. Values: Executive, President, Vice President, Director, Manager, Staff, Other.
270
+ object_of :occupation, String
271
+ # Account Holder's functional area. For business accounts only. Values: Finance, Operations, Technology, Sales, Marketing, Other
272
+ object_of :functionalArea, String
273
+ # Boolean value, indicates whether user has agreed for a particular agreement or not.
274
+ array_of :legalAgreement, LegalAgreementType
275
+ # Expected Value: 0|1|2|3|4|5 according to the description below: 0 - "Send payments for goods and/or services to domestic merchants" 1 - "Send payments for goods and/or services to cross-border merchants" 2 - "Send payments for goods and/or services to domestic and cross-border merchants" 3 - "Receive payments for goods and/or services from domestic buyers" 4 - "Receive payments for goods and/or services from cross-border buyers" 5 - "Receive payments for goods and/or service from domestic/cross-border buyers"
276
+ object_of :purposeOfAccount, String
277
+ end
278
+ end
279
+
280
+
281
+
282
+ # Valid values are: COMPLETED
283
+ class CreateAccountResponse < DataType
284
+ def self.load_members
285
+ include ResponseStatus
286
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
287
+ object_of :createAccountKey, String
288
+ # Valid values are: COMPLETED
289
+ object_of :execStatus, String, :required => true
290
+ object_of :redirectURL, String
291
+ # Identifies a PayPal account. Only premier and business accounts have an accountId
292
+ object_of :accountId, String
293
+ array_of :error, ErrorData
294
+ end
295
+ end
296
+
297
+
298
+
299
+ class GetUserAgreementRequest < DataType
300
+ def self.load_members
301
+ object_of :requestEnvelope, RequestEnvelope, :required => true
302
+ object_of :createAccountKey, String
303
+ object_of :countryCode, String
304
+ object_of :languageCode, String
305
+ end
306
+ end
307
+
308
+
309
+
310
+ class GetUserAgreementResponse < DataType
311
+ def self.load_members
312
+ include ResponseStatus
313
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
314
+ object_of :agreement, String, :required => true
315
+ array_of :error, ErrorData
316
+ end
317
+ end
318
+
319
+
320
+
321
+ # Deprecated, use accountIdentifier.emailAddress instead
322
+ class GetVerifiedStatusRequest < DataType
323
+ def self.load_members
324
+ object_of :requestEnvelope, RequestEnvelope, :required => true
325
+ # Deprecated, use accountIdentifier.emailAddress instead
326
+ object_of :emailAddress, String
327
+ # Identifies a PayPal account to which this request is targeted. Caller of this API has to provide ONLY one of these inputs: emailAddress, accountId or mobilePhoneNumber.
328
+ object_of :accountIdentifier, AccountIdentifierType
329
+ # matchCriteria determines which field(s) in addition to emailAddress is used to locate the account. Currently, we support matchCriteria of 'NAME' and 'NONE'.
330
+ object_of :matchCriteria, String, :required => true
331
+ # Required if matchCriteria is NAME Optional if matchCriteria is NONE
332
+ object_of :firstName, String
333
+ # Required if matchCriteria is NAME Optional if matchCriteria is NONE
334
+ object_of :lastName, String
335
+ end
336
+ end
337
+
338
+
339
+
340
+ # Returned values are: VERIFIED|UNVERIFIED.
341
+ class GetVerifiedStatusResponse < DataType
342
+ def self.load_members
343
+ include ResponseStatus
344
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
345
+ # Returned values are: VERIFIED|UNVERIFIED.
346
+ object_of :accountStatus, String, :required => true
347
+ # Returns countryCode belonging to PayPal account.
348
+ object_of :countryCode, String
349
+ # Info about PayPal user such as emailAddress, accountId, firstName, lastName etc.
350
+ object_of :userInfo, UserInfoType
351
+ array_of :error, ErrorData
352
+ end
353
+ end
354
+
355
+
356
+
357
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
358
+ class AddBankAccountRequest < DataType
359
+ def self.load_members
360
+ object_of :requestEnvelope, RequestEnvelope, :required => true
361
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
362
+ object_of :emailAddress, String
363
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
364
+ object_of :accountId, String
365
+ object_of :createAccountKey, String
366
+ # Country code for the bank
367
+ object_of :bankCountryCode, String, :required => true
368
+ # The defualt value is UNKNOWN.
369
+ object_of :bankName, String
370
+ # Bank routing or transit number
371
+ object_of :routingNumber, String
372
+ object_of :bankAccountType, BankAccountType
373
+ # Basic Bank Account Number (BBAN)
374
+ object_of :bankAccountNumber, String
375
+ # International Bank Account Number (IBAN)
376
+ object_of :iban, String
377
+ # CLABE represents the bank information for countries like Mexico
378
+ object_of :clabe, String
379
+ # Bank/State/Branch number
380
+ object_of :bsbNumber, String
381
+ # Branch location
382
+ object_of :branchLocation, String
383
+ # Branch sort code.
384
+ object_of :sortCode, String
385
+ # Bank transit number
386
+ object_of :bankTransitNumber, String
387
+ # Institution number
388
+ object_of :institutionNumber, String
389
+ # Branch code
390
+ object_of :branchCode, String
391
+ # For Brazil Agency Number
392
+ object_of :agencyNumber, String
393
+ # Bank code
394
+ object_of :bankCode, String
395
+ # RIB key
396
+ object_of :ribKey, String
397
+ # control digits
398
+ object_of :controlDigit, String
399
+ # Tax id type of CNPJ or CPF, only supported for Brazil.
400
+ object_of :taxIdType, String
401
+ # Tax id number for Brazil.
402
+ object_of :taxIdNumber, String
403
+ # Date of birth of the account holder
404
+ object_of :accountHolderDateOfBirth, Date
405
+ object_of :confirmationType, ConfirmationType, :required => true
406
+ object_of :webOptions, WebOptionsType
407
+ end
408
+ end
409
+
410
+
411
+
412
+ # Valid values are: FUNDING_SOURCE_ADDED, WEB_URL_VERIFICATION_NEEDED
413
+ class AddBankAccountResponse < DataType
414
+ def self.load_members
415
+ include ResponseStatus
416
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
417
+ # Valid values are: FUNDING_SOURCE_ADDED, WEB_URL_VERIFICATION_NEEDED
418
+ object_of :execStatus, String, :required => true
419
+ object_of :redirectURL, String
420
+ object_of :fundingSourceKey, String
421
+ array_of :error, ErrorData
422
+ end
423
+ end
424
+
425
+
426
+
427
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
428
+ class AddPaymentCardRequest < DataType
429
+ def self.load_members
430
+ object_of :requestEnvelope, RequestEnvelope, :required => true
431
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
432
+ object_of :emailAddress, String
433
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
434
+ object_of :accountId, String
435
+ object_of :createAccountKey, String
436
+ object_of :nameOnCard, NameType, :required => true
437
+ object_of :billingAddress, AddressType, :required => true
438
+ object_of :cardOwnerDateOfBirth, Date
439
+ object_of :cardNumber, String, :required => true
440
+ object_of :cardType, CardTypeType, :required => true
441
+ object_of :expirationDate, CardDateType
442
+ # CVV2: Proivde only for requests where confirmationType is None (Direct request)
443
+ object_of :cardVerificationNumber, String
444
+ object_of :startDate, CardDateType
445
+ # Up to 2 digit for Switch/Maestro cards.
446
+ object_of :issueNumber, String
447
+ object_of :confirmationType, ConfirmationType, :required => true
448
+ object_of :webOptions, WebOptionsType
449
+ end
450
+ end
451
+
452
+
453
+
454
+ # Valid values are: FUNDING_SOURCE_ADDED, WEB_URL_VERIFICATION_NEEDED
455
+ class AddPaymentCardResponse < DataType
456
+ def self.load_members
457
+ include ResponseStatus
458
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
459
+ # Valid values are: FUNDING_SOURCE_ADDED, WEB_URL_VERIFICATION_NEEDED
460
+ object_of :execStatus, String, :required => true
461
+ object_of :redirectURL, String
462
+ object_of :fundingSourceKey, String
463
+ array_of :error, ErrorData
464
+ end
465
+ end
466
+
467
+
468
+
469
+
470
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
471
+ class SetFundingSourceConfirmedRequest < DataType
472
+ def self.load_members
473
+ object_of :requestEnvelope, RequestEnvelope, :required => true
474
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
475
+ object_of :emailAddress, String
476
+ # Identifying the PayPal account to which this request is targetted to. Caller of this API has to either provided an emailAddress or an accountId.
477
+ object_of :accountId, String
478
+ object_of :fundingSourceKey, String, :required => true
479
+ end
480
+ end
481
+
482
+
483
+
484
+ class SetFundingSourceConfirmedResponse < DataType
485
+ def self.load_members
486
+ include ResponseStatus
487
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
488
+ array_of :error, ErrorData
489
+ end
490
+ end
491
+
492
+
493
+
494
+ # Identifies a PayPal account to which this request is targeted. Caller of this API has to provide ONLY one of these inputs: emailAddress, accountId or mobilePhoneNumber.
495
+ class CheckComplianceStatusRequest < DataType
496
+ def self.load_members
497
+ object_of :requestEnvelope, RequestEnvelope, :required => true
498
+ # Identifies a PayPal account to which this request is targeted. Caller of this API has to provide ONLY one of these inputs: emailAddress, accountId or mobilePhoneNumber.
499
+ object_of :accountIdentifier, AccountIdentifierType, :required => true
500
+ end
501
+ end
502
+
503
+
504
+
505
+ # Returned values are: ALLOW|DENY
506
+ class CheckComplianceStatusResponse < DataType
507
+ def self.load_members
508
+ include ResponseStatus
509
+ object_of :responseEnvelope, ResponseEnvelope, :required => true
510
+ # Returned values are: ALLOW|DENY
511
+ object_of :execStatus, String, :required => true
512
+ # Returned values are: CLIENT_NOT_SUPPORTED, COUNTRY_NOT_SUPPORTED, VERIFICATION_NOT_COMPLETED, DOCUMENTS_UNDER_REVIEW, DENIED
513
+ object_of :denialReason, String
514
+ array_of :error, ErrorData
515
+ end
516
+ end
517
+
518
+
519
+
520
+ class NameType < DataType
521
+ def self.load_members
522
+ object_of :salutation, String
523
+ object_of :firstName, String, :required => true
524
+ object_of :middleName, String
525
+ object_of :lastName, String, :required => true
526
+ object_of :suffix, String
527
+ end
528
+ end
529
+
530
+
531
+
532
+ class AddressType < DataType
533
+ def self.load_members
534
+ object_of :line1, String, :required => true
535
+ object_of :line2, String
536
+ object_of :city, String
537
+ object_of :state, String
538
+ object_of :postalCode, String
539
+ object_of :countryCode, String, :required => true
540
+ end
541
+ end
542
+
543
+
544
+
545
+ # Ask end-user to also initiate confirmation of their mobile phone. This number must be supplied by the API caller (using mobilePhoneNumber) Default=false.
546
+ class CreateAccountWebOptionsType < DataType
547
+ def self.load_members
548
+ object_of :returnUrl, String
549
+ object_of :showAddCreditCard, Boolean
550
+ # Ask end-user to also initiate confirmation of their mobile phone. This number must be supplied by the API caller (using mobilePhoneNumber) Default=false.
551
+ object_of :showMobileConfirm, Boolean
552
+ object_of :returnUrlDescription, String
553
+ # If provided, end user will go through a single page sign-up flow on a Mini Browser. If not provided, flow defaults to the Multi-page flow that is full size.
554
+ object_of :useMiniBrowser, Boolean
555
+ # Indicates the frequency of the reminder emails sent to the PayPal user after CreateAccount. Used only when registrationType is Web. Valid values: DEFAULT: All reminder emails will be sent (same behaviour as when this paramter is not present) NONE: No reminder emails will be sent (More values to be added in future)
556
+ object_of :reminderEmailFrequency, String
557
+ # Indicates if the Return URL is used to confirm email. On accessing the Return URL successfully, confirm the email if this parameter is true, otherwise, do not confirm the email. Used only when registrationType is Web. Valid values (mixed case): true: Append the Email Confirmation Code to the Return URL. false: Do not append the Email Confirmation Code to the Return URL.
558
+ object_of :confirmEmail, String
559
+ end
560
+ end
561
+
562
+
563
+
564
+ # PayPal Business Category. i.e., baby - 1004
565
+ class BusinessInfoType < DataType
566
+ def self.load_members
567
+ object_of :businessName, String, :required => true
568
+ object_of :businessAddress, AddressType, :required => true
569
+ object_of :workPhone, String, :required => true
570
+ # PayPal Business Category. i.e., baby - 1004
571
+ object_of :category, Integer
572
+ # Paypal Business subcategory. i.e., baby-clothing - 2027
573
+ object_of :subCategory, Integer
574
+ # If Category and Subcategory is specified, then this is optional. PayPal uses the industry standard Merchant Category Codes. Please refer to your Association Merchant Category Code documentation for a list of codes
575
+ object_of :merchantCategoryCode, Integer
576
+ object_of :doingBusinessAs, String
577
+ object_of :customerServicePhone, String
578
+ object_of :customerServiceEmail, String
579
+ object_of :disputeEmail, String
580
+ object_of :webSite, String
581
+ # Company Id: tax id, acn, abn, etc.
582
+ object_of :companyId, String
583
+ object_of :dateOfEstablishment, Date
584
+ object_of :businessType, BusinessType
585
+ object_of :businessSubtype, BusinessSubtypeType
586
+ object_of :incorporationId, String
587
+ # Average transaction value.
588
+ object_of :averagePrice, Float
589
+ # Average monthly transaction value.
590
+ object_of :averageMonthlyVolume, Float
591
+ # Percentage of the revenue that is from online sales (0%-100%).
592
+ object_of :percentageRevenueFromOnline, Integer
593
+ array_of :salesVenue, SalesVenueType
594
+ # Description of store front or place for sales. Only required when "OTHER" is specified for salesVenue.
595
+ object_of :salesVenueDesc, String
596
+ # Value Added Tax (VAT) ID number
597
+ object_of :vatId, String
598
+ # Country code for country on the vat id.
599
+ object_of :vatCountryCode, String
600
+ # Official commercial registration location.
601
+ object_of :commercialRegistrationLocation, String
602
+ object_of :principalPlaceOfBusinessAddress, AddressType
603
+ object_of :registeredOfficeAddress, AddressType
604
+ object_of :establishmentCountryCode, String
605
+ object_of :establishmentState, String
606
+ # All the stakeholders of the company.
607
+ array_of :businessStakeholder, BusinessStakeholderType
608
+ # Business entity acting on behalf of Third Party.
609
+ object_of :businessEntityForThirdParty, BusinessEntityForThirdPartyType
610
+ # Values: Yes or No
611
+ object_of :hasDirectors, YesNoType
612
+ # Values: Yes or No
613
+ object_of :hasBeneficialOwners, YesNoType
614
+ # Values: Yes or No
615
+ object_of :hasThirdPartyAssociates, YesNoType
616
+ end
617
+ end
618
+
619
+
620
+
621
+ # Info about Stakeholders such as partner, beneficial, owner, director etc.
622
+ class BusinessStakeholderType < DataType
623
+ def self.load_members
624
+ object_of :role, StakeholderRoleType, :required => true
625
+ object_of :name, NameType
626
+ object_of :fullLegalName, String
627
+ object_of :address, AddressType
628
+ object_of :dateOfBirth, Date
629
+ # Occupation of the business stakeholder. Values such as: Accountant, Actuary, Advocate, Architect, Business Owner, Doctor, Dentist, Engineer, Financial Analyst, Lawyer, Librarian, Nurse, Pilot, Pharmacist, Physician, Physicial Therapist, Professor, Psychologist, Scientist, Teacher, Webmaster, Writer, Student, Other
630
+ object_of :occupation, String
631
+ end
632
+ end
633
+
634
+
635
+
636
+ # Info about PayPal user such as emailAddress, accountId, firstName, lastName etc.
637
+ class UserInfoType < DataType
638
+ def self.load_members
639
+ # Returns emailAddress belonging to PayPal account.
640
+ object_of :emailAddress, String
641
+ # Valid values are: Personal, Premier, and Business (not case-sensitive).
642
+ object_of :accountType, String
643
+ # Identifies a PayPal account. Only premier and business accounts have an accountId
644
+ object_of :accountId, String
645
+ # Identifies a PayPal user, like firstName, lastName.
646
+ object_of :name, NameType
647
+ # Business Name of the PayPal account holder.
648
+ object_of :businessName, String
649
+ end
650
+ end
651
+
652
+
653
+
654
+ class WebOptionsType < DataType
655
+ def self.load_members
656
+ object_of :returnUrl, String
657
+ object_of :cancelUrl, String
658
+ object_of :returnUrlDescription, String
659
+ object_of :cancelUrlDescription, String
660
+ end
661
+ end
662
+
663
+
664
+
665
+ # Month in integer format, between 1 and 12
666
+ class CardDateType < DataType
667
+ def self.load_members
668
+ # Month in integer format, between 1 and 12
669
+ object_of :month, Integer, :required => true
670
+ # Year in four digit format- YYYY
671
+ object_of :year, Integer, :required => true
672
+ end
673
+ end
674
+
675
+
676
+
677
+ # Third party type: Individual or Business.
678
+ class BusinessEntityForThirdPartyType < DataType
679
+ def self.load_members
680
+ # Third party type: Individual or Business.
681
+ object_of :thirdPartyType, String
682
+ # If third party is individual, name of the individual.
683
+ object_of :name, NameType
684
+ # If third party is individual, date of birth of the individual.
685
+ object_of :dateOfBirth, Date
686
+ # Address of third party collecting the data.
687
+ object_of :address, AddressType
688
+ # If third party is individual, profession of the individual representing third party.
689
+ object_of :profession, String
690
+ # Relationship with third party, of the individual or the business.
691
+ object_of :relationshipWithThirdParty, String
692
+ # Nature of Business, if third party is a business.
693
+ object_of :natureOfBusiness, String
694
+ # Name of Business, if third party is a business.
695
+ object_of :nameOfBusiness, String
696
+ # If third party is a business, collect the businessType. Values: Corporation, Private Company, Public Company, Partnership, Government Entity, Non-Profit Organization
697
+ object_of :businessType, String
698
+ # If third party is a business, collect Incorporation ID.
699
+ object_of :incorporationId, String
700
+ # If third party is business, collect place of issue of Incorporation.
701
+ object_of :incorporationCountry, String
702
+ # If third party is business, collect place of issue of Incorporation.
703
+ object_of :incorporationState, String
704
+ end
705
+ end
706
+
707
+
708
+
709
+ class GovernmentIDPair < DataType
710
+ def self.load_members
711
+ object_of :value, String
712
+ object_of :type, GovernmentIDTypes
713
+ end
714
+ end
715
+
716
+
717
+
718
+ class LegalAgreementType < DataType
719
+ def self.load_members
720
+ object_of :accepted, String
721
+ object_of :type, LegalAgreementTypes
722
+ end
723
+ end
724
+
725
+
726
+
727
+ class Auditor < DataType
728
+ def self.load_members
729
+ object_of :id, String, :required => true
730
+ object_of :name, String, :required => true
731
+ object_of :action, String, :required => true
732
+ object_of :notes, String
733
+ end
734
+ end
735
+
736
+
737
+
738
+ class TupleType < DataType
739
+ def self.load_members
740
+ object_of :name, String, :required => true
741
+ object_of :value, String, :required => true
742
+ end
743
+ end
744
+
745
+
746
+
747
+ class DocumentType < DataType
748
+ def self.load_members
749
+ object_of :type, String, :required => true
750
+ array_of :filename, String, :required => true
751
+ end
752
+ end
753
+
754
+
755
+
756
+ class AuditorList < DataType
757
+ def self.load_members
758
+ array_of :auditor, Auditor, :required => true
759
+ end
760
+ end
761
+
762
+
763
+
764
+ class AuditeeInfoType < DataType
765
+ def self.load_members
766
+ object_of :accountIdentifier, AccountIdentifierType, :required => true
767
+ array_of :document, DocumentType
768
+ array_of :data, TupleType
769
+ end
770
+ end
771
+
772
+
773
+
774
+ class AuditDetailsType < DataType
775
+ def self.load_members
776
+ object_of :status, String, :required => true
777
+ object_of :level, String, :required => true
778
+ object_of :method, String, :required => true
779
+ object_of :reason, String, :required => true
780
+ array_of :data, TupleType
781
+ object_of :policyVersion, String
782
+ end
783
+ end
784
+
785
+
786
+
787
+
788
+
789
+ constants.each do |data_type_klass|
790
+ data_type_klass = const_get(data_type_klass)
791
+ data_type_klass.load_members if defined? data_type_klass.load_members
792
+ end
793
+
794
+ end
795
+ end
796
+ end
@@ -0,0 +1,153 @@
1
+ require 'paypal-sdk-core'
2
+
3
+ # AUTO GENERATED code for AdaptiveAccounts
4
+ module PayPal::SDK
5
+ module AdaptiveAccounts
6
+
7
+ # Service Version
8
+ SERVICE_VERSION = "1.2.0"
9
+ # Service Name
10
+ SERVICE_NAME = "AdaptiveAccounts"
11
+
12
+ module Services
13
+ include DataTypes
14
+
15
+
16
+ # Service Call: CreateAccount
17
+ # @param CreateAccountRequest
18
+ # @return CreateAccountResponse
19
+ def CreateAccount(options = {} , http_header = {})
20
+ request_object = BuildCreateAccount(options)
21
+ request_hash = request_object.to_hash
22
+ response_hash = request("CreateAccount", request_hash, http_header)
23
+ CreateAccountResponse.new(response_hash)
24
+ end
25
+ alias_method :create_account, :CreateAccount
26
+
27
+ def BuildCreateAccount(options = {}, &block)
28
+ klass = CreateAccountRequest
29
+ object = options.is_a?(klass) ? options : klass.new(options || {})
30
+ object.instance_eval(&block) if block
31
+ object
32
+ end
33
+ alias_method :build_create_account, :BuildCreateAccount
34
+
35
+ # Service Call: GetUserAgreement
36
+ # @param GetUserAgreementRequest
37
+ # @return GetUserAgreementResponse
38
+ def GetUserAgreement(options = {} , http_header = {})
39
+ request_object = BuildGetUserAgreement(options)
40
+ request_hash = request_object.to_hash
41
+ response_hash = request("GetUserAgreement", request_hash, http_header)
42
+ GetUserAgreementResponse.new(response_hash)
43
+ end
44
+ alias_method :get_user_agreement, :GetUserAgreement
45
+
46
+ def BuildGetUserAgreement(options = {}, &block)
47
+ klass = GetUserAgreementRequest
48
+ object = options.is_a?(klass) ? options : klass.new(options || {})
49
+ object.instance_eval(&block) if block
50
+ object
51
+ end
52
+ alias_method :build_get_user_agreement, :BuildGetUserAgreement
53
+
54
+ # Service Call: GetVerifiedStatus
55
+ # @param GetVerifiedStatusRequest
56
+ # @return GetVerifiedStatusResponse
57
+ def GetVerifiedStatus(options = {} , http_header = {})
58
+ request_object = BuildGetVerifiedStatus(options)
59
+ request_hash = request_object.to_hash
60
+ response_hash = request("GetVerifiedStatus", request_hash, http_header)
61
+ GetVerifiedStatusResponse.new(response_hash)
62
+ end
63
+ alias_method :get_verified_status, :GetVerifiedStatus
64
+
65
+ def BuildGetVerifiedStatus(options = {}, &block)
66
+ klass = GetVerifiedStatusRequest
67
+ object = options.is_a?(klass) ? options : klass.new(options || {})
68
+ object.instance_eval(&block) if block
69
+ object
70
+ end
71
+ alias_method :build_get_verified_status, :BuildGetVerifiedStatus
72
+
73
+ # Service Call: AddBankAccount
74
+ # @param AddBankAccountRequest
75
+ # @return AddBankAccountResponse
76
+ def AddBankAccount(options = {} , http_header = {})
77
+ request_object = BuildAddBankAccount(options)
78
+ request_hash = request_object.to_hash
79
+ response_hash = request("AddBankAccount", request_hash, http_header)
80
+ AddBankAccountResponse.new(response_hash)
81
+ end
82
+ alias_method :add_bank_account, :AddBankAccount
83
+
84
+ def BuildAddBankAccount(options = {}, &block)
85
+ klass = AddBankAccountRequest
86
+ object = options.is_a?(klass) ? options : klass.new(options || {})
87
+ object.instance_eval(&block) if block
88
+ object
89
+ end
90
+ alias_method :build_add_bank_account, :BuildAddBankAccount
91
+
92
+ # Service Call: AddPaymentCard
93
+ # @param AddPaymentCardRequest
94
+ # @return AddPaymentCardResponse
95
+ def AddPaymentCard(options = {} , http_header = {})
96
+ request_object = BuildAddPaymentCard(options)
97
+ request_hash = request_object.to_hash
98
+ response_hash = request("AddPaymentCard", request_hash, http_header)
99
+ AddPaymentCardResponse.new(response_hash)
100
+ end
101
+ alias_method :add_payment_card, :AddPaymentCard
102
+
103
+ def BuildAddPaymentCard(options = {}, &block)
104
+ klass = AddPaymentCardRequest
105
+ object = options.is_a?(klass) ? options : klass.new(options || {})
106
+ object.instance_eval(&block) if block
107
+ object
108
+ end
109
+ alias_method :build_add_payment_card, :BuildAddPaymentCard
110
+
111
+ # Service Call: SetFundingSourceConfirmed
112
+ # @param SetFundingSourceConfirmedRequest
113
+ # @return SetFundingSourceConfirmedResponse
114
+ def SetFundingSourceConfirmed(options = {} , http_header = {})
115
+ request_object = BuildSetFundingSourceConfirmed(options)
116
+ request_hash = request_object.to_hash
117
+ response_hash = request("SetFundingSourceConfirmed", request_hash, http_header)
118
+ SetFundingSourceConfirmedResponse.new(response_hash)
119
+ end
120
+ alias_method :set_funding_source_confirmed, :SetFundingSourceConfirmed
121
+
122
+ def BuildSetFundingSourceConfirmed(options = {}, &block)
123
+ klass = SetFundingSourceConfirmedRequest
124
+ object = options.is_a?(klass) ? options : klass.new(options || {})
125
+ object.instance_eval(&block) if block
126
+ object
127
+ end
128
+ alias_method :build_set_funding_source_confirmed, :BuildSetFundingSourceConfirmed
129
+
130
+ # Service Call: CheckComplianceStatus
131
+ # @param CheckComplianceStatusRequest
132
+ # @return CheckComplianceStatusResponse
133
+ def CheckComplianceStatus(options = {} , http_header = {})
134
+ request_object = BuildCheckComplianceStatus(options)
135
+ request_hash = request_object.to_hash
136
+ response_hash = request("CheckComplianceStatus", request_hash, http_header)
137
+ CheckComplianceStatusResponse.new(response_hash)
138
+ end
139
+ alias_method :check_compliance_status, :CheckComplianceStatus
140
+
141
+ def BuildCheckComplianceStatus(options = {}, &block)
142
+ klass = CheckComplianceStatusRequest
143
+ object = options.is_a?(klass) ? options : klass.new(options || {})
144
+ object.instance_eval(&block) if block
145
+ object
146
+ end
147
+ alias_method :build_check_compliance_status, :BuildCheckComplianceStatus
148
+
149
+
150
+ end
151
+
152
+ end
153
+ end
@@ -0,0 +1,7 @@
1
+ module PayPal
2
+ module SDK
3
+ module AdaptiveAccounts
4
+ VERSION = "1.102.1"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,16 @@
1
+ require 'paypal-sdk-core'
2
+
3
+ module PayPal
4
+ module SDK
5
+ module AdaptiveAccounts
6
+ autoload :VERSION, "paypal-sdk/adaptive_accounts/version"
7
+ autoload :Services, "paypal-sdk/adaptive_accounts/services"
8
+ autoload :DataTypes, "paypal-sdk/adaptive_accounts/data_types"
9
+ autoload :API, "paypal-sdk/adaptive_accounts/api"
10
+
11
+ def self.new(*args)
12
+ API.new(*args)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,2 @@
1
+ require "paypal-sdk/adaptive_accounts"
2
+
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe "AdaptiveAccounts" do
4
+
5
+ before :all do
6
+ @api= PayPal::SDK::AdaptiveAccounts::API.new
7
+ end
8
+
9
+ describe "Services" do
10
+ PayPal::SDK::AdaptiveAccounts::Services.instance_methods.select{|m| m =~ /^[A-Z]/ and m !~ /^Build/ }.each do |service_method|
11
+ it "make empty request to #{service_method}" do
12
+ response = @api.send(service_method, {})
13
+ response.response_envelope.ack.should_not be_nil
14
+ end
15
+ end
16
+ end
17
+
18
+ it "Validate ipn message" do
19
+ expect(@api.ipn_valid?("Invalid")).to be false
20
+ end
21
+
22
+ end
@@ -0,0 +1,33 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIICXAIBAAKBgQCx/rJhKDRYhs9WZj66FA+HidsrKwvep3g+YNbm1fXmjcg2rEmC
3
+ kq71+Ftw9rx0Uz7vmg6vcsASUgOyeNG7mVB1SsXc6j+JAzZsmpzxHI0QKm+nBNTS
4
+ OAp5NWn6NZQfu3BNAJ/Mok/iL3am2DWXV6dU74J66rBpwIJfzs9kmw8ZGwIDAQAB
5
+ AoGAa/V1sCQ4i7FItLjTNv3P5X+h5W74hhXBguQttFj2Ct7YHwEknQPnBt2aaMve
6
+ xhdvxtgELDpHcVU5VNifLU/yUg3+DSr/YkpBWOcNTCt1seW/z5s+jr2fQERQKbyf
7
+ SXWMTqwrQ19iQoCPYaj7Drf68JhksQCaYN650g7+B/QmSBECQQDp6r75fzDtEWrr
8
+ O4Sl9plK6CRLqQQ3LveAw4JV31N2UAqgAYtzRqD6K+SviAVtX9xxuv983qQxsfX4
9
+ ozE9sGXPAkEAwsxwR1s2Acuy10h3Xj6VtnFB3PpUrkSI9c9ZxF4CMf/+AS/b2UEe
10
+ QhH60WHY8ccgKT/DoPWBcEu2o0f9nPw29QJBAI480zHNeMe/Hp+5iliM0fvtmxxy
11
+ wwB3S8L9n4RuD0dTNpLDPbO0D/DvvdhKwtoWP2rcxbx9eaRKTYKKYUfcupsCQAkP
12
+ SQmIjHJ47tBkZmjTsFLT4aRNYDLarSQBiMNBPAjnRwD3INpx1N5tx6SFUHmuMSi5
13
+ 9nc9888tNklRx9HNSSECQHgs9ExBpA6WbRVcgiizOKH7fmNxAB5f6TQ2W1QHMUb+
14
+ UhZpwuDelOIfzJAQUZGTZk8a8uVmyXU5hTf3ZDbrnJ8=
15
+ -----END RSA PRIVATE KEY-----
16
+
17
+ -----BEGIN CERTIFICATE-----
18
+ MIICpjCCAg+gAwIBAgIDD96nMA0GCSqGSIb3DQEBBQUAMIGfMQswCQYDVQQGEwJV
19
+ UzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxFTATBgNV
20
+ BAoTDFBheVBhbCwgSW5jLjEWMBQGA1UECxQNc2FuZGJveF9jZXJ0czEbMBkGA1UE
21
+ AxQSc2FuZGJveF9jYW1lcmNoYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwu
22
+ Y29tMB4XDTA5MTAxNTA2Mzg1N1oXDTE5MTAxMzA2Mzg1N1owgYAxLTArBgNVBAMU
23
+ JHBsYXRmb18xMjU1MTcwNjk0X2Jpel9hcGkxLmdtYWlsLmNvbTEiMCAGA1UEChMZ
24
+ cGxhdGZvcm0gc2RrJ3MgVGVzdCBTdG9yZTERMA8GA1UEBxMIU2FuIEpvc2UxCzAJ
25
+ BgNVBAgTAkNBMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
26
+ gYEAsf6yYSg0WIbPVmY+uhQPh4nbKysL3qd4PmDW5tX15o3INqxJgpKu9fhbcPa8
27
+ dFM+75oOr3LAElIDsnjRu5lQdUrF3Oo/iQM2bJqc8RyNECpvpwTU0jgKeTVp+jWU
28
+ H7twTQCfzKJP4i92ptg1l1enVO+CeuqwacCCX87PZJsPGRsCAwEAAaMNMAswCQYD
29
+ VR0TBAIwADANBgkqhkiG9w0BAQUFAAOBgQCgH3kwXMJtcAaCBQLKz5TGFogJp/C3
30
+ 06MvjYzdbDrx9Rjf/252UhD8dMPUP5FhU1KXduL+KIEYawPbDQ9+lV58JgM12R0p
31
+ EhCODDI/lDvzbfxUnYgkJ5cnFhTZpcAqVzWuinUnG8jAL9XKiEyu/C73ePMPWPbt
32
+ otoWi+Tk828Qlw==
33
+ -----END CERTIFICATE-----
@@ -0,0 +1,25 @@
1
+ test: &default
2
+ username: jb-us-seller_api1.paypal.com
3
+ password: WX4WTU3S8MY44S7F
4
+ signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
5
+ app_id: APP-80W284485P519543T
6
+ http_timeout: 30
7
+ mode: sandbox
8
+ sandbox_email_address: platform.sdk.seller@gmail.com
9
+
10
+ development:
11
+ <<: *default
12
+
13
+ with_certificate:
14
+ <<: *default
15
+ username: platfo_1255170694_biz_api1.gmail.com
16
+ password: 2DPPKUPKB7DQLXNR
17
+ signature:
18
+ cert_path: "spec/config/cert_key.pem"
19
+ app_id: APP-80W284485P519543T
20
+ soap_end_point: "https://api.sandbox.paypal.com/2.0/"
21
+
22
+ with_oauth_token:
23
+ <<: *default
24
+ token: H2kLxjm9lCxQdnOYxkH29I53TpZyIXez4GtHhAVGpiU3DiVTz5eNPQ
25
+ token_secret: MnZ-iPdDqGLEfQIuTIfUN4uK9lU
@@ -0,0 +1,6 @@
1
+ require 'bundler/setup'
2
+
3
+ Bundler.require :default, :test
4
+ PayPal::SDK::Core::Config.load('spec/config/paypal.yml', 'test')
5
+
6
+ require 'paypal-sdk-adaptiveaccounts'
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paypal-sdk-adaptiveaccounts
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.102.1
5
+ platform: ruby
6
+ authors:
7
+ - PayPal
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: paypal-sdk-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.3.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.3.0
27
+ description: The PayPal Adaptive Accounts SDK provides Ruby APIs to create and manage
28
+ PayPal accounts, add payment methods to accounts and obtain account verification
29
+ status using the PayPal Adaptive Accounts API.
30
+ email:
31
+ - DL-PP-Platform-Ruby-SDK@paypal.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - Gemfile
37
+ - README.md
38
+ - Rakefile
39
+ - lib/paypal-sdk-adaptiveaccounts.rb
40
+ - lib/paypal-sdk/adaptive_accounts.rb
41
+ - lib/paypal-sdk/adaptive_accounts/api.rb
42
+ - lib/paypal-sdk/adaptive_accounts/data_types.rb
43
+ - lib/paypal-sdk/adaptive_accounts/services.rb
44
+ - lib/paypal-sdk/adaptive_accounts/version.rb
45
+ - spec/adaptive_accounts_spec.rb
46
+ - spec/config/cert_key.pem
47
+ - spec/config/paypal.yml
48
+ - spec/spec_helper.rb
49
+ homepage: https://developer.paypal.com
50
+ licenses: []
51
+ metadata: {}
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubyforge_project:
68
+ rubygems_version: 2.4.1
69
+ signing_key:
70
+ specification_version: 4
71
+ summary: PayPal Adaptive Accounts SDK
72
+ test_files:
73
+ - spec/adaptive_accounts_spec.rb
74
+ - spec/config/cert_key.pem
75
+ - spec/config/paypal.yml
76
+ - spec/spec_helper.rb