paypal-sdk-rest 1.7.3 → 2.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +5 -14
  3. data/README.md +48 -243
  4. data/lib/lib.rb +95 -0
  5. data/lib/paypal-sdk-rest.rb +1 -2
  6. data/lib/paypal/core/access_token.rb +20 -0
  7. data/lib/paypal/core/paypal_environment.rb +38 -0
  8. data/lib/paypal/core/paypal_http_client.rb +52 -0
  9. data/lib/paypal/core/token_requests.rb +40 -0
  10. data/lib/paypal/core/version.rb +3 -0
  11. data/lib/v1/billing_agreements/agreement_bill_balance_request.rb +35 -0
  12. data/lib/v1/billing_agreements/agreement_cancel_request.rb +35 -0
  13. data/lib/v1/billing_agreements/agreement_create_request.rb +33 -0
  14. data/lib/v1/billing_agreements/agreement_execute_request.rb +31 -0
  15. data/lib/v1/billing_agreements/agreement_get_request.rb +31 -0
  16. data/lib/v1/billing_agreements/agreement_re_activate_request.rb +35 -0
  17. data/lib/v1/billing_agreements/agreement_set_balance_request.rb +35 -0
  18. data/lib/v1/billing_agreements/agreement_suspend_request.rb +35 -0
  19. data/lib/v1/billing_agreements/agreement_transactions_request.rb +41 -0
  20. data/lib/v1/billing_agreements/agreement_update_request.rb +35 -0
  21. data/lib/v1/billing_plans/plan_create_request.rb +33 -0
  22. data/lib/v1/billing_plans/plan_get_request.rb +31 -0
  23. data/lib/v1/billing_plans/plan_list_request.rb +49 -0
  24. data/lib/v1/billing_plans/plan_update_request.rb +35 -0
  25. data/lib/v1/customer_disputes/dispute_accept_claim_request.rb +35 -0
  26. data/lib/v1/customer_disputes/dispute_adjudicate_request.rb +35 -0
  27. data/lib/v1/customer_disputes/dispute_appeal_request.rb +35 -0
  28. data/lib/v1/customer_disputes/dispute_get_request.rb +31 -0
  29. data/lib/v1/customer_disputes/dispute_list_request.rb +59 -0
  30. data/lib/v1/customer_disputes/dispute_provide_evidence_request.rb +35 -0
  31. data/lib/v1/customer_disputes/dispute_require_evidence_request.rb +35 -0
  32. data/lib/v1/identity/user_consent.rb +45 -0
  33. data/lib/v1/identity/userinfo_get_request.rb +33 -0
  34. data/lib/v1/invoices/invoice_cancel_request.rb +35 -0
  35. data/lib/v1/invoices/invoice_create_request.rb +33 -0
  36. data/lib/v1/invoices/invoice_delete_external_payment_request.rb +33 -0
  37. data/lib/v1/invoices/invoice_delete_external_refund_request.rb +33 -0
  38. data/lib/v1/invoices/invoice_delete_request.rb +31 -0
  39. data/lib/v1/invoices/invoice_get_request.rb +31 -0
  40. data/lib/v1/invoices/invoice_list_request.rb +44 -0
  41. data/lib/v1/invoices/invoice_next_invoice_number_request.rb +29 -0
  42. data/lib/v1/invoices/invoice_qr_code_request.rb +46 -0
  43. data/lib/v1/invoices/invoice_record_payment_request.rb +35 -0
  44. data/lib/v1/invoices/invoice_record_refund_request.rb +35 -0
  45. data/lib/v1/invoices/invoice_remind_request.rb +35 -0
  46. data/lib/v1/invoices/invoice_search_request.rb +33 -0
  47. data/lib/v1/invoices/invoice_send_request.rb +36 -0
  48. data/lib/v1/invoices/invoice_update_request.rb +40 -0
  49. data/lib/v1/invoices/template_create_request.rb +33 -0
  50. data/lib/v1/invoices/template_delete_request.rb +31 -0
  51. data/lib/v1/invoices/template_get_request.rb +31 -0
  52. data/lib/v1/invoices/template_list_request.rb +34 -0
  53. data/lib/v1/invoices/template_update_request.rb +35 -0
  54. data/lib/v1/orders/orders_cancel_request.rb +31 -0
  55. data/lib/v1/orders/orders_create_request.rb +33 -0
  56. data/lib/v1/orders/orders_get_request.rb +31 -0
  57. data/lib/v1/orders/orders_pay_request.rb +35 -0
  58. data/lib/v1/payment_experience/web_profile_create_request.rb +33 -0
  59. data/lib/v1/payment_experience/web_profile_delete_request.rb +31 -0
  60. data/lib/v1/payment_experience/web_profile_get_request.rb +31 -0
  61. data/lib/v1/payment_experience/web_profile_list_request.rb +29 -0
  62. data/lib/v1/payment_experience/web_profile_partial_update_request.rb +35 -0
  63. data/lib/v1/payment_experience/web_profile_update_request.rb +35 -0
  64. data/lib/v1/payments/authorization_capture_request.rb +35 -0
  65. data/lib/v1/payments/authorization_get_request.rb +31 -0
  66. data/lib/v1/payments/authorization_reauthorize_request.rb +35 -0
  67. data/lib/v1/payments/authorization_void_request.rb +35 -0
  68. data/lib/v1/payments/capture_get_request.rb +31 -0
  69. data/lib/v1/payments/capture_refund_request.rb +39 -0
  70. data/lib/v1/payments/order_authorize_request.rb +35 -0
  71. data/lib/v1/payments/order_capture_request.rb +35 -0
  72. data/lib/v1/payments/order_get_request.rb +31 -0
  73. data/lib/v1/payments/order_void_request.rb +35 -0
  74. data/lib/v1/payments/payment_create_request.rb +37 -0
  75. data/lib/v1/payments/payment_execute_request.rb +43 -0
  76. data/lib/v1/payments/payment_get_request.rb +31 -0
  77. data/lib/v1/payments/payment_list_request.rb +69 -0
  78. data/lib/v1/payments/payment_update_request.rb +35 -0
  79. data/lib/v1/payments/refund_get_request.rb +31 -0
  80. data/lib/v1/payments/sale_get_request.rb +31 -0
  81. data/lib/v1/payments/sale_refund_request.rb +39 -0
  82. data/lib/v1/sync/search_get_request.rb +99 -0
  83. data/lib/v1/vault/credit_card_create_request.rb +33 -0
  84. data/lib/v1/vault/credit_card_delete_request.rb +31 -0
  85. data/lib/v1/vault/credit_card_get_request.rb +31 -0
  86. data/lib/v1/vault/credit_card_list_request.rb +79 -0
  87. data/lib/v1/vault/credit_card_update_request.rb +35 -0
  88. data/lib/v1/webhooks/available_event_type_list_request.rb +29 -0
  89. data/lib/v1/webhooks/event_get_request.rb +31 -0
  90. data/lib/v1/webhooks/event_list_request.rb +54 -0
  91. data/lib/v1/webhooks/event_resend_request.rb +35 -0
  92. data/lib/v1/webhooks/simulate_event_request.rb +33 -0
  93. data/lib/v1/webhooks/webhook_create_request.rb +33 -0
  94. data/lib/v1/webhooks/webhook_delete_request.rb +31 -0
  95. data/lib/v1/webhooks/webhook_get_request.rb +31 -0
  96. data/lib/v1/webhooks/webhook_list_event_subscriptions_request.rb +31 -0
  97. data/lib/v1/webhooks/webhook_list_request.rb +34 -0
  98. data/lib/v1/webhooks/webhook_update_request.rb +35 -0
  99. data/lib/v1/webhooks/webhook_verify_signature_request.rb +33 -0
  100. data/spec/integration/test_harness.rb +25 -0
  101. data/spec/integration/v1/billing_agreements/agreement_create_spec.rb +69 -0
  102. data/spec/integration/v1/billing_plans/plan_create_spec.rb +12 -0
  103. data/spec/integration/v1/billing_plans/plan_get_spec.rb +16 -0
  104. data/spec/integration/v1/billing_plans/plan_helper.rb +71 -0
  105. data/spec/integration/v1/billing_plans/plan_list_spec.rb +16 -0
  106. data/spec/integration/v1/billing_plans/plan_update_spec.rb +19 -0
  107. data/spec/integration/v1/customer_disputes/dispute_accept_claim_spec.rb +26 -0
  108. data/spec/integration/v1/customer_disputes/dispute_adjudicate_spec.rb +24 -0
  109. data/spec/integration/v1/customer_disputes/dispute_appeal_spec.rb +33 -0
  110. data/spec/integration/v1/customer_disputes/dispute_get_spec.rb +19 -0
  111. data/spec/integration/v1/customer_disputes/dispute_list_spec.rb +17 -0
  112. data/spec/integration/v1/customer_disputes/dispute_provide_evidence_spec.rb +32 -0
  113. data/spec/integration/v1/customer_disputes/dispute_require_evidence_spec.rb +24 -0
  114. data/spec/integration/v1/customer_disputes/test_image.png +0 -0
  115. data/spec/integration/v1/identity/userinfo_get_spec.rb +65 -0
  116. data/spec/integration/v1/invoices/invoice_cancel_spec.rb +23 -0
  117. data/spec/integration/v1/invoices/invoice_create_spec.rb +15 -0
  118. data/spec/integration/v1/invoices/invoice_delete_external_payment_spec.rb +23 -0
  119. data/spec/integration/v1/invoices/invoice_delete_external_refund_spec.rb +21 -0
  120. data/spec/integration/v1/invoices/invoice_delete_spec.rb +16 -0
  121. data/spec/integration/v1/invoices/invoice_get_spec.rb +18 -0
  122. data/spec/integration/v1/invoices/invoice_helper.rb +171 -0
  123. data/spec/integration/v1/invoices/invoice_list_spec.rb +20 -0
  124. data/spec/integration/v1/invoices/invoice_next_invoice_number_spec.rb +14 -0
  125. data/spec/integration/v1/invoices/invoice_qr_code_spec.rb +18 -0
  126. data/spec/integration/v1/invoices/invoice_record_payment_spec.rb +14 -0
  127. data/spec/integration/v1/invoices/invoice_record_refund_spec.rb +14 -0
  128. data/spec/integration/v1/invoices/invoice_remind_spec.rb +22 -0
  129. data/spec/integration/v1/invoices/invoice_search_spec.rb +20 -0
  130. data/spec/integration/v1/invoices/invoice_send_spec.rb +15 -0
  131. data/spec/integration/v1/invoices/invoice_update_spec.rb +26 -0
  132. data/spec/integration/v1/invoices/template_create_spec.rb +14 -0
  133. data/spec/integration/v1/invoices/template_delete_spec.rb +15 -0
  134. data/spec/integration/v1/invoices/template_get_spec.rb +18 -0
  135. data/spec/integration/v1/invoices/template_list_spec.rb +15 -0
  136. data/spec/integration/v1/invoices/template_update_spec.rb +62 -0
  137. data/spec/integration/v1/orders/orders_cancel_spec.rb +15 -0
  138. data/spec/integration/v1/orders/orders_create_spec.rb +17 -0
  139. data/spec/integration/v1/orders/orders_get_spec.rb +18 -0
  140. data/spec/integration/v1/orders/orders_helper.rb +36 -0
  141. data/spec/integration/v1/orders/orders_pay_spec.rb +19 -0
  142. data/spec/integration/v1/payment_experience/pe_helper.rb +35 -0
  143. data/spec/integration/v1/payment_experience/web_profile_create_spec.rb +20 -0
  144. data/spec/integration/v1/payment_experience/web_profile_delete_spec.rb +15 -0
  145. data/spec/integration/v1/payment_experience/web_profile_get_spec.rb +17 -0
  146. data/spec/integration/v1/payment_experience/web_profile_list_spec.rb +18 -0
  147. data/spec/integration/v1/payment_experience/web_profile_partial_update_spec.rb +32 -0
  148. data/spec/integration/v1/payment_experience/web_profile_update_spec.rb +44 -0
  149. data/spec/integration/v1/payments/authorization_capture_spec.rb +17 -0
  150. data/spec/integration/v1/payments/authorization_get_spec.rb +18 -0
  151. data/spec/integration/v1/payments/authorization_reauthorize_spec.rb +26 -0
  152. data/spec/integration/v1/payments/authorization_void_spec.rb +19 -0
  153. data/spec/integration/v1/payments/capture_get_spec.rb +20 -0
  154. data/spec/integration/v1/payments/capture_refund_spec.rb +27 -0
  155. data/spec/integration/v1/payments/order_authorize_spec.rb +20 -0
  156. data/spec/integration/v1/payments/order_capture_spec.rb +21 -0
  157. data/spec/integration/v1/payments/order_get_spec.rb +14 -0
  158. data/spec/integration/v1/payments/order_void_spec.rb +14 -0
  159. data/spec/integration/v1/payments/payment_create_spec.rb +13 -0
  160. data/spec/integration/v1/payments/payment_execute_spec.rb +19 -0
  161. data/spec/integration/v1/payments/payment_get_spec.rb +17 -0
  162. data/spec/integration/v1/payments/payment_list_spec.rb +16 -0
  163. data/spec/integration/v1/payments/payment_update_spec.rb +28 -0
  164. data/spec/integration/v1/payments/payments_helper.rb +78 -0
  165. data/spec/integration/v1/payments/refund_get_spec.rb +19 -0
  166. data/spec/integration/v1/payments/sale_get_spec.rb +18 -0
  167. data/spec/integration/v1/payments/sale_refund_spec.rb +18 -0
  168. data/spec/integration/v1/sync/search_get_spec.rb +34 -0
  169. data/spec/integration/v1/vault/credit_card_create_spec.rb +16 -0
  170. data/spec/integration/v1/vault/credit_card_delete_spec.rb +16 -0
  171. data/spec/integration/v1/vault/credit_card_get_spec.rb +17 -0
  172. data/spec/integration/v1/vault/credit_card_list_spec.rb +18 -0
  173. data/spec/integration/v1/vault/credit_card_update_spec.rb +26 -0
  174. data/spec/integration/v1/vault/vault_helper.rb +28 -0
  175. data/spec/integration/v1/webhooks/available_event_type_list_spec.rb +16 -0
  176. data/spec/integration/v1/webhooks/webhook_create_spec.rb +12 -0
  177. data/spec/integration/v1/webhooks/webhook_delete_spec.rb +13 -0
  178. data/spec/integration/v1/webhooks/webhook_get_spec.rb +16 -0
  179. data/spec/integration/v1/webhooks/webhook_helper.rb +42 -0
  180. data/spec/integration/v1/webhooks/webhook_list_event_subscriptions_spec.rb +16 -0
  181. data/spec/integration/v1/webhooks/webhook_list_spec.rb +15 -0
  182. data/spec/integration/v1/webhooks/webhook_update_spec.rb +29 -0
  183. data/spec/integration/v1/webhooks/webhook_verify_signature_spec.rb +20 -0
  184. data/spec/log/http.log +0 -0
  185. data/spec/log/rest_http.log +0 -0
  186. data/spec/spec_helper.rb +98 -26
  187. data/spec/unit/paypal_http_client_spec.rb +272 -0
  188. metadata +277 -119
  189. data/Rakefile +0 -15
  190. data/data/DigiCertHighAssuranceEVRootCA.pem +0 -23
  191. data/data/DigiCertSHA2ExtendedValidationServerCA.pem +0 -28
  192. data/data/paypal.crt +0 -171
  193. data/lib/generators/paypal/sdk/USAGE +0 -3
  194. data/lib/generators/paypal/sdk/install_generator.rb +0 -17
  195. data/lib/generators/paypal/sdk/templates/paypal.rb +0 -2
  196. data/lib/generators/paypal/sdk/templates/paypal.yml +0 -29
  197. data/lib/paypal-sdk-core.rb +0 -38
  198. data/lib/paypal-sdk/core/api.rb +0 -20
  199. data/lib/paypal-sdk/core/api/base.rb +0 -169
  200. data/lib/paypal-sdk/core/api/data_types/array_with_block.rb +0 -44
  201. data/lib/paypal-sdk/core/api/data_types/base.rb +0 -225
  202. data/lib/paypal-sdk/core/api/data_types/enum.rb +0 -26
  203. data/lib/paypal-sdk/core/api/data_types/simple_types.rb +0 -52
  204. data/lib/paypal-sdk/core/api/ipn.rb +0 -66
  205. data/lib/paypal-sdk/core/api/rest.rb +0 -177
  206. data/lib/paypal-sdk/core/authentication.rb +0 -66
  207. data/lib/paypal-sdk/core/config.rb +0 -253
  208. data/lib/paypal-sdk/core/credential.rb +0 -16
  209. data/lib/paypal-sdk/core/credential/base.rb +0 -27
  210. data/lib/paypal-sdk/core/credential/certificate.rb +0 -32
  211. data/lib/paypal-sdk/core/credential/signature.rb +0 -22
  212. data/lib/paypal-sdk/core/credential/third_party/subject.rb +0 -25
  213. data/lib/paypal-sdk/core/credential/third_party/token.rb +0 -39
  214. data/lib/paypal-sdk/core/exceptions.rb +0 -112
  215. data/lib/paypal-sdk/core/logging.rb +0 -50
  216. data/lib/paypal-sdk/core/openid_connect.rb +0 -140
  217. data/lib/paypal-sdk/core/openid_connect/api.rb +0 -50
  218. data/lib/paypal-sdk/core/openid_connect/data_types.rb +0 -73
  219. data/lib/paypal-sdk/core/openid_connect/get_api.rb +0 -28
  220. data/lib/paypal-sdk/core/openid_connect/request_data_type.rb +0 -52
  221. data/lib/paypal-sdk/core/openid_connect/set_api.rb +0 -36
  222. data/lib/paypal-sdk/core/util.rb +0 -11
  223. data/lib/paypal-sdk/core/util/http_helper.rb +0 -171
  224. data/lib/paypal-sdk/core/util/oauth_signature.rb +0 -64
  225. data/lib/paypal-sdk/core/util/ordered_hash.rb +0 -165
  226. data/lib/paypal-sdk/rest.rb +0 -39
  227. data/lib/paypal-sdk/rest/api.rb +0 -23
  228. data/lib/paypal-sdk/rest/data_types.rb +0 -2596
  229. data/lib/paypal-sdk/rest/error_hash.rb +0 -39
  230. data/lib/paypal-sdk/rest/get_api.rb +0 -20
  231. data/lib/paypal-sdk/rest/request_data_type.rb +0 -53
  232. data/lib/paypal-sdk/rest/set_api.rb +0 -42
  233. data/lib/paypal-sdk/rest/version.rb +0 -7
  234. data/spec/README.md +0 -22
  235. data/spec/config/cacert.pem +0 -171
  236. data/spec/config/cert_key.pem +0 -33
  237. data/spec/config/paypal.yml +0 -35
  238. data/spec/config/sample_data.yml +0 -3
  239. data/spec/core/api/data_type_spec.rb +0 -289
  240. data/spec/core/api/rest_spec.rb +0 -211
  241. data/spec/core/config_spec.rb +0 -192
  242. data/spec/core/logging_spec.rb +0 -28
  243. data/spec/core/openid_connect_spec.rb +0 -153
  244. data/spec/invoice_examples_spec.rb +0 -38
  245. data/spec/payments_examples_spec.rb +0 -437
  246. data/spec/payouts_examples_spec.rb +0 -49
  247. data/spec/rest/data_types_spec.rb +0 -62
  248. data/spec/rest/error_hash_spec.rb +0 -83
  249. data/spec/subscription_examples_spec.rb +0 -227
  250. data/spec/support/sample_data.rb +0 -5
  251. data/spec/web_profile_examples_spec.rb +0 -106
  252. data/spec/webhooks_examples_spec.rb +0 -93
@@ -0,0 +1,20 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe InvoiceListRequest do
7
+ it 'successfully makes a request' do
8
+ InvoiceHelper::create_invoice
9
+
10
+ request = InvoiceListRequest.new
11
+ request.page(8)
12
+ request.page_size(7)
13
+ request.total_count_required(true)
14
+
15
+ resp = TestHarness::client.execute(request)
16
+ expect(resp.status_code).to eq(200)
17
+ expect(resp.result).not_to be_nil
18
+ expect(resp.result.total_count > 0).to be(true)
19
+ end
20
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../../test_harness'
2
+ require 'json'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe InvoiceNextInvoiceNumberRequest do
7
+ it 'successfully makes a request' do
8
+ request = InvoiceNextInvoiceNumberRequest.new()
9
+
10
+ resp = TestHarness::client.execute(request)
11
+ expect(resp.status_code).to eq(200)
12
+ expect(resp.result).not_to be_nil
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe InvoiceQrCodeRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = InvoiceHelper::create_invoice
9
+
10
+ request = InvoiceQrCodeRequest.new(create_response.result.id)
11
+ request.height(300)
12
+ request.width(200)
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
@@ -0,0 +1,14 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Invoices
6
+
7
+ describe InvoiceRecordPaymentRequest do
8
+ it 'successfully makes a request' do
9
+ create_response = InvoiceHelper::create_invoice
10
+ record_response = InvoiceHelper::record_payment(create_response.result.id)
11
+
12
+ expect(record_response.status_code).to eq(204)
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Invoices
6
+
7
+ describe InvoiceRecordRefundRequest do
8
+ it 'successfully makes a request' do
9
+ create_response = InvoiceHelper::create_invoice
10
+ refund_response = InvoiceHelper::record_refund(create_response.result.id)
11
+
12
+ expect(refund_response.status_code).to eq(204)
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe InvoiceRemindRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = InvoiceHelper::create_invoice
9
+ id = create_response.result.id
10
+ InvoiceHelper::send_invoice(id)
11
+
12
+ request = InvoiceRemindRequest.new(id)
13
+ request.request_body({
14
+ :subject => 'PAST DUE',
15
+ :note => 'pony up!',
16
+ :send_to_merchant => true,
17
+ })
18
+
19
+ resp = TestHarness::client.execute(request)
20
+ expect(resp.status_code).to eq(202)
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe InvoiceSearchRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = InvoiceHelper::create_invoice
9
+
10
+ request = InvoiceSearchRequest.new()
11
+ request.request_body({
12
+ :number => create_response.result.number,
13
+ })
14
+
15
+ resp = TestHarness::client.execute(request)
16
+ expect(resp.status_code).to eq(200)
17
+ expect(resp.result).not_to be_nil
18
+ expect(resp.result.invoices[0].id).to eq(create_response.result.id)
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Invoices
6
+
7
+ describe InvoiceSendRequest do
8
+ it 'successfully makes a request' do
9
+ create_response = InvoiceHelper::create_invoice
10
+
11
+ send_response = InvoiceHelper::send_invoice(create_response.result.id)
12
+
13
+ expect(send_response.status_code).to eq(202)
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Invoices
6
+
7
+ describe InvoiceUpdateRequest do
8
+ it 'successfully makes a request' do
9
+ create_response = InvoiceHelper::create_invoice
10
+
11
+ request = InvoiceUpdateRequest.new(create_response.result.id)
12
+ request.notify_merchant(false)
13
+ request.request_body({
14
+ :merchant_info => {
15
+ :email => 'team-dx-clients-facilitator@getbraintree.com',
16
+ },
17
+ :terms => 'Consider this invoice updated',
18
+ })
19
+
20
+ resp = TestHarness::client.execute(request)
21
+ expect(resp.status_code).to eq(200)
22
+ expect(resp.result).not_to be_nil
23
+ expect(resp.result.merchant_info.email).to eq('team-dx-clients-facilitator@getbraintree.com')
24
+ expect(resp.result.terms).to eq('Consider this invoice updated')
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe TemplateCreateRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = InvoiceHelper::create_template
9
+
10
+ expect(create_response.status_code).to eq(201)
11
+ expect(create_response.result).not_to be_nil
12
+ expect(create_response.result.unit_of_measure).to eq('HOURS')
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Invoices
6
+
7
+ describe TemplateDeleteRequest do
8
+ it 'successfully makes a request' do
9
+ create_response = InvoiceHelper::create_template
10
+ request = TemplateDeleteRequest.new(create_response.result.template_id)
11
+ resp = TestHarness::client.execute(request)
12
+
13
+ expect(resp.status_code).to eq(204)
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe TemplateGetRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = InvoiceHelper::create_invoice
9
+
10
+ request = TemplateGetRequest.new(create_response.result.template_id)
11
+
12
+ resp = TestHarness::client.execute(request)
13
+ expect(resp.status_code).to eq(200)
14
+ expect(resp.result).not_to be_nil
15
+
16
+ expect(resp.result.template_id).to eq(create_response.result.template_id)
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../../test_harness'
2
+ require 'json'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe TemplateListRequest do
7
+ it 'successfully makes a request' do
8
+ request = TemplateListRequest.new()
9
+ request.fields('all')
10
+
11
+ resp = TestHarness::client.execute(request)
12
+ expect(resp.status_code).to eq(200)
13
+ expect(resp.result).not_to be_nil
14
+ end
15
+ end
@@ -0,0 +1,62 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './invoice_helper'
3
+
4
+ include PayPal::V1::Invoices
5
+
6
+ describe TemplateUpdateRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = InvoiceHelper::create_template
9
+
10
+ template = create_response.result
11
+ request = TemplateUpdateRequest.new(template.template_id)
12
+
13
+ body = {
14
+ "name": "Hours Template_ruby#{Random.new.rand(1000000)}",
15
+ "default": true,
16
+ "unit_of_measure": "Hours",
17
+ "template_data": {
18
+ "items": [
19
+ {
20
+ "name": "Nutri Bullet 3000",
21
+ "quantity": 1,
22
+ "unit_price": {
23
+ "currency": "USD",
24
+ "value": "50.00",
25
+ },
26
+ },
27
+ ],
28
+ "merchant_info": {
29
+ "email": "team-dx-clients-facilitator@getbraintree.com",
30
+ },
31
+ "tax_calculated_after_discount": false,
32
+ "tax_inclusive": false,
33
+ "note": "Thank you for your business.",
34
+ "logo_url": "https://pics.paypal.com/v1/images/redDot.jpeg",
35
+ "allow_tip": true,
36
+ },
37
+ "settings": [
38
+ {
39
+ "field_name": "items.date",
40
+ "display_preference": {
41
+ "hidden": true,
42
+ },
43
+ },
44
+ {
45
+ "field_name": "custom",
46
+ "display_preference": {
47
+ "hidden": true,
48
+ },
49
+ },
50
+ ],
51
+ }
52
+
53
+ request.request_body(body)
54
+
55
+ resp = TestHarness::client.execute(request)
56
+ expect(resp.status_code).to eq(200)
57
+ expect(resp.result).not_to be_nil
58
+
59
+ get_response = InvoiceHelper::get_template(resp.result.template_id)
60
+ expect(get_response.result.template_data.items[0].name).to eq('Nutri Bullet 3000')
61
+ end
62
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './orders_helper'
3
+
4
+ include PayPal::V1::Orders
5
+
6
+ describe OrdersCancelRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = OrdersHelper::create_order
9
+
10
+ request = OrdersCancelRequest.new(create_response.result.id)
11
+
12
+ resp = TestHarness::client.execute(request)
13
+ expect(resp.status_code).to eq(204)
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './orders_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Orders
6
+
7
+ describe OrdersCreateRequest do
8
+ it 'successfully makes a request' do
9
+ create_response = OrdersHelper::create_order
10
+
11
+ expect(create_response.status_code).to eq(201)
12
+ expect(create_response.result).not_to be_nil
13
+ expect(create_response.result.intent).to eq('SALE')
14
+ expect(create_response.result.purchase_units.count).to eq(2)
15
+ expect(create_response.result.purchase_units[0].reference_id).to eq('test_ref_id1')
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './orders_helper'
3
+
4
+ include PayPal::V1::Orders
5
+
6
+ describe OrdersGetRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = OrdersHelper::create_order
9
+
10
+ request = OrdersGetRequest.new(create_response.result.id)
11
+
12
+ resp = TestHarness::client.execute(request)
13
+ expect(resp.status_code).to eq(200)
14
+ expect(resp.result).not_to be_nil
15
+ expect(resp.result.id).to eq(create_response.result.id)
16
+ expect(resp.result.purchase_units[0].reference_id).to eq('test_ref_id1')
17
+ end
18
+ end
@@ -0,0 +1,36 @@
1
+ require_relative '../../test_harness'
2
+
3
+ include PayPal::V1::Orders
4
+
5
+ module OrdersHelper
6
+ class << self
7
+ def create_order
8
+ body = {
9
+ :intent => 'SALE',
10
+ :purchase_units => [{
11
+ :reference_id => 'test_ref_id1',
12
+ :amount => {
13
+ :total => '100.00',
14
+ :currency => 'USD',
15
+ },
16
+ }, {
17
+ :reference_id => 'test_ref_id2',
18
+ :amount => {
19
+ :total => '50.00',
20
+ :currency => 'USD',
21
+ },
22
+ }],
23
+ :redirect_urls => {
24
+ :cancel_url => 'https://example.com/cancel',
25
+ :return_url => 'https://example.com/return',
26
+ },
27
+ }
28
+
29
+ TestHarness::exec(OrdersCreateRequest.new, body)
30
+ end
31
+
32
+ def get_order(id)
33
+ TestHarness::exec(OrdersGetRequest.new(id))
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './orders_helper'
3
+ require 'json'
4
+
5
+ include PayPal::V1::Orders
6
+
7
+ describe OrdersPayRequest do
8
+ it 'successfully makes a request', :skip => 'This test is an example, in production, orders require payer approval' do
9
+ create_response = OrdersHelper::create_order
10
+ request = OrdersPayRequest.new(create_response.result.id)
11
+ request.request_body({
12
+ :disbursement_mode => 'INSTANT',
13
+ })
14
+
15
+ resp = TestHarness::client.execute(request)
16
+ expect(resp.status_code).to eq(202)
17
+ expect(resp.result).not_to be_nil
18
+ end
19
+ end
@@ -0,0 +1,35 @@
1
+ require_relative '../../test_harness'
2
+
3
+ include PayPal::V1::PaymentExperience
4
+
5
+ module PaymentExperienceHelper
6
+ class << self
7
+ def create_profile
8
+ profile_name = "#{Random.new.rand(1000000)}"
9
+ body = {
10
+ :name => profile_name,
11
+ :flow_config => {
12
+ :landing_page_type => 'billing',
13
+ :bank_txn_pending_url => 'http://yeowza.com',
14
+ :user_action => 'commit',
15
+ :return_uri_http_method => 'GET',
16
+ },
17
+ :presentation => {
18
+ :logo_image => 'http://example.com/icon.ico',
19
+ :brand_name => 'example supply & co',
20
+ :locale_code => 'US',
21
+ :return_url_label => 'Return',
22
+ :note_to_seller_label => 'Thanks',
23
+ },
24
+ :input_fields => {
25
+ :allow_note => true,
26
+ :no_shipping => 1,
27
+ :address_override => 0,
28
+ },
29
+ :temporary => true,
30
+ }
31
+
32
+ TestHarness::exec(WebProfileCreateRequest.new, body)
33
+ end
34
+ end
35
+ end