paypal-server-sdk 0.5.0

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.
Files changed (275) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +35 -0
  3. data/README.md +112 -0
  4. data/lib/paypal_server_sdk/api_helper.rb +10 -0
  5. data/lib/paypal_server_sdk/client.rb +85 -0
  6. data/lib/paypal_server_sdk/configuration.rb +109 -0
  7. data/lib/paypal_server_sdk/controllers/base_controller.rb +71 -0
  8. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -0
  9. data/lib/paypal_server_sdk/controllers/orders_controller.rb +517 -0
  10. data/lib/paypal_server_sdk/controllers/payments_controller.rb +404 -0
  11. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -0
  12. data/lib/paypal_server_sdk/exceptions/api_exception.rb +10 -0
  13. data/lib/paypal_server_sdk/exceptions/error_exception.rb +71 -0
  14. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +48 -0
  15. data/lib/paypal_server_sdk/http/api_response.rb +21 -0
  16. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +136 -0
  17. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -0
  18. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -0
  19. data/lib/paypal_server_sdk/http/http_request.rb +10 -0
  20. data/lib/paypal_server_sdk/http/http_response.rb +10 -0
  21. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +114 -0
  22. data/lib/paypal_server_sdk/logging/sdk_logger.rb +17 -0
  23. data/lib/paypal_server_sdk/models/activity_timestamps.rb +68 -0
  24. data/lib/paypal_server_sdk/models/address.rb +116 -0
  25. data/lib/paypal_server_sdk/models/address_details.rb +160 -0
  26. data/lib/paypal_server_sdk/models/amount_breakdown.rb +115 -0
  27. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +80 -0
  28. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +60 -0
  29. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +50 -0
  30. data/lib/paypal_server_sdk/models/apple_pay_card.rb +94 -0
  31. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +167 -0
  32. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +95 -0
  33. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +83 -0
  34. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +24 -0
  35. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +114 -0
  36. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +51 -0
  37. data/lib/paypal_server_sdk/models/apple_pay_request.rb +137 -0
  38. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +113 -0
  39. data/lib/paypal_server_sdk/models/assurance_details.rb +68 -0
  40. data/lib/paypal_server_sdk/models/authentication_response.rb +61 -0
  41. data/lib/paypal_server_sdk/models/authorization.rb +192 -0
  42. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +23 -0
  43. data/lib/paypal_server_sdk/models/authorization_status.rb +35 -0
  44. data/lib/paypal_server_sdk/models/authorization_status_details.rb +50 -0
  45. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +60 -0
  46. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +205 -0
  47. data/lib/paypal_server_sdk/models/avs_code.rb +90 -0
  48. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +95 -0
  49. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +73 -0
  50. data/lib/paypal_server_sdk/models/base_model.rb +62 -0
  51. data/lib/paypal_server_sdk/models/bin_details.rb +88 -0
  52. data/lib/paypal_server_sdk/models/blik_experience_context.rb +122 -0
  53. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +48 -0
  54. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +52 -0
  55. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +82 -0
  56. data/lib/paypal_server_sdk/models/blik_payment_object.rb +86 -0
  57. data/lib/paypal_server_sdk/models/blik_payment_request.rb +105 -0
  58. data/lib/paypal_server_sdk/models/capture.rb +228 -0
  59. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +55 -0
  60. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +89 -0
  61. data/lib/paypal_server_sdk/models/capture_request.rb +108 -0
  62. data/lib/paypal_server_sdk/models/capture_status.rb +35 -0
  63. data/lib/paypal_server_sdk/models/capture_status_details.rb +50 -0
  64. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +60 -0
  65. data/lib/paypal_server_sdk/models/captured_payment.rb +248 -0
  66. data/lib/paypal_server_sdk/models/card_attributes.rb +70 -0
  67. data/lib/paypal_server_sdk/models/card_attributes_response.rb +50 -0
  68. data/lib/paypal_server_sdk/models/card_authentication_response.rb +51 -0
  69. data/lib/paypal_server_sdk/models/card_brand.rb +93 -0
  70. data/lib/paypal_server_sdk/models/card_customer_information.rb +85 -0
  71. data/lib/paypal_server_sdk/models/card_experience_context.rb +59 -0
  72. data/lib/paypal_server_sdk/models/card_from_request.rb +60 -0
  73. data/lib/paypal_server_sdk/models/card_payment_token.rb +166 -0
  74. data/lib/paypal_server_sdk/models/card_request.rb +176 -0
  75. data/lib/paypal_server_sdk/models/card_response.rb +139 -0
  76. data/lib/paypal_server_sdk/models/card_response_entity.rb +156 -0
  77. data/lib/paypal_server_sdk/models/card_stored_credential.rb +95 -0
  78. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +71 -0
  79. data/lib/paypal_server_sdk/models/card_type.rb +32 -0
  80. data/lib/paypal_server_sdk/models/card_vault_response.rb +86 -0
  81. data/lib/paypal_server_sdk/models/card_verification.rb +51 -0
  82. data/lib/paypal_server_sdk/models/card_verification_details.rb +111 -0
  83. data/lib/paypal_server_sdk/models/card_verification_method.rb +29 -0
  84. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +62 -0
  85. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +24 -0
  86. data/lib/paypal_server_sdk/models/cobranded_card.rb +70 -0
  87. data/lib/paypal_server_sdk/models/confirm_order_request.rb +74 -0
  88. data/lib/paypal_server_sdk/models/customer_information.rb +72 -0
  89. data/lib/paypal_server_sdk/models/customer_request.rb +62 -0
  90. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +105 -0
  91. data/lib/paypal_server_sdk/models/cvv_code.rb +60 -0
  92. data/lib/paypal_server_sdk/models/disbursement_mode.rb +23 -0
  93. data/lib/paypal_server_sdk/models/dispute_category.rb +23 -0
  94. data/lib/paypal_server_sdk/models/eci_flag.rb +39 -0
  95. data/lib/paypal_server_sdk/models/enrollment_status.rb +29 -0
  96. data/lib/paypal_server_sdk/models/eps_payment_object.rb +74 -0
  97. data/lib/paypal_server_sdk/models/eps_payment_request.rb +73 -0
  98. data/lib/paypal_server_sdk/models/error_details.rb +110 -0
  99. data/lib/paypal_server_sdk/models/exchange_rate.rb +75 -0
  100. data/lib/paypal_server_sdk/models/experience_context.rb +98 -0
  101. data/lib/paypal_server_sdk/models/fullfillment_type.rb +31 -0
  102. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +74 -0
  103. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +73 -0
  104. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +23 -0
  105. data/lib/paypal_server_sdk/models/google_pay_card_attributes.rb +51 -0
  106. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +104 -0
  107. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +105 -0
  108. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +20 -0
  109. data/lib/paypal_server_sdk/models/google_pay_request.rb +118 -0
  110. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +84 -0
  111. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +85 -0
  112. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +85 -0
  113. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +83 -0
  114. data/lib/paypal_server_sdk/models/item.rb +134 -0
  115. data/lib/paypal_server_sdk/models/item_category.rb +26 -0
  116. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +66 -0
  117. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +120 -0
  118. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +26 -0
  119. data/lib/paypal_server_sdk/models/line_item.rb +177 -0
  120. data/lib/paypal_server_sdk/models/link_description.rb +75 -0
  121. data/lib/paypal_server_sdk/models/link_http_method.rb +41 -0
  122. data/lib/paypal_server_sdk/models/money.rb +62 -0
  123. data/lib/paypal_server_sdk/models/my_bank_payment_object.rb +85 -0
  124. data/lib/paypal_server_sdk/models/my_bank_payment_request.rb +73 -0
  125. data/lib/paypal_server_sdk/models/name.rb +61 -0
  126. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +73 -0
  127. data/lib/paypal_server_sdk/models/network_token.rb +95 -0
  128. data/lib/paypal_server_sdk/models/network_transaction_reference.rb +90 -0
  129. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +88 -0
  130. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +45 -0
  131. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -0
  132. data/lib/paypal_server_sdk/models/order.rb +178 -0
  133. data/lib/paypal_server_sdk/models/order_application_context.rb +193 -0
  134. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +32 -0
  135. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +34 -0
  136. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +29 -0
  137. data/lib/paypal_server_sdk/models/order_authorize_request.rb +51 -0
  138. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +104 -0
  139. data/lib/paypal_server_sdk/models/order_authorize_response.rb +171 -0
  140. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +88 -0
  141. data/lib/paypal_server_sdk/models/order_capture_request.rb +51 -0
  142. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +104 -0
  143. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +109 -0
  144. data/lib/paypal_server_sdk/models/order_request.rb +103 -0
  145. data/lib/paypal_server_sdk/models/order_status.rb +35 -0
  146. data/lib/paypal_server_sdk/models/order_tracker_item.rb +99 -0
  147. data/lib/paypal_server_sdk/models/order_tracker_request.rb +116 -0
  148. data/lib/paypal_server_sdk/models/order_tracker_response.rb +122 -0
  149. data/lib/paypal_server_sdk/models/order_tracker_status.rb +23 -0
  150. data/lib/paypal_server_sdk/models/p24_payment_object.rb +108 -0
  151. data/lib/paypal_server_sdk/models/p24_payment_request.rb +85 -0
  152. data/lib/paypal_server_sdk/models/pa_res_status.rb +42 -0
  153. data/lib/paypal_server_sdk/models/patch.rb +83 -0
  154. data/lib/paypal_server_sdk/models/patch_op.rb +35 -0
  155. data/lib/paypal_server_sdk/models/pay_pal_experience_landing_page.rb +26 -0
  156. data/lib/paypal_server_sdk/models/pay_pal_experience_user_action.rb +24 -0
  157. data/lib/paypal_server_sdk/models/pay_pal_payment_token.rb +180 -0
  158. data/lib/paypal_server_sdk/models/pay_pal_payment_token_customer_type.rb +25 -0
  159. data/lib/paypal_server_sdk/models/pay_pal_payment_token_usage_pattern.rb +35 -0
  160. data/lib/paypal_server_sdk/models/pay_pal_payment_token_usage_type.rb +23 -0
  161. data/lib/paypal_server_sdk/models/pay_pal_wallet.rb +158 -0
  162. data/lib/paypal_server_sdk/models/pay_pal_wallet_account_verification_status.rb +24 -0
  163. data/lib/paypal_server_sdk/models/pay_pal_wallet_attributes.rb +59 -0
  164. data/lib/paypal_server_sdk/models/pay_pal_wallet_attributes_response.rb +70 -0
  165. data/lib/paypal_server_sdk/models/pay_pal_wallet_customer.rb +85 -0
  166. data/lib/paypal_server_sdk/models/pay_pal_wallet_customer_request.rb +85 -0
  167. data/lib/paypal_server_sdk/models/pay_pal_wallet_experience_context.rb +140 -0
  168. data/lib/paypal_server_sdk/models/pay_pal_wallet_response.rb +166 -0
  169. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_instruction.rb +115 -0
  170. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_response.rb +86 -0
  171. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_status.rb +26 -0
  172. data/lib/paypal_server_sdk/models/payee.rb +65 -0
  173. data/lib/paypal_server_sdk/models/payee_base.rb +64 -0
  174. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +23 -0
  175. data/lib/paypal_server_sdk/models/payer.rb +120 -0
  176. data/lib/paypal_server_sdk/models/payer_base.rb +64 -0
  177. data/lib/paypal_server_sdk/models/payment_advice_code.rb +30 -0
  178. data/lib/paypal_server_sdk/models/payment_authorization.rb +212 -0
  179. data/lib/paypal_server_sdk/models/payment_collection.rb +99 -0
  180. data/lib/paypal_server_sdk/models/payment_initiator.rb +23 -0
  181. data/lib/paypal_server_sdk/models/payment_instruction.rb +105 -0
  182. data/lib/paypal_server_sdk/models/payment_method_preference.rb +72 -0
  183. data/lib/paypal_server_sdk/models/payment_source.rb +187 -0
  184. data/lib/paypal_server_sdk/models/payment_source_response.rb +171 -0
  185. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +50 -0
  186. data/lib/paypal_server_sdk/models/payment_token_request.rb +60 -0
  187. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +125 -0
  188. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +59 -0
  189. data/lib/paypal_server_sdk/models/payment_token_response.rb +87 -0
  190. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +87 -0
  191. data/lib/paypal_server_sdk/models/phone.rb +77 -0
  192. data/lib/paypal_server_sdk/models/phone_number.rb +54 -0
  193. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +66 -0
  194. data/lib/paypal_server_sdk/models/phone_type.rb +32 -0
  195. data/lib/paypal_server_sdk/models/phone_with_type.rb +59 -0
  196. data/lib/paypal_server_sdk/models/platform_fee.rb +63 -0
  197. data/lib/paypal_server_sdk/models/processing_instruction.rb +23 -0
  198. data/lib/paypal_server_sdk/models/processor_response.rb +83 -0
  199. data/lib/paypal_server_sdk/models/processor_response_code.rb +479 -0
  200. data/lib/paypal_server_sdk/models/purchase_unit.rb +227 -0
  201. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +193 -0
  202. data/lib/paypal_server_sdk/models/reauthorize_request.rb +62 -0
  203. data/lib/paypal_server_sdk/models/refund.rb +195 -0
  204. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +20 -0
  205. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +68 -0
  206. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +52 -0
  207. data/lib/paypal_server_sdk/models/refund_request.rb +100 -0
  208. data/lib/paypal_server_sdk/models/refund_status.rb +29 -0
  209. data/lib/paypal_server_sdk/models/refund_status_details.rb +50 -0
  210. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +60 -0
  211. data/lib/paypal_server_sdk/models/related_identifiers.rb +69 -0
  212. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +156 -0
  213. data/lib/paypal_server_sdk/models/seller_protection.rb +65 -0
  214. data/lib/paypal_server_sdk/models/seller_protection_status.rb +29 -0
  215. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +129 -0
  216. data/lib/paypal_server_sdk/models/setup_token_card_experience_context.rb +103 -0
  217. data/lib/paypal_server_sdk/models/setup_token_request.rb +60 -0
  218. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +141 -0
  219. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +77 -0
  220. data/lib/paypal_server_sdk/models/setup_token_response.rb +106 -0
  221. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +156 -0
  222. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +68 -0
  223. data/lib/paypal_server_sdk/models/shipment_carrier.rb +3852 -0
  224. data/lib/paypal_server_sdk/models/shipping_details.rb +106 -0
  225. data/lib/paypal_server_sdk/models/shipping_name.rb +50 -0
  226. data/lib/paypal_server_sdk/models/shipping_option.rb +94 -0
  227. data/lib/paypal_server_sdk/models/shipping_preference.rb +26 -0
  228. data/lib/paypal_server_sdk/models/shipping_type.rb +29 -0
  229. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +124 -0
  230. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +85 -0
  231. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +73 -0
  232. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +36 -0
  233. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +20 -0
  234. data/lib/paypal_server_sdk/models/stored_payment_source.rb +95 -0
  235. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +26 -0
  236. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +27 -0
  237. data/lib/paypal_server_sdk/models/supplementary_data.rb +58 -0
  238. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +63 -0
  239. data/lib/paypal_server_sdk/models/tax_id_type.rb +23 -0
  240. data/lib/paypal_server_sdk/models/tax_info.rb +57 -0
  241. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +62 -0
  242. data/lib/paypal_server_sdk/models/token.rb +56 -0
  243. data/lib/paypal_server_sdk/models/token_request_type.rb +23 -0
  244. data/lib/paypal_server_sdk/models/token_type.rb +20 -0
  245. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +85 -0
  246. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +73 -0
  247. data/lib/paypal_server_sdk/models/universal_product_code.rb +56 -0
  248. data/lib/paypal_server_sdk/models/upc_type.rb +38 -0
  249. data/lib/paypal_server_sdk/models/vault_customer.rb +50 -0
  250. data/lib/paypal_server_sdk/models/vault_experience_context.rb +112 -0
  251. data/lib/paypal_server_sdk/models/vault_instruction.rb +50 -0
  252. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +52 -0
  253. data/lib/paypal_server_sdk/models/vault_pay_pal_wallet_request.rb +115 -0
  254. data/lib/paypal_server_sdk/models/vault_response.rb +86 -0
  255. data/lib/paypal_server_sdk/models/vault_status.rb +26 -0
  256. data/lib/paypal_server_sdk/models/vault_token_request.rb +56 -0
  257. data/lib/paypal_server_sdk/models/vault_venmo_experience_context.rb +73 -0
  258. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +115 -0
  259. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +106 -0
  260. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +75 -0
  261. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +169 -0
  262. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +25 -0
  263. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +35 -0
  264. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +23 -0
  265. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +60 -0
  266. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +50 -0
  267. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +63 -0
  268. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +65 -0
  269. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +89 -0
  270. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +120 -0
  271. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +114 -0
  272. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +11 -0
  273. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +16 -0
  274. data/lib/paypal_server_sdk.rb +306 -0
  275. metadata +357 -0
@@ -0,0 +1,106 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # OAuth 2 Authorization endpoint response
8
+ class OAuthToken < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Access token
13
+ # @return [String]
14
+ attr_accessor :access_token
15
+
16
+ # Type of access token
17
+ # @return [String]
18
+ attr_accessor :token_type
19
+
20
+ # Time in seconds before the access token expires
21
+ # @return [Integer]
22
+ attr_accessor :expires_in
23
+
24
+ # List of scopes granted
25
+ # This is a space-delimited list of strings.
26
+ # @return [String]
27
+ attr_accessor :scope
28
+
29
+ # Time of token expiry as unix timestamp (UTC)
30
+ # @return [Integer]
31
+ attr_accessor :expiry
32
+
33
+ # Refresh token
34
+ # Used to get a new access token when it expires.
35
+ # @return [String]
36
+ attr_accessor :refresh_token
37
+
38
+ # An ID token response type is of JSON Web Token (JWT) that contains claims
39
+ # about the identity of the authenticated user.
40
+ # @return [String]
41
+ attr_accessor :id_token
42
+
43
+ # A mapping from model property names to API property names.
44
+ def self.names
45
+ @_hash = {} if @_hash.nil?
46
+ @_hash['access_token'] = 'access_token'
47
+ @_hash['token_type'] = 'token_type'
48
+ @_hash['expires_in'] = 'expires_in'
49
+ @_hash['scope'] = 'scope'
50
+ @_hash['expiry'] = 'expiry'
51
+ @_hash['refresh_token'] = 'refresh_token'
52
+ @_hash['id_token'] = 'id_token'
53
+ @_hash
54
+ end
55
+
56
+ # An array for optional fields
57
+ def self.optionals
58
+ %w[
59
+ expires_in
60
+ scope
61
+ expiry
62
+ refresh_token
63
+ id_token
64
+ ]
65
+ end
66
+
67
+ # An array for nullable fields
68
+ def self.nullables
69
+ []
70
+ end
71
+
72
+ def initialize(access_token:, token_type:, expires_in: SKIP, scope: SKIP,
73
+ expiry: SKIP, refresh_token: SKIP, id_token: SKIP)
74
+ @access_token = access_token
75
+ @token_type = token_type
76
+ @expires_in = expires_in unless expires_in == SKIP
77
+ @scope = scope unless scope == SKIP
78
+ @expiry = expiry unless expiry == SKIP
79
+ @refresh_token = refresh_token unless refresh_token == SKIP
80
+ @id_token = id_token unless id_token == SKIP
81
+ end
82
+
83
+ # Creates an instance of the object from a hash.
84
+ def self.from_hash(hash)
85
+ return nil unless hash
86
+
87
+ # Extract variables from the hash.
88
+ access_token = hash.key?('access_token') ? hash['access_token'] : nil
89
+ token_type = hash.key?('token_type') ? hash['token_type'] : nil
90
+ expires_in = hash.key?('expires_in') ? hash['expires_in'] : SKIP
91
+ scope = hash.key?('scope') ? hash['scope'] : SKIP
92
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
93
+ refresh_token = hash.key?('refresh_token') ? hash['refresh_token'] : SKIP
94
+ id_token = hash.key?('id_token') ? hash['id_token'] : SKIP
95
+
96
+ # Create object from extracted values.
97
+ OAuthToken.new(access_token: access_token,
98
+ token_type: token_type,
99
+ expires_in: expires_in,
100
+ scope: scope,
101
+ expiry: expiry,
102
+ refresh_token: refresh_token,
103
+ id_token: id_token)
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,178 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The order details.
8
+ class Order < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The date and time, in [Internet date and time
13
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
14
+ # required while fractional seconds are
15
+ # optional.<blockquote><strong>Note:</strong> The regular expression
16
+ # provides guidance but does not reject all invalid dates.</blockquote>
17
+ # @return [String]
18
+ attr_accessor :create_time
19
+
20
+ # The date and time, in [Internet date and time
21
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
22
+ # required while fractional seconds are
23
+ # optional.<blockquote><strong>Note:</strong> The regular expression
24
+ # provides guidance but does not reject all invalid dates.</blockquote>
25
+ # @return [String]
26
+ attr_accessor :update_time
27
+
28
+ # The ID of the order.
29
+ # @return [String]
30
+ attr_accessor :id
31
+
32
+ # The payment source used to fund the payment.
33
+ # @return [PaymentSourceResponse]
34
+ attr_accessor :payment_source
35
+
36
+ # The intent to either capture payment immediately or authorize a payment
37
+ # for an order after order creation.
38
+ # @return [CheckoutPaymentIntent]
39
+ attr_accessor :intent
40
+
41
+ # The instruction to process an order.
42
+ # @return [ProcessingInstruction]
43
+ attr_accessor :processing_instruction
44
+
45
+ # The instruction to process an order.
46
+ # @return [Payer]
47
+ attr_accessor :payer
48
+
49
+ # An array of purchase units. Each purchase unit establishes a contract
50
+ # between a customer and merchant. Each purchase unit represents either a
51
+ # full or partial order that the customer intends to purchase from the
52
+ # merchant.
53
+ # @return [Array[PurchaseUnit]]
54
+ attr_accessor :purchase_units
55
+
56
+ # The order status.
57
+ # @return [OrderStatus]
58
+ attr_accessor :status
59
+
60
+ # An array of request-related HATEOAS links. To complete payer approval, use
61
+ # the `approve` link to redirect the payer. The API caller has 3 hours
62
+ # (default setting, this which can be changed by your account manager to
63
+ # 24/48/72 hours to accommodate your use case) from the time the order is
64
+ # created, to redirect your payer. Once redirected, the API caller has 3
65
+ # hours for the payer to approve the order and either authorize or capture
66
+ # the order. If you are not using the PayPal JavaScript SDK to initiate
67
+ # PayPal Checkout (in context) ensure that you include
68
+ # `application_context.return_url` is specified or you will get "We're
69
+ # sorry, Things don't appear to be working at the moment" after the payer
70
+ # approves the payment.
71
+ # @return [Array[LinkDescription]]
72
+ attr_accessor :links
73
+
74
+ # A mapping from model property names to API property names.
75
+ def self.names
76
+ @_hash = {} if @_hash.nil?
77
+ @_hash['create_time'] = 'create_time'
78
+ @_hash['update_time'] = 'update_time'
79
+ @_hash['id'] = 'id'
80
+ @_hash['payment_source'] = 'payment_source'
81
+ @_hash['intent'] = 'intent'
82
+ @_hash['processing_instruction'] = 'processing_instruction'
83
+ @_hash['payer'] = 'payer'
84
+ @_hash['purchase_units'] = 'purchase_units'
85
+ @_hash['status'] = 'status'
86
+ @_hash['links'] = 'links'
87
+ @_hash
88
+ end
89
+
90
+ # An array for optional fields
91
+ def self.optionals
92
+ %w[
93
+ create_time
94
+ update_time
95
+ id
96
+ payment_source
97
+ intent
98
+ processing_instruction
99
+ payer
100
+ purchase_units
101
+ status
102
+ links
103
+ ]
104
+ end
105
+
106
+ # An array for nullable fields
107
+ def self.nullables
108
+ []
109
+ end
110
+
111
+ def initialize(
112
+ create_time: SKIP, update_time: SKIP, id: SKIP, payment_source: SKIP,
113
+ intent: SKIP,
114
+ processing_instruction: ProcessingInstruction::NO_INSTRUCTION,
115
+ payer: SKIP, purchase_units: SKIP, status: SKIP, links: SKIP
116
+ )
117
+ @create_time = create_time unless create_time == SKIP
118
+ @update_time = update_time unless update_time == SKIP
119
+ @id = id unless id == SKIP
120
+ @payment_source = payment_source unless payment_source == SKIP
121
+ @intent = intent unless intent == SKIP
122
+ @processing_instruction = processing_instruction unless processing_instruction == SKIP
123
+ @payer = payer unless payer == SKIP
124
+ @purchase_units = purchase_units unless purchase_units == SKIP
125
+ @status = status unless status == SKIP
126
+ @links = links unless links == SKIP
127
+ end
128
+
129
+ # Creates an instance of the object from a hash.
130
+ def self.from_hash(hash)
131
+ return nil unless hash
132
+
133
+ # Extract variables from the hash.
134
+ create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
135
+ update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
136
+ id = hash.key?('id') ? hash['id'] : SKIP
137
+ payment_source = PaymentSourceResponse.from_hash(hash['payment_source']) if
138
+ hash['payment_source']
139
+ intent = hash.key?('intent') ? hash['intent'] : SKIP
140
+ processing_instruction =
141
+ hash['processing_instruction'] ||= ProcessingInstruction::NO_INSTRUCTION
142
+ payer = Payer.from_hash(hash['payer']) if hash['payer']
143
+ # Parameter is an array, so we need to iterate through it
144
+ purchase_units = nil
145
+ unless hash['purchase_units'].nil?
146
+ purchase_units = []
147
+ hash['purchase_units'].each do |structure|
148
+ purchase_units << (PurchaseUnit.from_hash(structure) if structure)
149
+ end
150
+ end
151
+
152
+ purchase_units = SKIP unless hash.key?('purchase_units')
153
+ status = hash.key?('status') ? hash['status'] : SKIP
154
+ # Parameter is an array, so we need to iterate through it
155
+ links = nil
156
+ unless hash['links'].nil?
157
+ links = []
158
+ hash['links'].each do |structure|
159
+ links << (LinkDescription.from_hash(structure) if structure)
160
+ end
161
+ end
162
+
163
+ links = SKIP unless hash.key?('links')
164
+
165
+ # Create object from extracted values.
166
+ Order.new(create_time: create_time,
167
+ update_time: update_time,
168
+ id: id,
169
+ payment_source: payment_source,
170
+ intent: intent,
171
+ processing_instruction: processing_instruction,
172
+ payer: payer,
173
+ purchase_units: purchase_units,
174
+ status: status,
175
+ links: links)
176
+ end
177
+ end
178
+ end
@@ -0,0 +1,193 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Customizes the payer experience during the approval process for the payment
8
+ # with PayPal.<blockquote><strong>Note:</strong> Partners and Marketplaces
9
+ # might configure <code>brand_name</code> and <code>shipping_preference</code>
10
+ # during partner account setup, which overrides the request
11
+ # values.</blockquote>
12
+ class OrderApplicationContext < BaseModel
13
+ SKIP = Object.new
14
+ private_constant :SKIP
15
+
16
+ # DEPRECATED. The label that overrides the business name in the PayPal
17
+ # account on the PayPal site. The fields in `application_context` are now
18
+ # available in the `experience_context` object under the `payment_source`
19
+ # which supports them (eg.
20
+ # `payment_source.paypal.experience_context.brand_name`). Please specify
21
+ # this field in the `experience_context` object instead of the
22
+ # `application_context` object.
23
+ # @return [String]
24
+ attr_accessor :brand_name
25
+
26
+ # The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the
27
+ # language in which to localize the error-related strings, such as messages,
28
+ # issues, and suggested actions. The tag is made up of the [ISO 639-2
29
+ # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
30
+ # the optional [ISO-15924 script
31
+ # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
32
+ # alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region
33
+ # code](https://unstats.un.org/unsd/methodology/m49/).
34
+ # @return [String]
35
+ attr_accessor :locale
36
+
37
+ # DEPRECATED. DEPRECATED. The type of landing page to show on the PayPal
38
+ # site for customer checkout. The fields in `application_context` are now
39
+ # available in the `experience_context` object under the `payment_source`
40
+ # which supports them (eg.
41
+ # `payment_source.paypal.experience_context.landing_page`). Please specify
42
+ # this field in the `experience_context` object instead of the
43
+ # `application_context` object.
44
+ # @return [OrderApplicationContextLandingPage]
45
+ attr_accessor :landing_page
46
+
47
+ # DEPRECATED. DEPRECATED. The shipping preference:<ul><li>Displays the
48
+ # shipping address to the customer.</li><li>Enables the customer to choose
49
+ # an address on the PayPal site.</li><li>Restricts the customer from
50
+ # changing the address during the payment-approval process.</li></ul>. The
51
+ # fields in `application_context` are now available in the
52
+ # `experience_context` object under the `payment_source` which supports them
53
+ # (eg. `payment_source.paypal.experience_context.shipping_preference`).
54
+ # Please specify this field in the `experience_context` object instead of
55
+ # the `application_context` object.
56
+ # @return [OrderApplicationContextShippingPreference]
57
+ attr_accessor :shipping_preference
58
+
59
+ # DEPRECATED. Configures a <strong>Continue</strong> or <strong>Pay
60
+ # Now</strong> checkout flow. The fields in `application_context` are now
61
+ # available in the `experience_context` object under the `payment_source`
62
+ # which supports them (eg.
63
+ # `payment_source.paypal.experience_context.user_action`). Please specify
64
+ # this field in the `experience_context` object instead of the
65
+ # `application_context` object.
66
+ # @return [OrderApplicationContextUserAction]
67
+ attr_accessor :user_action
68
+
69
+ # The customer and merchant payment preferences.
70
+ # @return [PaymentMethodPreference]
71
+ attr_accessor :payment_method
72
+
73
+ # DEPRECATED. The URL where the customer is redirected after the customer
74
+ # approves the payment. The fields in `application_context` are now
75
+ # available in the `experience_context` object under the `payment_source`
76
+ # which supports them (eg.
77
+ # `payment_source.paypal.experience_context.return_url`). Please specify
78
+ # this field in the `experience_context` object instead of the
79
+ # `application_context` object.
80
+ # @return [String]
81
+ attr_accessor :return_url
82
+
83
+ # DEPRECATED. The URL where the customer is redirected after the customer
84
+ # cancels the payment. The fields in `application_context` are now available
85
+ # in the `experience_context` object under the `payment_source` which
86
+ # supports them (eg. `payment_source.paypal.experience_context.cancel_url`).
87
+ # Please specify this field in the `experience_context` object instead of
88
+ # the `application_context` object.
89
+ # @return [String]
90
+ attr_accessor :cancel_url
91
+
92
+ # Provides additional details to process a payment using a `payment_source`
93
+ # that has been stored or is intended to be stored (also referred to as
94
+ # stored_credential or card-on-file).<br/>Parameter
95
+ # compatibility:<br/><ul><li>`payment_type=ONE_TIME` is compatible only with
96
+ # `payment_initiator=CUSTOMER`.</li><li>`usage=FIRST` is compatible only
97
+ # with
98
+ # `payment_initiator=CUSTOMER`.</li><li>`previous_transaction_reference` or
99
+ # `previous_network_transaction_reference` is compatible only with
100
+ # `payment_initiator=MERCHANT`.</li><li>Only one of the parameters -
101
+ # `previous_transaction_reference` and
102
+ # `previous_network_transaction_reference` - can be present in the
103
+ # request.</li></ul>
104
+ # @return [StoredPaymentSource]
105
+ attr_accessor :stored_payment_source
106
+
107
+ # A mapping from model property names to API property names.
108
+ def self.names
109
+ @_hash = {} if @_hash.nil?
110
+ @_hash['brand_name'] = 'brand_name'
111
+ @_hash['locale'] = 'locale'
112
+ @_hash['landing_page'] = 'landing_page'
113
+ @_hash['shipping_preference'] = 'shipping_preference'
114
+ @_hash['user_action'] = 'user_action'
115
+ @_hash['payment_method'] = 'payment_method'
116
+ @_hash['return_url'] = 'return_url'
117
+ @_hash['cancel_url'] = 'cancel_url'
118
+ @_hash['stored_payment_source'] = 'stored_payment_source'
119
+ @_hash
120
+ end
121
+
122
+ # An array for optional fields
123
+ def self.optionals
124
+ %w[
125
+ brand_name
126
+ locale
127
+ landing_page
128
+ shipping_preference
129
+ user_action
130
+ payment_method
131
+ return_url
132
+ cancel_url
133
+ stored_payment_source
134
+ ]
135
+ end
136
+
137
+ # An array for nullable fields
138
+ def self.nullables
139
+ []
140
+ end
141
+
142
+ def initialize(
143
+ brand_name: SKIP, locale: SKIP,
144
+ landing_page: OrderApplicationContextLandingPage::NO_PREFERENCE,
145
+ shipping_preference: OrderApplicationContextShippingPreference::GET_FROM_FILE,
146
+ user_action: OrderApplicationContextUserAction::CONTINUE,
147
+ payment_method: SKIP, return_url: SKIP, cancel_url: SKIP,
148
+ stored_payment_source: SKIP
149
+ )
150
+ @brand_name = brand_name unless brand_name == SKIP
151
+ @locale = locale unless locale == SKIP
152
+ @landing_page = landing_page unless landing_page == SKIP
153
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
154
+ @user_action = user_action unless user_action == SKIP
155
+ @payment_method = payment_method unless payment_method == SKIP
156
+ @return_url = return_url unless return_url == SKIP
157
+ @cancel_url = cancel_url unless cancel_url == SKIP
158
+ @stored_payment_source = stored_payment_source unless stored_payment_source == SKIP
159
+ end
160
+
161
+ # Creates an instance of the object from a hash.
162
+ def self.from_hash(hash)
163
+ return nil unless hash
164
+
165
+ # Extract variables from the hash.
166
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
167
+ locale = hash.key?('locale') ? hash['locale'] : SKIP
168
+ landing_page =
169
+ hash['landing_page'] ||= OrderApplicationContextLandingPage::NO_PREFERENCE
170
+ shipping_preference =
171
+ hash['shipping_preference'] ||= OrderApplicationContextShippingPreference::GET_FROM_FILE
172
+ user_action =
173
+ hash['user_action'] ||= OrderApplicationContextUserAction::CONTINUE
174
+ payment_method = PaymentMethodPreference.from_hash(hash['payment_method']) if
175
+ hash['payment_method']
176
+ return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
177
+ cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
178
+ stored_payment_source = StoredPaymentSource.from_hash(hash['stored_payment_source']) if
179
+ hash['stored_payment_source']
180
+
181
+ # Create object from extracted values.
182
+ OrderApplicationContext.new(brand_name: brand_name,
183
+ locale: locale,
184
+ landing_page: landing_page,
185
+ shipping_preference: shipping_preference,
186
+ user_action: user_action,
187
+ payment_method: payment_method,
188
+ return_url: return_url,
189
+ cancel_url: cancel_url,
190
+ stored_payment_source: stored_payment_source)
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,32 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # DEPRECATED. DEPRECATED. The type of landing page to show on the PayPal site
8
+ # for customer checkout. The fields in `application_context` are now
9
+ # available in the `experience_context` object under the `payment_source`
10
+ # which supports them (eg.
11
+ # `payment_source.paypal.experience_context.landing_page`). Please specify
12
+ # this field in the `experience_context` object instead of the
13
+ # `application_context` object.
14
+ class OrderApplicationContextLandingPage
15
+ ORDER_APPLICATION_CONTEXT_LANDING_PAGE = [
16
+ # TODO: Write general description for LOGIN
17
+ LOGIN = 'LOGIN'.freeze,
18
+
19
+ # TODO: Write general description for BILLING
20
+ BILLING = 'BILLING'.freeze,
21
+
22
+ # TODO: Write general description for NO_PREFERENCE
23
+ NO_PREFERENCE = 'NO_PREFERENCE'.freeze
24
+ ].freeze
25
+
26
+ def self.validate(value)
27
+ return false if value.nil?
28
+
29
+ true
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # DEPRECATED. DEPRECATED. The shipping preference:<ul><li>Displays the
8
+ # shipping address to the customer.</li><li>Enables the customer to choose an
9
+ # address on the PayPal site.</li><li>Restricts the customer from changing the
10
+ # address during the payment-approval process.</li></ul>. The fields in
11
+ # `application_context` are now available in the `experience_context` object
12
+ # under the `payment_source` which supports them (eg.
13
+ # `payment_source.paypal.experience_context.shipping_preference`). Please
14
+ # specify this field in the `experience_context` object instead of the
15
+ # `application_context` object.
16
+ class OrderApplicationContextShippingPreference
17
+ ORDER_APPLICATION_CONTEXT_SHIPPING_PREFERENCE = [
18
+ # TODO: Write general description for GET_FROM_FILE
19
+ GET_FROM_FILE = 'GET_FROM_FILE'.freeze,
20
+
21
+ # TODO: Write general description for NO_SHIPPING
22
+ NO_SHIPPING = 'NO_SHIPPING'.freeze,
23
+
24
+ # TODO: Write general description for SET_PROVIDED_ADDRESS
25
+ SET_PROVIDED_ADDRESS = 'SET_PROVIDED_ADDRESS'.freeze
26
+ ].freeze
27
+
28
+ def self.validate(value)
29
+ return false if value.nil?
30
+
31
+ true
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,29 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # DEPRECATED. Configures a <strong>Continue</strong> or <strong>Pay
8
+ # Now</strong> checkout flow. The fields in `application_context` are now
9
+ # available in the `experience_context` object under the `payment_source`
10
+ # which supports them (eg.
11
+ # `payment_source.paypal.experience_context.user_action`). Please specify this
12
+ # field in the `experience_context` object instead of the
13
+ # `application_context` object.
14
+ class OrderApplicationContextUserAction
15
+ ORDER_APPLICATION_CONTEXT_USER_ACTION = [
16
+ # TODO: Write general description for CONTINUE
17
+ CONTINUE = 'CONTINUE'.freeze,
18
+
19
+ # TODO: Write general description for PAY_NOW
20
+ PAY_NOW = 'PAY_NOW'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ true
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,51 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The authorization of an order request.
8
+ class OrderAuthorizeRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The payment source definition.
13
+ # @return [OrderAuthorizeRequestPaymentSource]
14
+ attr_accessor :payment_source
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['payment_source'] = 'payment_source'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ payment_source
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(payment_source: SKIP)
36
+ @payment_source = payment_source unless payment_source == SKIP
37
+ end
38
+
39
+ # Creates an instance of the object from a hash.
40
+ def self.from_hash(hash)
41
+ return nil unless hash
42
+
43
+ # Extract variables from the hash.
44
+ payment_source = OrderAuthorizeRequestPaymentSource.from_hash(hash['payment_source']) if
45
+ hash['payment_source']
46
+
47
+ # Create object from extracted values.
48
+ OrderAuthorizeRequest.new(payment_source: payment_source)
49
+ end
50
+ end
51
+ end