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,103 @@
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 request details.
8
+ class OrderRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The intent to either capture payment immediately or authorize a payment
13
+ # for an order after order creation.
14
+ # @return [CheckoutPaymentIntent]
15
+ attr_accessor :intent
16
+
17
+ # The intent to either capture payment immediately or authorize a payment
18
+ # for an order after order creation.
19
+ # @return [Payer]
20
+ attr_accessor :payer
21
+
22
+ # An array of purchase units. Each purchase unit establishes a contract
23
+ # between a payer and the payee. Each purchase unit represents either a full
24
+ # or partial order that the payer intends to purchase from the payee.
25
+ # @return [Array[PurchaseUnitRequest]]
26
+ attr_accessor :purchase_units
27
+
28
+ # The payment source definition.
29
+ # @return [PaymentSource]
30
+ attr_accessor :payment_source
31
+
32
+ # Customizes the payer experience during the approval process for the
33
+ # payment with PayPal.<blockquote><strong>Note:</strong> Partners and
34
+ # Marketplaces might configure <code>brand_name</code> and
35
+ # <code>shipping_preference</code> during partner account setup, which
36
+ # overrides the request values.</blockquote>
37
+ # @return [OrderApplicationContext]
38
+ attr_accessor :application_context
39
+
40
+ # A mapping from model property names to API property names.
41
+ def self.names
42
+ @_hash = {} if @_hash.nil?
43
+ @_hash['intent'] = 'intent'
44
+ @_hash['payer'] = 'payer'
45
+ @_hash['purchase_units'] = 'purchase_units'
46
+ @_hash['payment_source'] = 'payment_source'
47
+ @_hash['application_context'] = 'application_context'
48
+ @_hash
49
+ end
50
+
51
+ # An array for optional fields
52
+ def self.optionals
53
+ %w[
54
+ payer
55
+ payment_source
56
+ application_context
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def self.nullables
62
+ []
63
+ end
64
+
65
+ def initialize(intent:, purchase_units:, payer: SKIP, payment_source: SKIP,
66
+ application_context: SKIP)
67
+ @intent = intent
68
+ @payer = payer unless payer == SKIP
69
+ @purchase_units = purchase_units
70
+ @payment_source = payment_source unless payment_source == SKIP
71
+ @application_context = application_context unless application_context == SKIP
72
+ end
73
+
74
+ # Creates an instance of the object from a hash.
75
+ def self.from_hash(hash)
76
+ return nil unless hash
77
+
78
+ # Extract variables from the hash.
79
+ intent = hash.key?('intent') ? hash['intent'] : nil
80
+ # Parameter is an array, so we need to iterate through it
81
+ purchase_units = nil
82
+ unless hash['purchase_units'].nil?
83
+ purchase_units = []
84
+ hash['purchase_units'].each do |structure|
85
+ purchase_units << (PurchaseUnitRequest.from_hash(structure) if structure)
86
+ end
87
+ end
88
+
89
+ purchase_units = nil unless hash.key?('purchase_units')
90
+ payer = Payer.from_hash(hash['payer']) if hash['payer']
91
+ payment_source = PaymentSource.from_hash(hash['payment_source']) if hash['payment_source']
92
+ application_context = OrderApplicationContext.from_hash(hash['application_context']) if
93
+ hash['application_context']
94
+
95
+ # Create object from extracted values.
96
+ OrderRequest.new(intent: intent,
97
+ purchase_units: purchase_units,
98
+ payer: payer,
99
+ payment_source: payment_source,
100
+ application_context: application_context)
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,35 @@
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 status.
8
+ class OrderStatus
9
+ ORDER_STATUS = [
10
+ # TODO: Write general description for CREATED
11
+ CREATED = 'CREATED'.freeze,
12
+
13
+ # TODO: Write general description for SAVED
14
+ SAVED = 'SAVED'.freeze,
15
+
16
+ # TODO: Write general description for APPROVED
17
+ APPROVED = 'APPROVED'.freeze,
18
+
19
+ # TODO: Write general description for VOIDED
20
+ VOIDED = 'VOIDED'.freeze,
21
+
22
+ # TODO: Write general description for COMPLETED
23
+ COMPLETED = 'COMPLETED'.freeze,
24
+
25
+ # TODO: Write general description for PAYER_ACTION_REQUIRED
26
+ PAYER_ACTION_REQUIRED = 'PAYER_ACTION_REQUIRED'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ true
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,99 @@
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 details of the items in the shipment.
8
+ class OrderTrackerItem < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The item name or title.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The item quantity. Must be a whole number.
17
+ # @return [String]
18
+ attr_accessor :quantity
19
+
20
+ # The stock keeping unit (SKU) for the item. This can contain unicode
21
+ # characters.
22
+ # @return [String]
23
+ attr_accessor :sku
24
+
25
+ # The URL to the item being purchased. Visible to buyer and used in buyer
26
+ # experiences.
27
+ # @return [String]
28
+ attr_accessor :url
29
+
30
+ # The URL of the item's image. File type and size restrictions apply. An
31
+ # image that violates these restrictions will not be honored.
32
+ # @return [String]
33
+ attr_accessor :image_url
34
+
35
+ # The Universal Product Code of the item.
36
+ # @return [UniversalProductCode]
37
+ attr_accessor :upc
38
+
39
+ # A mapping from model property names to API property names.
40
+ def self.names
41
+ @_hash = {} if @_hash.nil?
42
+ @_hash['name'] = 'name'
43
+ @_hash['quantity'] = 'quantity'
44
+ @_hash['sku'] = 'sku'
45
+ @_hash['url'] = 'url'
46
+ @_hash['image_url'] = 'image_url'
47
+ @_hash['upc'] = 'upc'
48
+ @_hash
49
+ end
50
+
51
+ # An array for optional fields
52
+ def self.optionals
53
+ %w[
54
+ name
55
+ quantity
56
+ sku
57
+ url
58
+ image_url
59
+ upc
60
+ ]
61
+ end
62
+
63
+ # An array for nullable fields
64
+ def self.nullables
65
+ []
66
+ end
67
+
68
+ def initialize(name: SKIP, quantity: SKIP, sku: SKIP, url: SKIP,
69
+ image_url: SKIP, upc: SKIP)
70
+ @name = name unless name == SKIP
71
+ @quantity = quantity unless quantity == SKIP
72
+ @sku = sku unless sku == SKIP
73
+ @url = url unless url == SKIP
74
+ @image_url = image_url unless image_url == SKIP
75
+ @upc = upc unless upc == SKIP
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ name = hash.key?('name') ? hash['name'] : SKIP
84
+ quantity = hash.key?('quantity') ? hash['quantity'] : SKIP
85
+ sku = hash.key?('sku') ? hash['sku'] : SKIP
86
+ url = hash.key?('url') ? hash['url'] : SKIP
87
+ image_url = hash.key?('image_url') ? hash['image_url'] : SKIP
88
+ upc = UniversalProductCode.from_hash(hash['upc']) if hash['upc']
89
+
90
+ # Create object from extracted values.
91
+ OrderTrackerItem.new(name: name,
92
+ quantity: quantity,
93
+ sku: sku,
94
+ url: url,
95
+ image_url: image_url,
96
+ upc: upc)
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,116 @@
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 tracking details of an order.
8
+ class OrderTrackerRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The tracking number for the shipment. This property supports Unicode.
13
+ # @return [String]
14
+ attr_accessor :tracking_number
15
+
16
+ # The carrier for the shipment. Some carriers have a global version as well
17
+ # as local subsidiaries. The subsidiaries are repeated over many countries
18
+ # and might also have an entry in the global list. Choose the carrier for
19
+ # your country. If the carrier is not available for your country, choose the
20
+ # global version of the carrier. If your carrier name is not in the list,
21
+ # set `carrier` to `OTHER` and set carrier name in `carrier_name_other`. For
22
+ # allowed values, see <a
23
+ # href="/docs/tracking/reference/carriers/">Carriers</a>.
24
+ # @return [ShipmentCarrier]
25
+ attr_accessor :carrier
26
+
27
+ # The name of the carrier for the shipment. Provide this value only if the
28
+ # carrier parameter is OTHER. This property supports Unicode.
29
+ # @return [String]
30
+ attr_accessor :carrier_name_other
31
+
32
+ # The PayPal capture ID.
33
+ # @return [String]
34
+ attr_accessor :capture_id
35
+
36
+ # If true, sends an email notification to the payer of the PayPal
37
+ # transaction. The email contains the tracking information that was uploaded
38
+ # through the API.
39
+ # @return [TrueClass | FalseClass]
40
+ attr_accessor :notify_payer
41
+
42
+ # An array of details of items in the shipment.
43
+ # @return [Array[OrderTrackerItem]]
44
+ attr_accessor :items
45
+
46
+ # A mapping from model property names to API property names.
47
+ def self.names
48
+ @_hash = {} if @_hash.nil?
49
+ @_hash['tracking_number'] = 'tracking_number'
50
+ @_hash['carrier'] = 'carrier'
51
+ @_hash['carrier_name_other'] = 'carrier_name_other'
52
+ @_hash['capture_id'] = 'capture_id'
53
+ @_hash['notify_payer'] = 'notify_payer'
54
+ @_hash['items'] = 'items'
55
+ @_hash
56
+ end
57
+
58
+ # An array for optional fields
59
+ def self.optionals
60
+ %w[
61
+ tracking_number
62
+ carrier
63
+ carrier_name_other
64
+ notify_payer
65
+ items
66
+ ]
67
+ end
68
+
69
+ # An array for nullable fields
70
+ def self.nullables
71
+ []
72
+ end
73
+
74
+ def initialize(capture_id:, tracking_number: SKIP, carrier: SKIP,
75
+ carrier_name_other: SKIP, notify_payer: false, items: SKIP)
76
+ @tracking_number = tracking_number unless tracking_number == SKIP
77
+ @carrier = carrier unless carrier == SKIP
78
+ @carrier_name_other = carrier_name_other unless carrier_name_other == SKIP
79
+ @capture_id = capture_id
80
+ @notify_payer = notify_payer unless notify_payer == SKIP
81
+ @items = items unless items == SKIP
82
+ end
83
+
84
+ # Creates an instance of the object from a hash.
85
+ def self.from_hash(hash)
86
+ return nil unless hash
87
+
88
+ # Extract variables from the hash.
89
+ capture_id = hash.key?('capture_id') ? hash['capture_id'] : nil
90
+ tracking_number =
91
+ hash.key?('tracking_number') ? hash['tracking_number'] : SKIP
92
+ carrier = hash.key?('carrier') ? hash['carrier'] : SKIP
93
+ carrier_name_other =
94
+ hash.key?('carrier_name_other') ? hash['carrier_name_other'] : SKIP
95
+ notify_payer = hash['notify_payer'] ||= false
96
+ # Parameter is an array, so we need to iterate through it
97
+ items = nil
98
+ unless hash['items'].nil?
99
+ items = []
100
+ hash['items'].each do |structure|
101
+ items << (OrderTrackerItem.from_hash(structure) if structure)
102
+ end
103
+ end
104
+
105
+ items = SKIP unless hash.key?('items')
106
+
107
+ # Create object from extracted values.
108
+ OrderTrackerRequest.new(capture_id: capture_id,
109
+ tracking_number: tracking_number,
110
+ carrier: carrier,
111
+ carrier_name_other: carrier_name_other,
112
+ notify_payer: notify_payer,
113
+ items: items)
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,122 @@
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 tracking response on creation of tracker.
8
+ class OrderTrackerResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The tracker id.
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # The status of the item shipment.
17
+ # @return [OrderTrackerStatus]
18
+ attr_accessor :status
19
+
20
+ # An array of details of items in the shipment.
21
+ # @return [Array[OrderTrackerItem]]
22
+ attr_accessor :items
23
+
24
+ # An array of request-related HATEOAS links.
25
+ # @return [Array[LinkDescription]]
26
+ attr_accessor :links
27
+
28
+ # The date and time, in [Internet date and time
29
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
30
+ # required while fractional seconds are
31
+ # optional.<blockquote><strong>Note:</strong> The regular expression
32
+ # provides guidance but does not reject all invalid dates.</blockquote>
33
+ # @return [String]
34
+ attr_accessor :create_time
35
+
36
+ # The date and time, in [Internet date and time
37
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
38
+ # required while fractional seconds are
39
+ # optional.<blockquote><strong>Note:</strong> The regular expression
40
+ # provides guidance but does not reject all invalid dates.</blockquote>
41
+ # @return [String]
42
+ attr_accessor :update_time
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['id'] = 'id'
48
+ @_hash['status'] = 'status'
49
+ @_hash['items'] = 'items'
50
+ @_hash['links'] = 'links'
51
+ @_hash['create_time'] = 'create_time'
52
+ @_hash['update_time'] = 'update_time'
53
+ @_hash
54
+ end
55
+
56
+ # An array for optional fields
57
+ def self.optionals
58
+ %w[
59
+ id
60
+ status
61
+ items
62
+ links
63
+ create_time
64
+ update_time
65
+ ]
66
+ end
67
+
68
+ # An array for nullable fields
69
+ def self.nullables
70
+ []
71
+ end
72
+
73
+ def initialize(id: SKIP, status: SKIP, items: SKIP, links: SKIP,
74
+ create_time: SKIP, update_time: SKIP)
75
+ @id = id unless id == SKIP
76
+ @status = status unless status == SKIP
77
+ @items = items unless items == SKIP
78
+ @links = links unless links == SKIP
79
+ @create_time = create_time unless create_time == SKIP
80
+ @update_time = update_time unless update_time == 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
+ id = hash.key?('id') ? hash['id'] : SKIP
89
+ status = hash.key?('status') ? hash['status'] : SKIP
90
+ # Parameter is an array, so we need to iterate through it
91
+ items = nil
92
+ unless hash['items'].nil?
93
+ items = []
94
+ hash['items'].each do |structure|
95
+ items << (OrderTrackerItem.from_hash(structure) if structure)
96
+ end
97
+ end
98
+
99
+ items = SKIP unless hash.key?('items')
100
+ # Parameter is an array, so we need to iterate through it
101
+ links = nil
102
+ unless hash['links'].nil?
103
+ links = []
104
+ hash['links'].each do |structure|
105
+ links << (LinkDescription.from_hash(structure) if structure)
106
+ end
107
+ end
108
+
109
+ links = SKIP unless hash.key?('links')
110
+ create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
111
+ update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
112
+
113
+ # Create object from extracted values.
114
+ OrderTrackerResponse.new(id: id,
115
+ status: status,
116
+ items: items,
117
+ links: links,
118
+ create_time: create_time,
119
+ update_time: update_time)
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,23 @@
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 status of the item shipment.
8
+ class OrderTrackerStatus
9
+ ORDER_TRACKER_STATUS = [
10
+ # TODO: Write general description for CANCELLED
11
+ CANCELLED = 'CANCELLED'.freeze,
12
+
13
+ # TODO: Write general description for SHIPPED
14
+ SHIPPED = 'SHIPPED'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ true
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,108 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Information used to pay using P24(Przelewy24).
8
+ class P24PaymentObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The full name representation like Mr J Smith.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
17
+ # to 64 characters are allowed before and 255 characters are allowed after
18
+ # the <code>@</code> sign. However, the generally accepted maximum length
19
+ # for an email address is 254 characters. The pattern verifies that an
20
+ # unquoted <code>@</code> sign exists.</blockquote>
21
+ # @return [String]
22
+ attr_accessor :email
23
+
24
+ # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
25
+ # that identifies the country or region.<blockquote><strong>Note:</strong>
26
+ # The country code for Great Britain is <code>GB</code> and not
27
+ # <code>UK</code> as used in the top-level domain names for that country.
28
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
29
+ # price (CUP) method, bank card, and cross-border transactions.</blockquote>
30
+ # @return [String]
31
+ attr_accessor :country_code
32
+
33
+ # P24 generated payment description.
34
+ # @return [String]
35
+ attr_accessor :payment_descriptor
36
+
37
+ # Numeric identifier of the payment scheme or bank used for the payment.
38
+ # @return [String]
39
+ attr_accessor :method_id
40
+
41
+ # Friendly name of the payment scheme or bank used for the payment.
42
+ # @return [String]
43
+ attr_accessor :method_description
44
+
45
+ # A mapping from model property names to API property names.
46
+ def self.names
47
+ @_hash = {} if @_hash.nil?
48
+ @_hash['name'] = 'name'
49
+ @_hash['email'] = 'email'
50
+ @_hash['country_code'] = 'country_code'
51
+ @_hash['payment_descriptor'] = 'payment_descriptor'
52
+ @_hash['method_id'] = 'method_id'
53
+ @_hash['method_description'] = 'method_description'
54
+ @_hash
55
+ end
56
+
57
+ # An array for optional fields
58
+ def self.optionals
59
+ %w[
60
+ name
61
+ email
62
+ country_code
63
+ payment_descriptor
64
+ method_id
65
+ method_description
66
+ ]
67
+ end
68
+
69
+ # An array for nullable fields
70
+ def self.nullables
71
+ []
72
+ end
73
+
74
+ def initialize(name: SKIP, email: SKIP, country_code: SKIP,
75
+ payment_descriptor: SKIP, method_id: SKIP,
76
+ method_description: SKIP)
77
+ @name = name unless name == SKIP
78
+ @email = email unless email == SKIP
79
+ @country_code = country_code unless country_code == SKIP
80
+ @payment_descriptor = payment_descriptor unless payment_descriptor == SKIP
81
+ @method_id = method_id unless method_id == SKIP
82
+ @method_description = method_description unless method_description == SKIP
83
+ end
84
+
85
+ # Creates an instance of the object from a hash.
86
+ def self.from_hash(hash)
87
+ return nil unless hash
88
+
89
+ # Extract variables from the hash.
90
+ name = hash.key?('name') ? hash['name'] : SKIP
91
+ email = hash.key?('email') ? hash['email'] : SKIP
92
+ country_code = hash.key?('country_code') ? hash['country_code'] : SKIP
93
+ payment_descriptor =
94
+ hash.key?('payment_descriptor') ? hash['payment_descriptor'] : SKIP
95
+ method_id = hash.key?('method_id') ? hash['method_id'] : SKIP
96
+ method_description =
97
+ hash.key?('method_description') ? hash['method_description'] : SKIP
98
+
99
+ # Create object from extracted values.
100
+ P24PaymentObject.new(name: name,
101
+ email: email,
102
+ country_code: country_code,
103
+ payment_descriptor: payment_descriptor,
104
+ method_id: method_id,
105
+ method_description: method_description)
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,85 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Information needed to pay using P24 (Przelewy24).
8
+ class P24PaymentRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The full name representation like Mr J Smith.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
17
+ # to 64 characters are allowed before and 255 characters are allowed after
18
+ # the <code>@</code> sign. However, the generally accepted maximum length
19
+ # for an email address is 254 characters. The pattern verifies that an
20
+ # unquoted <code>@</code> sign exists.</blockquote>
21
+ # @return [String]
22
+ attr_accessor :email
23
+
24
+ # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
25
+ # that identifies the country or region.<blockquote><strong>Note:</strong>
26
+ # The country code for Great Britain is <code>GB</code> and not
27
+ # <code>UK</code> as used in the top-level domain names for that country.
28
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
29
+ # price (CUP) method, bank card, and cross-border transactions.</blockquote>
30
+ # @return [String]
31
+ attr_accessor :country_code
32
+
33
+ # Customizes the payer experience during the approval process for the
34
+ # payment.
35
+ # @return [ExperienceContext]
36
+ attr_accessor :experience_context
37
+
38
+ # A mapping from model property names to API property names.
39
+ def self.names
40
+ @_hash = {} if @_hash.nil?
41
+ @_hash['name'] = 'name'
42
+ @_hash['email'] = 'email'
43
+ @_hash['country_code'] = 'country_code'
44
+ @_hash['experience_context'] = 'experience_context'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ experience_context
52
+ ]
53
+ end
54
+
55
+ # An array for nullable fields
56
+ def self.nullables
57
+ []
58
+ end
59
+
60
+ def initialize(name:, email:, country_code:, experience_context: SKIP)
61
+ @name = name
62
+ @email = email
63
+ @country_code = country_code
64
+ @experience_context = experience_context unless experience_context == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ name = hash.key?('name') ? hash['name'] : nil
73
+ email = hash.key?('email') ? hash['email'] : nil
74
+ country_code = hash.key?('country_code') ? hash['country_code'] : nil
75
+ experience_context = ExperienceContext.from_hash(hash['experience_context']) if
76
+ hash['experience_context']
77
+
78
+ # Create object from extracted values.
79
+ P24PaymentRequest.new(name: name,
80
+ email: email,
81
+ country_code: country_code,
82
+ experience_context: experience_context)
83
+ end
84
+ end
85
+ end