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,33 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # simulate_event_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/8yX0W/bthPH339/xYG/PSSALKXLkrV+C5oUydY1WezuJQjis3S2WEukRp7ieEX+94GipEZSjWRomu3J8JGSvh9+yePdZ/EBcxJjYWVeZsgU0i0pFoE4JhsbWbDUSozFpB62gLCmear1CqqZIZwp4JTgl8n5BzD0Z0mWYa6TTQC2oFguNoBgMS8yggI3mcYkFIH4vSSzuUCDOTEZK8ZX14E4JUzI9KPvtMn7sQvktB+79B+fbgoS48/C/7bK4aQG+wONxHlGPfBRA/4rbbYNbV+TXMer3sKIQBwZgxuvY8/pw+RcZRsxXmBmyQuWhpI2cGF0QYYlOaKWwLKRajlUXn3mht2kh6o74a7iaUpeHCjMKYRJbZBWBHpR2WjLuXtiTomfaUN4pw0QxmnjbgCF0bcyIdAq8w//c2I2ZQ9YlVl2HzxKXZqsg+v/Dzk/Xr6HhTYVVGuMSgotq027AJ1LZkqCzoyzY5C2AnUyv9XDJyLVH7+RSYesEx4Cnh03ntUTh1RuDZ4b5/rezbKFVpZ6R23LCetADVCOuscGlGa5kDG64e9/hmJDyHTDMu8eom58uPiJyyioEnAzYJ2S6m60AQqs0YJ/axKAVHB1ppiMIu69a6FNjny9kzIXdhxFrHVmQ0m8CLVZRinnWWQW8f7+/pv/W4rdu0cH4eHuC+3Vb0k6nCIDG7lckqHkkQV7UZ5bMtapHSJ9GdlGVc9wnj4k+hdYevnjqXnj+y/+e6lW8EAJnM8/UfyVVJFJtbIdiCbSSxoK0MlzJPWtNDLkLuMErk6PpifnRxOoHr3eiRId2wgLGaXIpNGOqoH+gTl8/uSSGlp0YOrA0JNYu/qICRjNktgl7hCmGnJcUWVVAxdjlgVu+lwqP5ITpzqBteQUOJW2wvYZ5uPlGTDlRVX+PDGvHB78vLfriro4KxP/hdkPswBmO7OgSlKz3RnEKRqMXeVVXbGFoVFhdEzWSrUMwRHNHOvM3T7uFSvaQGOLY9WqzQeVGYDtEnhGz4NVOeL8VVyFX+gg+TXtWNeGhuadTqcXjQ3NVQu8xbwXIjDUrZL8/6H2K7f8XqA7ly6BP7pFDt68ft1ePT/tBrBOZZyCJXPramELqFyScTsDK3u90aXCfC6XpS5ttoGEfJnp94elHBXL2DapyT0WwoQIrqrkcVkrtF/UrdfrUKLCShtaK5cqdwVr5J4dNUj9v+Gdw9h9rlKoNUJvyWiGrC5NTD032uDQkmbwP3ldNuKGFUB/ZAjmeo7G3xayORust96ez9NPPRHQlnmOZtPtA9tYv3StR+rd7O+2pun4ike+lbqrmuEAZkeuIXZ7FrDkVBv516BUDGfPVbO/1YpJ1d2xwKLIalXRJ1vVN6fMxW8+y43FxflkKnybLcYiun0VPQSx0aA1PrkrKGZKJoxc2rc6ITH+ce/V/f/+BgAA//8=
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Simulates a webhook event. In the JSON request body, specify a sample payload.
15
+ #
16
+ class SimulateEventRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize()
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "POST"
23
+ @path = "/v1/notifications/simulate-event?"
24
+ @headers["Content-Type"] = "application/json"
25
+ end
26
+
27
+ def request_body(simulateEvent)
28
+ @body = simulateEvent
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,33 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_create_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/+xY32/bthN///4VB/b7EBey1Q5r1/ktaDMkWLZkjrM9GMF0ls4Wa4pUSSquUfR/H46UPMte+gMr8jD4KeGRFD8/yLuDP4hfsSIxFmual8asRrkl9CQS8YZcbmXtpdFiLG6aOQ/n5GBjGgvtclDSedJkwRuge9LejUQifmvIbq7RYkWerBPj2V0izgkLsvvRn4yt9mPX6Mv92ITeNeT8dFOTGH8Q8a/4I8IQifgdrcS5oj4dkYifaXMQ63O70gTGQmUsbXmZ+VvKI5lTa3ETz3vGOLC40mojxgtUjiIwaanYBq6tqcl6SYx8i/SMxYEwOAAbhPvTb2pyPcD9eB/0qQZkYGAW0NQsvyfdWsCjdSnzkv9xnXM940Yw3Z3yBlCpbrvUuWoKqZegad0F0YEvaQNoCbAoqEjA1ZTLxYbjgM6TlW4FJ9nTbABrqQrI0RbhIEu1wpzCwmyHVRY59L+UPc32tvMlC/hcU9fGeipaUAnM4tw9SsWCtvG7kyfb0DCEhnzeiBcP9jx9+UlPvW0etNR5K/Xy0M5ix6hdO/vxPTuhbCrUQ0tYBCI7i9liFiYQ+bc3UjdKfUw+y0Hzn13wbaCPeloSNFq+a1pwwKseCaHz6Jv+e9mGDlHGKVYSt2/82+l59wV4ZdHDGoaHOC/edG53D/Xbqnkp9Qp2joWrkOgO4SqpV311u8jDecjGHD20pJAf6ez8dHp2dXoDYevdSVqY3KVYy7RETwbdMEykX/ckP5lmH1K/tLTosWkDhw7kpqoVeQKPdkkebieXIQlVuIoJrGOXo1IJL59LHWcq8qUpYC19Cb6ULvBOQGqY3U4uwFNV81ZYGFuhvzspva/dOE29McqNJPnFyNhlWvpKpXaRv3zxw7PBCC5CNm6T5/+zBLKTLAHUBWSDDPISLeZcJ/mzUFsa1tbk5JzUyxEwo4y5ZiBDAocVbaDzhbkazQ/Xl+ijTYBbCSLHyAdDtWCDtQ/hR3rmUdOeddvQoXnn0+l1Z4NtT+fi9o/mPRIDS6oHP44Psc9Y/giQHyYXrM9ekRc/vnr1xFHOO4bfD5K27Duy9xRKNmpOKXwzMNgbjW40VnO5bEzj1KYtNdzasUKOKtRe5q5LRLxtBDdEMAvZY9IidH+jW6/XI4kaAzZ0Ti51xXU45b3DjtL+cPSeaQweLQM3tm9EHB8acTu5jDJJB7nRC7ls2msUu10wGjJlclSlcT4L6kqdm4o7puz66maagTZeLmQerazIOVwGfdHzJz3KtlcDqWM2kEZ/lRCHjUmng5iQq4129KW9ck+UY3d87I6P3fGxOz52x8fu+NgdH7vjY3d87I7/U93xa6M96faHZIF1rVog6VsXWo9z7+tf4iMaC8Yr4i/SYizS++fpLnaXtnWIM//Z+5pyT8VNKKavTUFi/N2z5x//9xcAAAD//w==
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Subscribes your webhook listener to events.
15
+ #
16
+ class WebhookCreateRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize()
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "POST"
23
+ @path = "/v1/notifications/webhooks?"
24
+ @headers["Content-Type"] = "application/json"
25
+ end
26
+
27
+ def request_body(webhook)
28
+ @body = webhook
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,31 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_delete_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/2SQzU7jMBSF9/MU1llbTWc0K+9QE9SKvwIVG1Qht74lhtQ29g0QVX13ZBIELdtPx77fOTtc6i1B4Y1WtffPI0MNMUGipLSONrD1DgrlJ05CiyEoxaoTs3IEieuWYjfXUW+JKSao+6XElLSheExPfdwes7nm+oDtsOhCdkocrXuExJ2OVq8aOnR9sAYSZ9QN+Jf0oiYxK4XfCK7pS1ywF33J7H4So+76c2OJG9LmyjUd1EY3iTJ4aW0kA8WxJYl59IEiW0pQrm2a/bLPUOL+kwwzSsG7RD/ZxDsmN8SgQ2jsWmfR4il5B4kpc7ggrr3Je1fn1aJCvw4Uite/hfNsN8OjVAx1UrH7nmMPieo90JrJ3LLmNk28Iah/4//7Px8AAAD//w==
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Deletes a webhook, by ID.
15
+ #
16
+ class WebhookDeleteRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize(webhook_id)
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "DELETE"
23
+ @path = "/v1/notifications/webhooks/{webhook_id}?"
24
+
25
+ @path = @path.gsub("{webhook_id}", CGI::escape(webhook_id.to_s))
26
+ @headers["Content-Type"] = "application/json"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_get_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/7xX32/bNhB+319xYPeQFLKVDWvX+S1osyVYt2SJuz0YRnWWzhZrilTJU1yhyP8+kJQcy15/YUGeDH4kxe+7j3dHfxR/YkViIja0KI1Zj1fEIhGvyOVW1iyNFhNxU5qNg4IYpXKwNBYQuvUJLFq4eDUWifirIdteocWKmKwTk9k8EeeEBdl99Fdjq33sCrkcYB/FtK09NcdW6pVIxN9oJS4UDSm/lYVIxO/UdvAB/WlJcPEKzBK4pJ54kLEpZV4CG3Cl2fQCvZZTa7GNx58k4pqwuNSqFZMlKkceeN9IS4WYsG0oEVfW1GRZkhMT3Sh1N49ryHH8iAc95GqjHUVsq++fyOhQ4OdlXWoCY6Ey9l6UWbyjnL9NQgfsariP/dktaYYwOKBHfu4ttzW5AdMhPiR9qgE9Me9GU/vQM2kIO5wf3TvSLPy+BUFrGtsLHMN0d4oNoFL9dqlz1RRSr0DTpgfReddbQEuARUFFAq6mXC7bcBvQMVnp1nCUPc2OYSNVATnaIhxkqVaYU1iY7ajKoobhl7Kn2d52JR0Hfq6pa2OZio5UArM4d4tS+YB2+PzoyRYaBWjkzxv7xcd7nj7/xmv55XQqdozatXOI79kJZVOhHlnCIgjZWdwnXBDyf29kyKrkixq0/9kl3wGHBaHR8n3TkQO/6pEYOkZuhvmyhQ5ZxikfyW3FfcB4zr+C715xDcOvKK8PHM3XUq9h51i4DIXukK6Sej2Mbo98ug7ZWKlHlhT6JJ2dn07PLk9vIGydH6WFyV2KtUxLZDLoRmEi/baU/GyZ/VT0S0vLgZoOOHQgN1WtiAkY7YoY3ly/DkWownUsYL26HJVK/PKF1HGmIi5NARvJJXApXdCdgNQwe3N9AUxV7bf6jlkhz49K5tpN0pSNUW4siZdjY1dpyZVK7TJ//uznk+MxXIRq3BXP77MEsqMsAdQFZMcZ5CVazH2nD424tjSqrcnJOalXY/CKMq81AxkKOKyphd4Xr9Von7hcIkebALchiBqjHgzdwhusOcCPlOYxpgPrttCheefT6VVvg+1O983tP817JAWW1IB+HB9yn/nwR4I+MX3D+uIVefbLixdPHOV+x+in46Rr+47sLYWWjdqXlPjSDN8PRjcaq4VcNaZxqu1azYLi/XBUoWaZu74Q+W1juCGCWage1x1Dd89us9mMJWoM3NA5udKV78Op3zvqJe0Pxx+8jONHq8CNHRoRx4dGvLl+HcMkHeRGL+Wq6a6Rfz+QBqMhUyZHVRrHWYiu1Lmp/Ispu7q8mWagDculzKOVFTmHqxBfZP9JRtm91UDqWA2k0Q/yXr5LxEujmXT3YBZY16ojkr5z4elxzlz/EZNoIn47m4r4p0FMRHr7Q7pL3aVdG3Lpx/t/CXciEWcfasqZipvQWF+agsTkx5OTu+/+BQAA//8=
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Shows details for a webhook, by ID.
15
+ #
16
+ class WebhookGetRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize(webhook_id)
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "GET"
23
+ @path = "/v1/notifications/webhooks/{webhook_id}?"
24
+
25
+ @path = @path.gsub("{webhook_id}", CGI::escape(webhook_id.to_s))
26
+ @headers["Content-Type"] = "application/json"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_list_event_subscriptions_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/7yUTW/TQBCG7/yK1Zy3deDAwbeqCbTiK0DEpYqiSTzBC86uuzNusSL/d7S2E7wxUPGhniK/Ga+eZ/zae3iLO4IU7mmdO/f1vDAsK7ojKyuu1rzxphTjLIOGKR0vIYXXhoVVO6miSbV1XqHqD9RqXavr6TloeF+Rr+focUdCniG9WWq4IszIn6YvnN+dZnOUPMr2sKjLwM7ijf0MGj6hN7guKHZamQw0vKK6j0cqi5zU9VS5rZKcDuCtxn1uNrkSp8JaYs1gdOE91h3ERMMHwuydLWpIt1gwheC2Mp4ySMVXpGHuXUleDDGktiqKZtnNEEt3SAhDxKWzTF12tJy1qw4XKux+rPt7yXBPUDzotU/uzyz6YKhx8xO8MVnXJ6lL4ggyzmPeC6swgD3I/PzvmX9VnGxAMuSN8xNelVc7tGeeMAtHqcHwoVot/7+uvG2OftDBhp8hfB+Mq19Zc1v1cCpMPRIhC0oVF+IYjSm7v8ImMe7Df6FdNstGw6WzQrZ/GQHLsjAbDAzJF24f+ZVI+YYkdxmk8HK2gO6zBCkkd08T68Rs+zs46SE52f/4DjVJi3x2qPzsW0kboexjK3fpMoL02WTSPPkOAAD//w==
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Lists event subscriptions for a webhook, by ID.
15
+ #
16
+ class WebhookListEventSubscriptionsRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize(webhook_id)
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "GET"
23
+ @path = "/v1/notifications/webhooks/{webhook_id}/event-types?"
24
+
25
+ @path = @path.gsub("{webhook_id}", CGI::escape(webhook_id.to_s))
26
+ @headers["Content-Type"] = "application/json"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_list_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/7xX32/bNhB+319xYPcQF7KVDWvX+c1I0iVY1niJsz0YxnSWzhYbilRJKq5R5H8fjpRdy27aYQvylPATf3zffbzj+ZN4hxWJoVjRvDTmbqCk8yIRp+RyK2svjRZDcSmdd4BKQTvNwcJYQA1Y1wORiD8asusxWqzIk3ViOP0kJuuaN3beSr0UifgTrcS5ovZA1Hlp7N+eZyXiN1q3+MHhb6XiPcGX9Pl4qcPYkquNdgTzdRhn7a6yyIC0l34NfMAATmmBjfIgHWSj8fjy4mQ0ubh6lzH5kbW4jmyPE3FNWFxptRbDBSpHDHxopKViC4ytqcl6SU4MdaPUwywR54QF2U4EZol4a2y1j43Rl/sYH0HORw68JUNRWcS20fwrBgBam/Zi+vVAsotgFtsg/l/t031Wh4Q2R3WI7YBdgiMNyHy+QvL1fyd5dk/awyTetz2exN/CXexS7eKPs21q8AY8aQgrHI9WpcxL/sc1c143J1ibxm6UDWCy+8mbkF/tcqlz1RRSL0HTagNiyIE1oCXAoqAiAVdTLhfx7qPzZKW7g6PsZdaDlVQF5GiLcJClWmFOMUl2VGVRQ3en7GW2t5yvW+Dnmro21lPRkkpgGr/do1Qc0BafHb3YQv0A9UMi8uTe03n6WHEpdpza9bOL7/kJZVOh7lvCIijZmcwec2SCkiepGck3NWj+s0u+BbqsJyVBo+WHpiUHPOuZGDqPvukmzBY6ZBk/cSRxkwNPGM/Zv+Ariw7XMDzkeXG6cXuTqU8bzUup72DnWLiav6f8C9VcSb1XOTfI44XIxpekb0khZ+n0fDQ5uxrdQFg6O0oLk7sUa5mW6Mmg64cP6TPkZGlp0VHTAocO5KaqFXkCj3ZJHm6vL0MVqvCO2mc/qstRqYSnz6WOXyrypSlgJX0JvpQu6E64XZjeXl+Ap6rmpdy+VOhnR6X3tRumqTdGuYEkvxgYu0xLX6nULvLXr34+7g3gIpTjtnp+nyWQHWUJoC4g62WQl2gxDz0Kd0W1pX5tTU7OSb0cACvKWGvG3QdvcUdr2PjCWo3mxPUl+mgT4DYEUWPUg+G5YIO1D/AzpXmMace6LXRo3vlkMt7YYNvT+XX7onnPpMCS6tCP40PuUw5/JMiJyS/WN6/Iq1/evHnhKOcV/Z96SfvuO7L3FN5s1FxSQr8c7I1GNxqruVw2pnFq3T41c4r3w1GF2svcbQoRLxvADRFMQ/W4bhm6z+xWq9VAosbADZ2TS13xQ5zy2v5G0v5w8JFl9J6tAje2a0QcHxpxe30ZwyQd5EYv5LJprxE3EKTBaMiUyVGVxvksRFfq3FTcMmXjq5tJBtp4uZB5tLIi53AZ4ouet/Qo22YNpI7VQBr9RIGYPSTixGhPuu3pBda1armk713oPs69r3+PeTQUv55NRPxtIIYivf8h3WXv0p2W+exjTbmn4iY8pyemIDH88fj44bt/AAAA//8=
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Lists all webhooks for an app.
15
+ #
16
+ class WebhookListRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize()
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "GET"
23
+ @path = "/v1/notifications/webhooks?"
24
+ @headers["Content-Type"] = "application/json"
25
+ end
26
+
27
+ def anchor_type(anchor_type)
28
+ param = anchor_type.to_s
29
+ @path += "anchor_type=#{CGI::escape(param)}&"
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,35 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_update_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/7xYQXPbuhG+91fsID3YGUp0O02a6uZJ0nHaNFZtpT14POaKXImIQYABQCuajP/7mwVAWZTiOH4v8UmDBRb8PnyL3YW+ig/YkJiIFc1rY67HXVuhJ5GJN+RKK1svjRYTcUatwpIcpHWwkKQqByvpa9C0ghtUHbkxnHdta6x3YLRag68JCht9CzAtWeQNxzBF5wCh+OSMvmrRl3UBZv6JSh+3/IYToK6gaNHXRQarWpY1SAdF3llVwMJYQPh49h6MhSKnG9L+yq9bcnEuGNwYZgwoYC3Ym6SvyQaYyRdBSefBLHoXkYn/dmTXU7TYkCfrxOTiMhMnhBXZXes/jW12bVP09cD2VczWLR+681bqpcjE/9BKnCsainElK5GJf9M6mfdUYTbv3jBYZtBL4w1EFRn7sbW4jp87ysQZYXWq1VpMFqgcseFzJy1VYuJtR5mYWj5vL8mJie6Uur2Ma8j5uMkG+7/OTz/AlJXbxx8EvbLRb0Bhd2bI51gDMl5mFPYPy1NgOCaGbavW0KL1ElWiGSYsOdPZktwO6ZffJZ0M26wfVmdhTTMglQw7XBIDI7XnEDNBI2XKGMxSh7FHuyQPlSm7hrQH3ioFtzfQmBsKy0LEjqEHHkI63C1esX2xHqP4N8gHybMHT8C0A/5huB+ZdzfXGyhN0yp6ZEz+foScJnYDr/4BjfBBhdDf6dOTCgt/lQgx+vcphpgYcOwt+1KEmc39SWnQ0k70QGXIgTYebMQHmCLvZzC6vOVVrjXa0U4u+X/MXPscv5/+TjVxym6MvUt+KVf8UcR3WeAtlwEIgz14W2VmgHRovz/HdW3IC6RTseHRJrhcN2e/OcHadLYnOIbZ9hRLqlTvLnWpukrqZSjJyYiOw3MNyHpWFVUZuJZKuYjlGZ0nK901HBTPi0NYSVVBibYKH0pVOOaaQVENHIY7Fc+LHfdQShmfi10BVQlUBhdx7gal4gNN9suDZxvTKJhG/L0xLz58VGbfL2cPJ/ZqS6htOYf23RRSdw3qkSWsApGtxX1hDkSeKPFp/tkGnwz7OaHT8nOXwAGveiKEzqPvhvdlY9pHGaf4JHFzx3/eeV7+AN6dJiwMf6AN+8mn+V7qa9j6LJzeUxaU1NfD0+0t9+eh1I+NLCnkS3pxcjx7e3p8DsH18iCvTOlybGVeoyeDbhQm8sNf32zVlhYDNsmwr8BdMY4V++PZ+5CEGryOCaxnV6JSGS+fSx1nGvK1qeLLw9fSBd4ZdwAXH8/egaemZVduuxr0lwe1962b5Lk3RrmxJL8YG7vMa9+o3C7Kly/+fnQ4hnchG6fk+ecig+KgyOIr5rCAskaLJb8IQjfXWhq11pTknNTLVKGZa3in8BbXtIZeF+ZqNF9cX6OPMgFujiByjHwwVAsWWPtgfqJrHs90IN3GtC/eyWw27WWwfZfr7xHviRhYUgP4cbyP/YKPPwIMze66pQdD5MU/Xr165qhkj9HfDvsHrSN7Q6Fko+aUskgvUn0dhe40NnO57Ezn1DqVmjnF+HDUoPaydH0iYrcxnBPBRcgeZwmhu0O3Wq3GEjUGbOicXGpucl3OvqOe0u5w/IVpHD5ZBu7sUIg43heCn/DhmKSD0uiFXHYpjLh/IA1GQ8H9vaqN8/GPAalL03DHVExPz2cFd79yIdMToCHncBnOFz1v6VGmXg2kjtngsQ3/fe/s20y8NtqTTg9twa16ApJ/cqH1OPG+/U+8RBMxPZ69PhHx7wUxEfnNX/Jt8C5PhcjlX+/+T7gVmXj7paXSU3UeSutrU5GY/PXo6PZPvwEAAP//
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Replaces webhook fields with new values. Supports only the `replace` operation. Pass a `json_patch` object with `replace` operation and `path`, which is `/url` for a URL or `/event_types` for events. The `value` is either the URL or a list of events.
15
+ #
16
+ class WebhookUpdateRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize(webhook_id)
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "PATCH"
23
+ @path = "/v1/notifications/webhooks/{webhook_id}?"
24
+
25
+ @path = @path.gsub("{webhook_id}", CGI::escape(webhook_id.to_s))
26
+ @headers["Content-Type"] = "application/json"
27
+ end
28
+
29
+ def request_body(patchRequest)
30
+ @body = patchRequest
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,33 @@
1
+ # This class was generated on Thu, 01 Feb 2018 12:45:02 PST by version 0.1.0-dev+3a517e of Braintree SDK Generator
2
+ # webhook_verify_signature_request.rb
3
+ # @version 0.1.0-dev+3a517e
4
+ # @type request
5
+ # @data H4sIAAAAAAAC/9RY0XLbthJ9v1+xw3sf4hmJ8m3qNNGbxnZiTZ1YteS0HY/HWpErETEJsMBSMpvJv3dAkLJIWpHTOG76pNHugtxzdrE4xEfvHSbk9b0VzSKlbvwlaTHPr41YSORMk9fxjsgEWqQslPT63nsbIMgAQrkG1sG+1/F+yUjnI9SYEJM2Xv/yquOdEIakm9bXSidN2wg5atrO6Y+MDE/ylLz+R8/9ukRy+LVMYryR8XvUAmcxldgcpm6ZbncT28+U7w6qEzAAF9qGD9olamkYaI25y3TfIsDwTMa5159jbMhBEprCtWGkVUqaBVnMa4yGtZCLNiLMOLrGeKFqEDat9ZwnEYF1aMFRAhwhwwjzEcaQGTLAChYkSSMTcEQbiFCGLjxXGQQobbwNLymoBftwfMsaAwaOhIElxhnBXKukCJuOBr+PBqfdwcXkpDs4fXM2BU0mVdIQREV7dGAViSACYUBTQGJJIawER8XyimypWMxFgBbYF/HMOmvQLLM4/tTZyXVAmq8zHdeo3jC2mf7NP9h/BWk2i0UAN5SDjXZZkw9HaiVjhWEBa8NTUSUMXJyfFsxbsgV/Hd+Hx+eT7sX56b+FbtYoTSKMEUpei7DGetvXJn94BGpeYDiZTEawucSHQyUZhaQQhKyxNDkfvBu/HY7Hw7N33eHRtOSoetQmDZCQMbigf4AOIxbb+XDONiFuo3erDR4CmjxJiLUINntpkKaE2nyWmPHwzXfKDIuEtlNTetvchHbfFTNOJLS1bzqWlMuhZNKSuLFornSCfPUsYk5Nv9djpWLjC+K5r/SiF3ES9/Q8eP78+av/Ggrsy7sH/ou9hzE+Gb49fnrKj5ckuc14ORSuqXTfsd30NE/MapwU/sccKruPykATMrUbpG7f1RqriGRtMLaRwAoNuKeG36ZjvlJWPHBfFciu2QZt8lUzt+lyfBRSgbVYLEhTuIOwJ8WzJG238j2Q7jzbUJUR1Ub96rPx72NpnIc7j8AnI/9UyBvYyATOZh8ouGeGxELemBqIytKYGRLQpmeRlLK6qykuDrDLk8Hk+GwwhmLp1bNeqALTw1T0ImRSaLqFo7lhXjy+Do80zWtgSkO7JoFK0pisvka9ILYSz4eJggRvnOauwAUYxx0bPhPSeRLiSK21mTAFbDdhLs6HwJSkcaEfHzZXXhz8tL/nw1AGcRa6N0z/N+3A9Nm0Uwyp6d4UggitsiRt7GMh1dRNtQrIGCEXPlhEU4t1auWjfYSVuVVZLFYl1/OgKAbgmgKH0eFBMNnM2PpKLsxPtJEcp7XSrU3t4hWKoCyDLt9uVfm9xXsiBJrqXyTufzv3S0u/S9DuSzvAd7bIwauXL9dHz4971ZeCIb20H/4GUNohYzsDi/K6QmcSk5lYZCozcQ5hkcqMXH8YSlCyCEw1muwyH8ZEcFkMj/MyQ3OX3Wq18gVKLHJDY8VqQpJNz67tVpCaf/1bC+NxTsurjUKoLRNNk1GZDqhRjbWxXZLK+V0el1VybQXQ9LSBSbxT0WuQ1d5gtfX0dGifCKDJkgR1XoN2Z2sq19JTdrM722zf81od1GoEr5UGukU76TowHUCKue1ZwIwjpcWfLanoTx+7UbcBr0R6Q0TUzA8REzZ3JedikWn3IZ2rTMMRLSm2WcFIacYYMAhU9oVV3fJlcvXJBrnbiwfeAkIV3+ahhv5ezJ+54HMP/fY3fEUKZVddG0bOTPu6suVvQ3GuqoR3SDbXP1aJDpVkkuU9rYdpGpcv6H0whcA+YU7fumO2743OxhPPXfh6fa+3/H9vcyeZ3mcuZI9vUwqYwnEB7lCF5PV/2N//9J+/AAAA//8=
6
+ # DO NOT EDIT
7
+ require 'cgi'
8
+
9
+ module PayPal
10
+ module V1
11
+ module Webhooks
12
+
13
+ #
14
+ # Verifies a webhook signature.
15
+ #
16
+ class WebhookVerifySignatureRequest
17
+ attr_accessor :path, :body, :headers, :verb
18
+
19
+ def initialize()
20
+ @headers = {}
21
+ @body = nil
22
+ @verb = "POST"
23
+ @path = "/v1/notifications/verify-webhook-signature?"
24
+ @headers["Content-Type"] = "application/json"
25
+ end
26
+
27
+ def request_body(verifyWebhookSignature)
28
+ @body = verifyWebhookSignature
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,25 @@
1
+ require 'braintreehttp'
2
+ require_relative '../../lib/lib'
3
+
4
+ module TestHarness
5
+ class << self
6
+ def environment
7
+ client_id = ENV['PAYPAL_CLIENT_ID'] || 'AdV4d6nLHabWLyemrw4BKdO9LjcnioNIOgoz7vD611ObbDUL0kJQfzrdhXEBwnH8QmV-7XZjvjRWn0kg'
8
+ client_secret = ENV['PAYPAL_CLIENT_SECRET'] || 'EPKoPC_haZMTq5uM9WXuzoxUVdgzVqHyD5avCyVC1NCIUJeVaNNUZMnzduYIqrdw-carG9LBAizFGMyK'
9
+
10
+ PayPal::SandboxEnvironment.new(client_id, client_secret)
11
+ end
12
+
13
+ def client
14
+ PayPal::PayPalHttpClient.new(self.environment)
15
+ end
16
+
17
+ def exec(req, body = nil)
18
+ if body
19
+ req.request_body(body)
20
+ end
21
+
22
+ client.execute(req)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,69 @@
1
+ require_relative '../../test_harness'
2
+ require_relative '../billing_plans/plan_helper'
3
+ require "braintreehttp"
4
+
5
+ include PayPal::V1::BillingAgreements
6
+
7
+ describe AgreementCreateRequest do
8
+ it 'successfully makes a request' do
9
+ begin
10
+ plan_response = PlanHelper::create_plan
11
+ plan_id = plan_response.result.id
12
+
13
+ PlanHelper::activate_plan(plan_id)
14
+
15
+ resp = AgreementHelper::create_agreement(plan_id)
16
+
17
+ expect(resp.status_code).to eq(201)
18
+ expect(resp.result).not_to be_nil
19
+ rescue BraintreeHttp::HttpError => e
20
+ puts e.status_code
21
+ puts e.result
22
+ end
23
+ end
24
+ end
25
+
26
+ module AgreementHelper
27
+ def self.build_request_body(plan_id)
28
+ return {
29
+ "name": "Override Agreement",
30
+ "description": "PayPal payment agreement that overrides merchant preferences and shipping fee and tax information.",
31
+ "start_date": (Time.now + 60 * 60 * 24).utc.iso8601,
32
+ "payer": {
33
+ "payment_method": "paypal",
34
+ "payer_info": {
35
+ "email": "payer@example.com",
36
+ },
37
+ },
38
+ "plan": {
39
+ "id": plan_id,
40
+ },
41
+ "shipping_address": {
42
+ "line1": "Hotel Staybridge",
43
+ "line2": "Crooke Street",
44
+ "city": "San Jose",
45
+ "state": "CA",
46
+ "postal_code": "95112",
47
+ "country_code": "US",
48
+ },
49
+ "override_merchant_preferences": {
50
+ "setup_fee": {
51
+ "value": "3",
52
+ "currency": "USD",
53
+ },
54
+ "return_url": "https://example.com/",
55
+ "cancel_url": "https://example.com/cancel",
56
+ "auto_bill_amount": "YES",
57
+ "initial_fail_amount_action": "CONTINUE",
58
+ "max_fail_attempts": "11",
59
+ },
60
+ }
61
+ end
62
+
63
+ def self.create_agreement(plan_id)
64
+ request = AgreementCreateRequest.new()
65
+ request.request_body(self.build_request_body(plan_id))
66
+
67
+ TestHarness::client.execute(request)
68
+ end
69
+ end
@@ -0,0 +1,12 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './plan_helper'
3
+
4
+ include PayPal::V1::BillingPlans
5
+
6
+ describe PlanCreateRequest do
7
+ it 'successfully makes a request' do
8
+ resp = PlanHelper::create_plan
9
+ expect(resp.status_code).to eq(201)
10
+ expect(resp.result).not_to be_nil
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ require_relative '../../test_harness'
2
+ require_relative './plan_helper'
3
+
4
+ include PayPal::V1::BillingPlans
5
+
6
+ describe PlanGetRequest do
7
+ it 'successfully makes a request' do
8
+ create_response = PlanHelper::create_plan
9
+
10
+ get_response = PlanHelper::get_plan(create_response.result.id)
11
+
12
+ expect(get_response.status_code).to eq(200)
13
+ expect(get_response.result).not_to be_nil
14
+ expect(get_response.result.id).to eq(create_response.result.id)
15
+ end
16
+ end
@@ -0,0 +1,71 @@
1
+ require_relative '../../test_harness'
2
+
3
+ include PayPal::V1::BillingPlans
4
+
5
+ module PlanHelper
6
+ class << self
7
+ def activate_plan(plan_id)
8
+ request_body = [
9
+ {
10
+ :op => 'replace',
11
+ :path => '/',
12
+ :value => {
13
+ :state => 'ACTIVE',
14
+ },
15
+ },
16
+ ]
17
+
18
+ activate_request = PlanUpdateRequest.new(plan_id)
19
+ activate_request.request_body(request_body)
20
+
21
+ TestHarness::client.execute(activate_request)
22
+ end
23
+
24
+ def create_plan
25
+ request_body = {
26
+ "payment_definitions": [{
27
+ "amount": {
28
+ "value": "100",
29
+ "currency": "USD",
30
+ },
31
+ "frequency": "MONTH",
32
+ "cycles": "12",
33
+ "frequency_interval": "2",
34
+ "type": "REGULAR",
35
+ "name": "Regular Payments",
36
+ "charge_models": [{
37
+ "type": "SHIPPING",
38
+ "amount": {
39
+ "value": "10",
40
+ "currency": "USD",
41
+ },
42
+ }, {
43
+ "type": "TAX",
44
+ "amount": {
45
+ "value": "12",
46
+ "currency": "USD",
47
+ },
48
+ }],
49
+ }],
50
+ "merchant_preferences": {
51
+ "return_url": "http://localhost:3000/subscription/success",
52
+ "cancel_url": "http://localhost:3000/subscription/cancel",
53
+ },
54
+ "name": "T-Shirt of the Month Club Plan",
55
+ "description": "Template creation.",
56
+ "type": "fixed",
57
+ }
58
+
59
+ request = PlanCreateRequest.new()
60
+ request.request_body(request_body)
61
+
62
+ TestHarness::client.execute(request)
63
+ end
64
+
65
+ def get_plan(plan_id)
66
+ request = PlanGetRequest.new(plan_id)
67
+
68
+ TestHarness::client.execute(request)
69
+ end
70
+ end
71
+ end