paypal-checkout-sdk 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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
|