paypal-checkout-sdk 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +3 -3
- data/lib/core/access_token.rb +1 -1
- data/lib/core/paypal_environment.rb +2 -2
- data/lib/core/paypal_http_client.rb +4 -4
- data/lib/core/version.rb +1 -1
- data/paypal-checkout-sdk.gemspec +1 -1
- data/samples/authorize_intent_examples/authorize_order.rb +3 -3
- data/samples/authorize_intent_examples/capture_order.rb +3 -3
- data/samples/authorize_intent_examples/create_order.rb +6 -6
- data/samples/authorize_intent_examples/run_all.rb +1 -1
- data/samples/capture_intent_examples/capture_order.rb +3 -3
- data/samples/capture_intent_examples/create_order.rb +2 -2
- data/samples/capture_intent_examples/run_all.rb +1 -1
- data/samples/get_order.rb +4 -4
- data/samples/patch_order.rb +2 -2
- data/samples/refund_capture.rb +4 -4
- metadata +6 -8
- data/Gemfile.lock +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c9315f331d18cd9d8cab7525f2b72279c3f0de48839e161721813be78830b6b6
|
4
|
+
data.tar.gz: 3d839fc82b2507d990481d17b27820ed5d7bbc2888b2317bacc51196e6d26172
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e55ceb30a2b6a3cdc99f20a5fc5442294f4b8f432fe8e4c104d00fee6d428ee349bf89ca58c8b4eab4703e7080a90b82482a708c127e9f30e43bf83c61e7eca
|
7
|
+
data.tar.gz: 325759072cce44b30e95eaa9d1f696916dce5081ee66b689bb564a8ece2af78b96f75f07468265c366dc916d5595ee3afe50e2d66cd154a4d2a22640b624a673
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ Please refer to the [PayPal Checkout Integration Guide](https://developer.paypal
|
|
19
19
|
|
20
20
|
It is not mandatory to fork this repository for using the PayPal SDK. You can refer [PayPal Checkout Server SDK](https://developer.paypal.com/docs/checkout/reference/server-integration) for configuring and working with SDK without forking this code.
|
21
21
|
|
22
|
-
For
|
22
|
+
For contributing or referring the samples, You can fork/refer this repository.
|
23
23
|
|
24
24
|
### Setting up credentials
|
25
25
|
Get client ID and client secret by going to https://developer.paypal.com/developer/applications and generating a REST API app. Get <b>Client ID</b> and <b>Secret</b> from there.
|
@@ -65,7 +65,7 @@ begin
|
|
65
65
|
# If call returns body in response, you can get the deserialized version from the result attribute of the response
|
66
66
|
order = response.result
|
67
67
|
puts order
|
68
|
-
rescue
|
68
|
+
rescue PayPalHttp::HttpError => ioe
|
69
69
|
# Something went wrong server-side
|
70
70
|
puts ioe.status_code
|
71
71
|
puts ioe.headers["debug_id"]
|
@@ -101,7 +101,7 @@ begin
|
|
101
101
|
# If call returns body in response, you can get the deserialized version from the result attribute of the response
|
102
102
|
order = response.result
|
103
103
|
puts order
|
104
|
-
rescue
|
104
|
+
rescue PayPalHttp::HttpError => ioe
|
105
105
|
# Something went wrong server-side
|
106
106
|
puts ioe.status_code
|
107
107
|
puts ioe.headers["debug_id"]
|
data/lib/core/access_token.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'paypalhttp'
|
2
2
|
require "base64"
|
3
3
|
|
4
4
|
module PayPal
|
@@ -8,7 +8,7 @@ module PayPal
|
|
8
8
|
SANDBOXWEB = 'https://sandbox.paypal.com'
|
9
9
|
LIVEWEB = 'https://paypal.com'
|
10
10
|
|
11
|
-
class PayPalEnvironment <
|
11
|
+
class PayPalEnvironment < PayPalHttp::Environment
|
12
12
|
attr_accessor :client_id, :client_secret, :web_url
|
13
13
|
|
14
14
|
def initialize(client_id, client_secret, base_url, web_url)
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require
|
1
|
+
require 'paypalhttp'
|
2
2
|
require 'openssl'
|
3
3
|
require_relative './version'
|
4
4
|
|
5
5
|
module PayPal
|
6
|
-
class PayPalHttpClient <
|
6
|
+
class PayPalHttpClient < PayPalHttp::HttpClient
|
7
7
|
attr_accessor :refresh_token
|
8
8
|
|
9
9
|
def initialize(environment, refresh_token = nil)
|
@@ -15,7 +15,7 @@ module PayPal
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def user_agent
|
18
|
-
library_details ||= "paypal-sdk
|
18
|
+
library_details ||= "paypal-checkout-sdk #{VERSION}; ruby #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}-#{RUBY_PLATFORM}"
|
19
19
|
begin
|
20
20
|
library_details << ";#{OpenSSL::OPENSSL_LIBRARY_VERSION}"
|
21
21
|
rescue NameError
|
@@ -40,7 +40,7 @@ module PayPal
|
|
40
40
|
request.headers["Accept-Encoding"] = "gzip"
|
41
41
|
request.headers["sdk_name"] = "Checkout SDK"
|
42
42
|
request.headers["sdk_version"] = VERSION
|
43
|
-
request.headers["sdk_tech_stack"] = "
|
43
|
+
request.headers["sdk_tech_stack"] = "Ruby" + RUBY_VERSION
|
44
44
|
request.headers["api_integration_type"] = "PAYPALSDK"
|
45
45
|
end
|
46
46
|
|
data/lib/core/version.rb
CHANGED
data/paypal-checkout-sdk.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_dependency '
|
22
|
+
spec.add_dependency 'paypalhttp', '~> 1.0.0'
|
23
23
|
|
24
24
|
spec.add_development_dependency 'rake', '~> 10.0'
|
25
25
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
@@ -34,7 +34,7 @@ module Samples
|
|
34
34
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
35
35
|
end
|
36
36
|
return response
|
37
|
-
rescue
|
37
|
+
rescue PayPalHttp::HttpError => ioe
|
38
38
|
# Exception occured while processing the refund.
|
39
39
|
puts " Status Code: #{ioe.status_code}"
|
40
40
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -45,8 +45,8 @@ module Samples
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
# This is the driver function which invokes the authorize_order function with approved order id
|
48
|
+
# This is the driver function which invokes the authorize_order function with approved order id
|
49
49
|
# Order Id should be replaced with an valid approved order id.
|
50
50
|
if __FILE__ == $0
|
51
51
|
Samples::AuthorizeIntentExamples::AuthorizeOrder::new::authorize_order('0CT41921GV4167455',true)
|
52
|
-
end
|
52
|
+
end
|
@@ -26,7 +26,7 @@ module Samples
|
|
26
26
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
27
27
|
end
|
28
28
|
return response
|
29
|
-
rescue
|
29
|
+
rescue PayPalHttp::HttpError => ioe
|
30
30
|
# Exception occured while processing the refund.
|
31
31
|
puts " Status Code: #{ioe.status_code}"
|
32
32
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -37,8 +37,8 @@ module Samples
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
# This is the driver function which invokes the capture_order function with valid authorization id
|
40
|
+
# This is the driver function which invokes the capture_order function with valid authorization id
|
41
41
|
# Authorization Id should be replaced with an valid authorization id.
|
42
42
|
if __FILE__ == $0
|
43
43
|
Samples::AuthorizeIntentExamples::CaptureOrder::new::capture_order('4KH16819Y83216409',true)
|
44
|
-
end
|
44
|
+
end
|
@@ -6,7 +6,7 @@ module Samples
|
|
6
6
|
module AuthorizeIntentExamples
|
7
7
|
class CreateOrder
|
8
8
|
|
9
|
-
# This is the sample function which can be used to create an order with complete body.
|
9
|
+
# This is the sample function which can be used to create an order with complete body.
|
10
10
|
# The Intent in the request body should be set as "AUTHORIZE" for authorize intent flow.
|
11
11
|
def create_order (debug=false)
|
12
12
|
body = {
|
@@ -108,7 +108,7 @@ module Samples
|
|
108
108
|
|
109
109
|
request = OrdersCreateRequest::new
|
110
110
|
request.headers["prefer"] = "return=representation"
|
111
|
-
request.request_body(body)
|
111
|
+
request.request_body(body)
|
112
112
|
begin
|
113
113
|
response = PayPalClient::client.execute(request)
|
114
114
|
if debug
|
@@ -126,7 +126,7 @@ module Samples
|
|
126
126
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
127
127
|
end
|
128
128
|
return response
|
129
|
-
rescue
|
129
|
+
rescue PayPalHttp::HttpError => ioe
|
130
130
|
# Exception occured while processing the refund.
|
131
131
|
puts " Status Code: #{ioe.status_code}"
|
132
132
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -134,7 +134,7 @@ module Samples
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
-
# This is the sample function which can be used to create an order with minimum required body.
|
137
|
+
# This is the sample function which can be used to create an order with minimum required body.
|
138
138
|
# The Intent in the request body should be set as "AUTHORIZE" for authorize intent flow.
|
139
139
|
def create_order_with_minimum_body (debug=false)
|
140
140
|
body = {
|
@@ -173,7 +173,7 @@ module Samples
|
|
173
173
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
174
174
|
end
|
175
175
|
return response
|
176
|
-
rescue
|
176
|
+
rescue PayPalHttp::HttpError => ioe
|
177
177
|
# Exception occured while processing the refund.
|
178
178
|
puts " Status Code: #{ioe.status_code}"
|
179
179
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -188,4 +188,4 @@ end
|
|
188
188
|
if __FILE__ == $0
|
189
189
|
Samples::AuthorizeIntentExamples::CreateOrder::new::create_order(true)
|
190
190
|
Samples::AuthorizeIntentExamples::CreateOrder::new::create_order_with_minimum_body(true)
|
191
|
-
end
|
191
|
+
end
|
@@ -3,7 +3,7 @@ require_relative './create_order'
|
|
3
3
|
require_relative './authorize_order'
|
4
4
|
require_relative './capture_order'
|
5
5
|
require_relative '../refund_capture'
|
6
|
-
include
|
6
|
+
include PayPalHttp
|
7
7
|
|
8
8
|
puts "Creating Order..."
|
9
9
|
create_resp = Samples::AuthorizeIntentExamples::CreateOrder::new::create_order
|
@@ -4,7 +4,7 @@ module Samples
|
|
4
4
|
module CaptureIntentExamples
|
5
5
|
class CaptureOrder
|
6
6
|
|
7
|
-
# This is the sample function performing payment capture on the order.
|
7
|
+
# This is the sample function performing payment capture on the order.
|
8
8
|
# Approved Order id should be passed as an argument to this function
|
9
9
|
def capture_order (order_id, debug=false)
|
10
10
|
request = OrdersCaptureRequest::new(order_id)
|
@@ -33,7 +33,7 @@ module Samples
|
|
33
33
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
34
34
|
end
|
35
35
|
return response
|
36
|
-
rescue
|
36
|
+
rescue PayPalHttp::HttpError => ioe
|
37
37
|
# Exception occured while processing the refund.
|
38
38
|
puts " Status Code: #{ioe.status_code}"
|
39
39
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -47,4 +47,4 @@ end
|
|
47
47
|
# Order Id value should be replaced with the approved order id.
|
48
48
|
if __FILE__ == $0
|
49
49
|
Samples::CaptureIntentExamples::CaptureOrder::new::capture_order('4BH32103UX0864942', true)
|
50
|
-
end
|
50
|
+
end
|
@@ -121,7 +121,7 @@ module Samples
|
|
121
121
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
122
122
|
end
|
123
123
|
return response
|
124
|
-
rescue
|
124
|
+
rescue PayPalHttp::HttpError => ioe
|
125
125
|
# Exception occured while processing the refund.
|
126
126
|
puts " Status Code: #{ioe.status_code}"
|
127
127
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -135,4 +135,4 @@ end
|
|
135
135
|
# This is the driver function which invokes the createOrder function to create an sample order.
|
136
136
|
if __FILE__ == $0
|
137
137
|
Samples::CaptureIntentExamples::CreateOrder::new::create_order(true)
|
138
|
-
end
|
138
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../capture_intent_examples/create_order'
|
2
2
|
require_relative '../capture_intent_examples/capture_order'
|
3
3
|
require_relative '../refund_capture'
|
4
|
-
include
|
4
|
+
include PayPalHttp
|
5
5
|
|
6
6
|
puts "Creating Order..."
|
7
7
|
create_resp = Samples::CaptureIntentExamples::CreateOrder::new::create_order
|
data/samples/get_order.rb
CHANGED
@@ -6,7 +6,7 @@ require 'ostruct'
|
|
6
6
|
include PayPalCheckoutSdk::Orders
|
7
7
|
module Samples
|
8
8
|
class GetOrder
|
9
|
-
|
9
|
+
|
10
10
|
# This function can be used to retrieve an order by passing order id as argument
|
11
11
|
def get_order(order_id)
|
12
12
|
request = OrdersGetRequest::new(order_id)
|
@@ -24,7 +24,7 @@ module Samples
|
|
24
24
|
puts "Gross Amount: #{response.result.purchase_units[0].amount.currency_code} #{response.result.purchase_units[0].amount.value}"
|
25
25
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
26
26
|
return response
|
27
|
-
rescue
|
27
|
+
rescue PayPalHttp::HttpError => ioe
|
28
28
|
# Exception occured while processing the refund.
|
29
29
|
puts " Status Code: #{ioe.status_code}"
|
30
30
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -35,9 +35,9 @@ module Samples
|
|
35
35
|
end
|
36
36
|
|
37
37
|
# This is the driver function which invokes the get_order function with order id to retrieve
|
38
|
-
# an sample order. For the order id, we invoke the create order to create an new order and then we are using
|
38
|
+
# an sample order. For the order id, we invoke the create order to create an new order and then we are using
|
39
39
|
# the newly created order id for retrieving the order
|
40
40
|
if __FILE__ == $0
|
41
41
|
id = Samples::AuthorizeIntentExamples::CreateOrder::new::create_order.result.id;
|
42
42
|
Samples::GetOrder::new::get_order(id)
|
43
|
-
end
|
43
|
+
end
|
data/samples/patch_order.rb
CHANGED
@@ -44,10 +44,10 @@ if __FILE__ == $0
|
|
44
44
|
puts "Updated Custom Id: #{order.result.purchase_units[0].custom_id}"
|
45
45
|
puts PayPalClient::openstruct_to_hash(order.result).to_json
|
46
46
|
end
|
47
|
-
rescue
|
47
|
+
rescue PayPalHttp::HttpError => ioe
|
48
48
|
# Exception occured while processing the refund.
|
49
49
|
puts " Status Code: #{ioe.status_code}"
|
50
50
|
puts " Debug Id: #{ioe.result.debug_id}"
|
51
51
|
puts " Response: #{ioe.result}"
|
52
52
|
end
|
53
|
-
end
|
53
|
+
end
|
data/samples/refund_capture.rb
CHANGED
@@ -2,8 +2,8 @@ require_relative './paypal_client' #PayPal SDK dependency
|
|
2
2
|
include PayPalCheckoutSdk::Payments
|
3
3
|
module Samples
|
4
4
|
class RefundCapture
|
5
|
-
|
6
|
-
# This is the sample function performing capture refund.
|
5
|
+
|
6
|
+
# This is the sample function performing capture refund.
|
7
7
|
# Valid capture id should be passed as an argument to this function
|
8
8
|
def refund_capture (capture_id, debug=false)
|
9
9
|
request = CapturesRefundRequest::new(capture_id)
|
@@ -29,7 +29,7 @@ module Samples
|
|
29
29
|
end
|
30
30
|
puts PayPalClient::openstruct_to_hash(response.result).to_json
|
31
31
|
end
|
32
|
-
rescue
|
32
|
+
rescue PayPalHttp::HttpError => ioe
|
33
33
|
# Exception occured while processing the refund.
|
34
34
|
puts " Status Code: #{ioe.status_code}"
|
35
35
|
puts " Debug Id: #{ioe.result.debug_id}"
|
@@ -43,4 +43,4 @@ end
|
|
43
43
|
# Capture Id value should be replaced with the capture id.
|
44
44
|
if __FILE__ == $0
|
45
45
|
Samples::RefundCapture::new::refund_capture('2WB02631FY659550C', true)
|
46
|
-
end
|
46
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paypal-checkout-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- http://developer.paypal.com
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: paypalhttp
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,6 @@ extra_rdoc_files: []
|
|
74
74
|
files:
|
75
75
|
- ".gitignore"
|
76
76
|
- Gemfile
|
77
|
-
- Gemfile.lock
|
78
77
|
- LICENSE
|
79
78
|
- README.md
|
80
79
|
- Rakefile
|
@@ -132,8 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
131
|
- !ruby/object:Gem::Version
|
133
132
|
version: '0'
|
134
133
|
requirements: []
|
135
|
-
|
136
|
-
rubygems_version: 2.5.2.3
|
134
|
+
rubygems_version: 3.0.3
|
137
135
|
signing_key:
|
138
136
|
specification_version: 4
|
139
137
|
summary: This repository contains PayPal's Ruby SDK for Checkout REST API
|
data/Gemfile.lock
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
paypal-checkout-sdk (1.0.2)
|
5
|
-
braintreehttp (~> 0.5)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
addressable (2.5.2)
|
11
|
-
public_suffix (>= 2.0.2, < 4.0)
|
12
|
-
braintreehttp (0.5.0)
|
13
|
-
crack (0.4.3)
|
14
|
-
safe_yaml (~> 1.0.0)
|
15
|
-
diff-lcs (1.3)
|
16
|
-
hashdiff (0.3.7)
|
17
|
-
public_suffix (3.0.3)
|
18
|
-
rake (10.5.0)
|
19
|
-
rspec (3.8.0)
|
20
|
-
rspec-core (~> 3.8.0)
|
21
|
-
rspec-expectations (~> 3.8.0)
|
22
|
-
rspec-mocks (~> 3.8.0)
|
23
|
-
rspec-core (3.8.0)
|
24
|
-
rspec-support (~> 3.8.0)
|
25
|
-
rspec-expectations (3.8.1)
|
26
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
27
|
-
rspec-support (~> 3.8.0)
|
28
|
-
rspec-mocks (3.8.0)
|
29
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
-
rspec-support (~> 3.8.0)
|
31
|
-
rspec-support (3.8.0)
|
32
|
-
safe_yaml (1.0.4)
|
33
|
-
webmock (3.4.2)
|
34
|
-
addressable (>= 2.3.6)
|
35
|
-
crack (>= 0.3.2)
|
36
|
-
hashdiff
|
37
|
-
|
38
|
-
PLATFORMS
|
39
|
-
ruby
|
40
|
-
|
41
|
-
DEPENDENCIES
|
42
|
-
paypal-checkout-sdk!
|
43
|
-
rake (~> 10.0)
|
44
|
-
rspec (~> 3.0)
|
45
|
-
webmock
|
46
|
-
|
47
|
-
BUNDLED WITH
|
48
|
-
1.17.3
|