paypal-checkout-sdk 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/core/access_token.rb +20 -0
- data/lib/core/paypal_environment.rb +38 -0
- data/lib/core/paypal_http_client.rb +56 -0
- data/lib/core/token_requests.rb +40 -0
- data/lib/core/version.rb +3 -0
- data/lib/lib.rb +18 -0
- data/lib/orders/orders_authorize_request.rb +45 -0
- data/lib/orders/orders_capture_request.rb +45 -0
- data/lib/orders/orders_create_request.rb +39 -0
- data/lib/orders/orders_get_request.rb +31 -0
- data/lib/orders/orders_patch_request.rb +33 -0
- data/lib/orders/orders_validate_request.rb +37 -0
- data/lib/payments/authorizations_capture_request.rb +41 -0
- data/lib/payments/authorizations_get_request.rb +29 -0
- data/lib/payments/authorizations_reauthorize_request.rb +41 -0
- data/lib/payments/authorizations_void_request.rb +29 -0
- data/lib/payments/captures_get_request.rb +29 -0
- data/lib/payments/captures_refund_request.rb +41 -0
- data/lib/payments/refunds_get_request.rb +29 -0
- data/lib/paypal-checkout-sdk.rb +1 -0
- data/paypal-checkout-sdk.gemspec +13 -0
- data/spec/orders/orders_authorize_spec.rb +18 -0
- data/spec/orders/orders_capture_spec.rb +18 -0
- data/spec/orders/orders_create_spec.rb +36 -0
- data/spec/orders/orders_get_spec.rb +37 -0
- data/spec/orders/orders_helper.rb +33 -0
- data/spec/orders/orders_patch_spec.rb +60 -0
- data/spec/orders/orders_validate_spec.rb +18 -0
- data/spec/payments/authorizations_capture_spec.rb +18 -0
- data/spec/payments/authorizations_get_spec.rb +18 -0
- data/spec/payments/authorizations_reauthorize_spec.rb +17 -0
- data/spec/payments/authorizations_void_spec.rb +17 -0
- data/spec/payments/captures_get_spec.rb +18 -0
- data/spec/payments/captures_refund_spec.rb +18 -0
- data/spec/payments/refunds_get_spec.rb +18 -0
- data/spec/spec_helper.rb +109 -0
- data/spec/test_harness.rb +25 -0
- metadata +80 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
# This class was generated on Mon, 27 Aug 2018 13:52:18 PDT by version 0.1.0-dev+904328-dirty of Braintree SDK Generator
|
2
|
+
# authorizations_get_request.rb
|
3
|
+
# @version 0.1.0-dev+904328-dirty
|
4
|
+
# @type request
|
5
|
+
# @data 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
|
6
|
+
# DO NOT EDIT
|
7
|
+
require 'cgi'
|
8
|
+
|
9
|
+
module PayPalCheckoutSdk
|
10
|
+
module Payments
|
11
|
+
|
12
|
+
#
|
13
|
+
# Shows details for an authorized payment, by ID.
|
14
|
+
#
|
15
|
+
class AuthorizationsGetRequest
|
16
|
+
attr_accessor :path, :body, :headers, :verb
|
17
|
+
|
18
|
+
def initialize(authorization_id)
|
19
|
+
@headers = {}
|
20
|
+
@body = nil
|
21
|
+
@verb = "GET"
|
22
|
+
@path = "/v2/payments/authorizations/{authorization_id}?"
|
23
|
+
|
24
|
+
@path = @path.gsub("{authorization_id}", CGI::escape(authorization_id.to_s))
|
25
|
+
@headers["Content-Type"] = "application/json"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This class was generated on Mon, 27 Aug 2018 13:52:18 PDT by version 0.1.0-dev+904328-dirty of Braintree SDK Generator
|
2
|
+
# authorizations_reauthorize_request.rb
|
3
|
+
# @version 0.1.0-dev+904328-dirty
|
4
|
+
# @type request
|
5
|
+
# @data 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
|
6
|
+
# DO NOT EDIT
|
7
|
+
require 'cgi'
|
8
|
+
|
9
|
+
module PayPalCheckoutSdk
|
10
|
+
module Payments
|
11
|
+
|
12
|
+
#
|
13
|
+
# Reauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. You can reauthorize a payment only once from days four to 29.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment once for up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter.
|
14
|
+
#
|
15
|
+
class AuthorizationsReauthorizeRequest
|
16
|
+
attr_accessor :path, :body, :headers, :verb
|
17
|
+
|
18
|
+
def initialize(authorization_id)
|
19
|
+
@headers = {}
|
20
|
+
@body = nil
|
21
|
+
@verb = "POST"
|
22
|
+
@path = "/v2/payments/authorizations/{authorization_id}/reauthorize?"
|
23
|
+
|
24
|
+
@path = @path.gsub("{authorization_id}", CGI::escape(authorization_id.to_s))
|
25
|
+
@headers["Content-Type"] = "application/json"
|
26
|
+
end
|
27
|
+
|
28
|
+
def pay_pal_request_id(pay_pal_request_id)
|
29
|
+
@headers["PayPal-Request-Id"] = pay_pal_request_id
|
30
|
+
end
|
31
|
+
|
32
|
+
def prefer(prefer)
|
33
|
+
@headers["Prefer"] = prefer
|
34
|
+
end
|
35
|
+
|
36
|
+
def request_body(reauthorizeRequest)
|
37
|
+
@body = reauthorizeRequest
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# This class was generated on Mon, 27 Aug 2018 13:52:18 PDT by version 0.1.0-dev+904328-dirty of Braintree SDK Generator
|
2
|
+
# authorizations_void_request.rb
|
3
|
+
# @version 0.1.0-dev+904328-dirty
|
4
|
+
# @type request
|
5
|
+
# @data H4sIAAAAAAAC/6yTQW/TQBCF7/yK0ZyXukScfIsaUCsENSSqhFCFJt5JvXSzu8yOI0yU/47WMdCUckDiZr15Hr1vnr3Hd7RlrJF67aK476Quhny2i86iwQXnVlwqGtZ4E53NBqJAS6Flnw1QgJ9vsoVEw5aDGlgPcLU4g4+xL9YQFcrCp92gHSl0lGHNHGDTez9AS0l7YXuGBt/3LENDQltWloz1p1uDl0yW5UTd42pIhSWruHCHBm9IHK09T4zzh4xo8A0Pf5mccs/blnMGjfcln8Tt9MjBpuiCQrV7UcVCNqvGSUk9F6HhGOjc4Acmex38gPWGfOYifO2dsMVapWeDjcTEoo4z1qH3/nBr8HWU7WPuhrT7N+qTZj+Ptf4G/4N11TE0NDTkn99xYCFlC1cL2EQB7fjJ/uLY7n+CLh7OelxSxCLlFEPmh9pFDMphsiGl5F07ElZf8ljhpWp6y9pFizU218sVHo+HNVa7WTWFz9Xph1/tH5/rUE3/wvLepV8kr74lbpXtUkn7fBEtYz07f3l49gMAAP//
|
6
|
+
# DO NOT EDIT
|
7
|
+
require 'cgi'
|
8
|
+
|
9
|
+
module PayPalCheckoutSdk
|
10
|
+
module Payments
|
11
|
+
|
12
|
+
#
|
13
|
+
# Voids, or cancels, an authorized payment, by ID. You cannot void an authorized payment that has been fully captured.
|
14
|
+
#
|
15
|
+
class AuthorizationsVoidRequest
|
16
|
+
attr_accessor :path, :body, :headers, :verb
|
17
|
+
|
18
|
+
def initialize(authorization_id)
|
19
|
+
@headers = {}
|
20
|
+
@body = nil
|
21
|
+
@verb = "POST"
|
22
|
+
@path = "/v2/payments/authorizations/{authorization_id}/void?"
|
23
|
+
|
24
|
+
@path = @path.gsub("{authorization_id}", CGI::escape(authorization_id.to_s))
|
25
|
+
@headers["Content-Type"] = "application/json"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# This class was generated on Mon, 27 Aug 2018 13:52:18 PDT by version 0.1.0-dev+904328-dirty of Braintree SDK Generator
|
2
|
+
# captures_get_request.rb
|
3
|
+
# @version 0.1.0-dev+904328-dirty
|
4
|
+
# @type request
|
5
|
+
# @data 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
|
6
|
+
# DO NOT EDIT
|
7
|
+
require 'cgi'
|
8
|
+
|
9
|
+
module PayPalCheckoutSdk
|
10
|
+
module Payments
|
11
|
+
|
12
|
+
#
|
13
|
+
# Shows details for a captured payment, by ID.
|
14
|
+
#
|
15
|
+
class CapturesGetRequest
|
16
|
+
attr_accessor :path, :body, :headers, :verb
|
17
|
+
|
18
|
+
def initialize(capture_id)
|
19
|
+
@headers = {}
|
20
|
+
@body = nil
|
21
|
+
@verb = "GET"
|
22
|
+
@path = "/v2/payments/captures/{capture_id}?"
|
23
|
+
|
24
|
+
@path = @path.gsub("{capture_id}", CGI::escape(capture_id.to_s))
|
25
|
+
@headers["Content-Type"] = "application/json"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This class was generated on Mon, 27 Aug 2018 13:52:18 PDT by version 0.1.0-dev+904328-dirty of Braintree SDK Generator
|
2
|
+
# captures_refund_request.rb
|
3
|
+
# @version 0.1.0-dev+904328-dirty
|
4
|
+
# @type request
|
5
|
+
# @data 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
|
6
|
+
# DO NOT EDIT
|
7
|
+
require 'cgi'
|
8
|
+
|
9
|
+
module PayPalCheckoutSdk
|
10
|
+
module Payments
|
11
|
+
|
12
|
+
#
|
13
|
+
# Refunds a captured payment, by ID. For a full refund, include an empty payload in the JSON request body. For a partial refund, include an <code>amount</code> object in the JSON request body.
|
14
|
+
#
|
15
|
+
class CapturesRefundRequest
|
16
|
+
attr_accessor :path, :body, :headers, :verb
|
17
|
+
|
18
|
+
def initialize(capture_id)
|
19
|
+
@headers = {}
|
20
|
+
@body = nil
|
21
|
+
@verb = "POST"
|
22
|
+
@path = "/v2/payments/captures/{capture_id}/refund?"
|
23
|
+
|
24
|
+
@path = @path.gsub("{capture_id}", CGI::escape(capture_id.to_s))
|
25
|
+
@headers["Content-Type"] = "application/json"
|
26
|
+
end
|
27
|
+
|
28
|
+
def pay_pal_request_id(pay_pal_request_id)
|
29
|
+
@headers["PayPal-Request-Id"] = pay_pal_request_id
|
30
|
+
end
|
31
|
+
|
32
|
+
def prefer(prefer)
|
33
|
+
@headers["Prefer"] = prefer
|
34
|
+
end
|
35
|
+
|
36
|
+
def request_body(refundRequest)
|
37
|
+
@body = refundRequest
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# This class was generated on Mon, 27 Aug 2018 13:52:18 PDT by version 0.1.0-dev+904328-dirty of Braintree SDK Generator
|
2
|
+
# refunds_get_request.rb
|
3
|
+
# @version 0.1.0-dev+904328-dirty
|
4
|
+
# @type request
|
5
|
+
# @data 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
|
6
|
+
# DO NOT EDIT
|
7
|
+
require 'cgi'
|
8
|
+
|
9
|
+
module PayPalCheckoutSdk
|
10
|
+
module Payments
|
11
|
+
|
12
|
+
#
|
13
|
+
# Shows details for a refund, by ID.
|
14
|
+
#
|
15
|
+
class RefundsGetRequest
|
16
|
+
attr_accessor :path, :body, :headers, :verb
|
17
|
+
|
18
|
+
def initialize(refund_id)
|
19
|
+
@headers = {}
|
20
|
+
@body = nil
|
21
|
+
@verb = "GET"
|
22
|
+
@path = "/v2/payments/refunds/{refund_id}?"
|
23
|
+
|
24
|
+
@path = @path.gsub("{refund_id}", CGI::escape(refund_id.to_s))
|
25
|
+
@headers["Content-Type"] = "application/json"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require_relative './lib'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'paypal-checkout-sdk'
|
3
|
+
s.version = '1.0.1'
|
4
|
+
s.date = '2018-02-04'
|
5
|
+
s.summary = "This repository contains PayPal's Ruby SDK for Checkout REST API"
|
6
|
+
s.description = "This repository contains PayPal's Ruby SDK for Checkout REST API"
|
7
|
+
s.authors = ["http://developer.paypal.com"]
|
8
|
+
s.email = 'dl-paypal-checkout-api@paypal.com'
|
9
|
+
s.files = Dir.glob ["lib/**/*.{rb}", "spec/**/*", "*.gemspec"]
|
10
|
+
s.homepage =
|
11
|
+
'https://github.com/paypal/Checkout-Ruby-SDK'
|
12
|
+
s.license = 'MIT'
|
13
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative '../test_harness'
|
4
|
+
require_relative '../../lib/lib'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
include PayPalCheckoutSdk::Orders
|
8
|
+
|
9
|
+
describe OrdersAuthorizeRequest do
|
10
|
+
|
11
|
+
it 'successfully makes a request', :skip => 'This test is an example, in production, orders require payer approval' do
|
12
|
+
request = OrdersAuthorizeRequest.new("ORDER-ID")
|
13
|
+
|
14
|
+
resp = TestHarness::client.execute(request)
|
15
|
+
expect(resp.status_code).to eq(201)
|
16
|
+
expect(resp.result).not_to be_nil
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative '../test_harness'
|
4
|
+
require_relative '../../lib/lib'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
include PayPalCheckoutSdk::Orders
|
8
|
+
|
9
|
+
describe OrdersCaptureRequest do
|
10
|
+
|
11
|
+
it 'successfully makes a request' , :skip => 'This test is an example, in production, orders require payer approval' do
|
12
|
+
request = OrdersCaptureRequest.new("ORDER-ID")
|
13
|
+
|
14
|
+
resp = TestHarness::client.execute(request)
|
15
|
+
expect(resp.status_code).to eq(201)
|
16
|
+
expect(resp.result).not_to be_nil
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative '../test_harness'
|
4
|
+
require_relative './orders_helper'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
include PayPalCheckoutSdk::Orders
|
8
|
+
|
9
|
+
describe OrdersCreateRequest do
|
10
|
+
it 'successfully makes a request' do
|
11
|
+
|
12
|
+
resp = OrdersHelper::create_order
|
13
|
+
expect(resp.status_code).to eq(201)
|
14
|
+
expect(resp.result).not_to be_nil
|
15
|
+
expect(resp.result.intent).to eq('CAPTURE')
|
16
|
+
expect(resp.result.purchase_units.count).to eq(1)
|
17
|
+
expect(resp.result.purchase_units[0].reference_id).to eq('test_ref_id1')
|
18
|
+
expect(resp.result.purchase_units[0].amount.currency_code).to eq('USD')
|
19
|
+
expect(resp.result.purchase_units[0].amount.value).to eq('100.00')
|
20
|
+
|
21
|
+
expect(resp.result.create_time).not_to be_nil
|
22
|
+
expect(resp.result.links).not_to be_nil
|
23
|
+
found_approve = false
|
24
|
+
|
25
|
+
for link in resp.result.links
|
26
|
+
if "approve" === link.rel
|
27
|
+
expect(link["href"]).not_to be_nil
|
28
|
+
expect(link["method"]).to eq("GET")
|
29
|
+
found_approve = true
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
expect(found_approve).to be_truthy
|
34
|
+
expect(resp.result.status).to eq('CREATED')
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative '../test_harness'
|
4
|
+
require_relative './orders_helper'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
include PayPalCheckoutSdk::Orders
|
8
|
+
|
9
|
+
describe OrdersGetRequest do
|
10
|
+
|
11
|
+
it 'successfully makes a request' do
|
12
|
+
create_resp = OrdersHelper::create_order
|
13
|
+
request = OrdersGetRequest.new(create_resp.result.id)
|
14
|
+
resp = TestHarness::client.execute(request)
|
15
|
+
expect(resp.status_code).to eq(200)
|
16
|
+
expect(resp.result).not_to be_nil
|
17
|
+
expect(resp.result.intent).to eq('CAPTURE')
|
18
|
+
expect(resp.result.purchase_units.count).to eq(1)
|
19
|
+
expect(resp.result.purchase_units[0].reference_id).to eq('test_ref_id1')
|
20
|
+
expect(resp.result.purchase_units[0].amount.currency_code).to eq('USD')
|
21
|
+
expect(resp.result.purchase_units[0].amount.value).to eq('100.00')
|
22
|
+
|
23
|
+
expect(resp.result.create_time).not_to be_nil
|
24
|
+
expect(resp.result.links).not_to be_nil
|
25
|
+
found_approve = false
|
26
|
+
|
27
|
+
for link in resp.result.links
|
28
|
+
if "approve" === link.rel
|
29
|
+
expect(link["href"]).not_to be_nil
|
30
|
+
expect(link["method"]).to eq("GET")
|
31
|
+
found_approve = true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
expect(found_approve).to be_truthy
|
35
|
+
expect(resp.result.status).to eq('CREATED')
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative '../test_harness'
|
2
|
+
|
3
|
+
include PayPalCheckoutSdk::Orders
|
4
|
+
|
5
|
+
module OrdersHelper
|
6
|
+
class << self
|
7
|
+
def create_order
|
8
|
+
body = {
|
9
|
+
intent: 'CAPTURE',
|
10
|
+
purchase_units: [{
|
11
|
+
reference_id: 'test_ref_id1',
|
12
|
+
amount: {
|
13
|
+
value: '100.00',
|
14
|
+
currency_code: 'USD'
|
15
|
+
}
|
16
|
+
}],
|
17
|
+
redirect_urls: {
|
18
|
+
cancel_url: 'https://example.com/cancel',
|
19
|
+
return_url: 'https://example.com/return'
|
20
|
+
}
|
21
|
+
}
|
22
|
+
request = OrdersCreateRequest.new()
|
23
|
+
request.prefer("return=representation")
|
24
|
+
request.request_body(body)
|
25
|
+
|
26
|
+
return TestHarness::client.execute(request)
|
27
|
+
end
|
28
|
+
|
29
|
+
def get_order(id)
|
30
|
+
return TestHarness::exec(OrdersGetRequest.new(id))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative '../test_harness'
|
4
|
+
require_relative './orders_helper'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
include PayPalCheckoutSdk::Orders
|
8
|
+
|
9
|
+
describe OrdersPatchRequest do
|
10
|
+
def build_request_body
|
11
|
+
return [
|
12
|
+
{
|
13
|
+
"op": "add",
|
14
|
+
"path": "/purchase_units/@reference_id=='test_ref_id1'/description",
|
15
|
+
"value": "added_description"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"op": "replace",
|
19
|
+
"path": "/purchase_units/@reference_id=='test_ref_id1'/amount",
|
20
|
+
"value": {
|
21
|
+
"currency_code": "USD",
|
22
|
+
"value": "200.00"
|
23
|
+
}
|
24
|
+
|
25
|
+
}
|
26
|
+
]
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'successfully makes a request' do
|
30
|
+
create_resp = OrdersHelper::create_order
|
31
|
+
request = OrdersPatchRequest.new(create_resp.result.id)
|
32
|
+
request.request_body(build_request_body)
|
33
|
+
|
34
|
+
resp = TestHarness::client.execute(request)
|
35
|
+
expect(resp.status_code).to eq(204)
|
36
|
+
resp = OrdersHelper::get_order create_resp.result.id
|
37
|
+
expect(resp.status_code).to eq(200)
|
38
|
+
expect(resp.result).not_to be_nil
|
39
|
+
expect(resp.result.intent).to eq('CAPTURE')
|
40
|
+
expect(resp.result.purchase_units.count).to eq(1)
|
41
|
+
expect(resp.result.purchase_units[0].reference_id).to eq('test_ref_id1')
|
42
|
+
expect(resp.result.purchase_units[0].amount.currency_code).to eq('USD')
|
43
|
+
expect(resp.result.purchase_units[0].amount.value).to eq('200.00')
|
44
|
+
expect(resp.result.purchase_units[0].description).to eq('added_description')
|
45
|
+
|
46
|
+
expect(resp.result.create_time).not_to be_nil
|
47
|
+
expect(resp.result.links).not_to be_nil
|
48
|
+
found_approve = false
|
49
|
+
|
50
|
+
for link in resp.result.links
|
51
|
+
if "approve" === link.rel
|
52
|
+
expect(link["href"]).not_to be_nil
|
53
|
+
expect(link["method"]).to eq("GET")
|
54
|
+
found_approve = true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
expect(found_approve).to be_truthy
|
58
|
+
expect(resp.result.status).to eq('CREATED')
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative '../test_harness'
|
4
|
+
require_relative '../../lib/lib'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
include PayPalCheckoutSdk::Orders
|
8
|
+
|
9
|
+
describe OrdersValidateRequest do
|
10
|
+
|
11
|
+
it 'successfully makes a request' , :skip => 'This test is an example, in production, orders require payer approval' do
|
12
|
+
request = OrdersValidateRequest.new("ORDER-ID")
|
13
|
+
|
14
|
+
resp = TestHarness::client.execute(request)
|
15
|
+
expect(resp.status_code).to eq(200)
|
16
|
+
expect(resp.result).not_to be_nil
|
17
|
+
end
|
18
|
+
end
|