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,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
+ # The status of the refund.
8
+ class RefundStatus
9
+ REFUND_STATUS = [
10
+ # TODO: Write general description for CANCELLED
11
+ CANCELLED = 'CANCELLED'.freeze,
12
+
13
+ # TODO: Write general description for FAILED
14
+ FAILED = 'FAILED'.freeze,
15
+
16
+ # TODO: Write general description for PENDING
17
+ PENDING = 'PENDING'.freeze,
18
+
19
+ # TODO: Write general description for COMPLETED
20
+ COMPLETED = 'COMPLETED'.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,50 @@
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 refund status.
8
+ class RefundStatusDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The reason why the refund has the `PENDING` or `FAILED` status.
13
+ # @return [RefundIncompleteReason]
14
+ attr_accessor :reason
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['reason'] = 'reason'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ reason
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(reason: SKIP)
36
+ @reason = reason unless reason == 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
+ reason = hash.key?('reason') ? hash['reason'] : SKIP
45
+
46
+ # Create object from extracted values.
47
+ RefundStatusDetails.new(reason: reason)
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,60 @@
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 refund status with details.
8
+ class RefundStatusWithDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The status of the refund.
13
+ # @return [RefundStatus]
14
+ attr_accessor :status
15
+
16
+ # The details of the refund status.
17
+ # @return [RefundStatusDetails]
18
+ attr_accessor :status_details
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['status'] = 'status'
24
+ @_hash['status_details'] = 'status_details'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ status
32
+ status_details
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(status: SKIP, status_details: SKIP)
42
+ @status = status unless status == SKIP
43
+ @status_details = status_details unless status_details == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ status = hash.key?('status') ? hash['status'] : SKIP
52
+ status_details = RefundStatusDetails.from_hash(hash['status_details']) if
53
+ hash['status_details']
54
+
55
+ # Create object from extracted values.
56
+ RefundStatusWithDetails.new(status: status,
57
+ status_details: status_details)
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,69 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Identifiers related to a specific resource.
8
+ class RelatedIdentifiers < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Order ID related to the resource.
13
+ # @return [String]
14
+ attr_accessor :order_id
15
+
16
+ # Authorization ID related to the resource.
17
+ # @return [String]
18
+ attr_accessor :authorization_id
19
+
20
+ # Capture ID related to the resource.
21
+ # @return [String]
22
+ attr_accessor :capture_id
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['order_id'] = 'order_id'
28
+ @_hash['authorization_id'] = 'authorization_id'
29
+ @_hash['capture_id'] = 'capture_id'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ order_id
37
+ authorization_id
38
+ capture_id
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(order_id: SKIP, authorization_id: SKIP, capture_id: SKIP)
48
+ @order_id = order_id unless order_id == SKIP
49
+ @authorization_id = authorization_id unless authorization_id == SKIP
50
+ @capture_id = capture_id unless capture_id == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ order_id = hash.key?('order_id') ? hash['order_id'] : SKIP
59
+ authorization_id =
60
+ hash.key?('authorization_id') ? hash['authorization_id'] : SKIP
61
+ capture_id = hash.key?('capture_id') ? hash['capture_id'] : SKIP
62
+
63
+ # Create object from extracted values.
64
+ RelatedIdentifiers.new(order_id: order_id,
65
+ authorization_id: authorization_id,
66
+ capture_id: capture_id)
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,156 @@
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 breakdown of the refund.
8
+ class SellerPayableBreakdown < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The currency and amount for a financial transaction, such as a balance or
13
+ # payment due.
14
+ # @return [Money]
15
+ attr_accessor :gross_amount
16
+
17
+ # The currency and amount for a financial transaction, such as a balance or
18
+ # payment due.
19
+ # @return [Money]
20
+ attr_accessor :paypal_fee
21
+
22
+ # The currency and amount for a financial transaction, such as a balance or
23
+ # payment due.
24
+ # @return [Money]
25
+ attr_accessor :paypal_fee_in_receivable_currency
26
+
27
+ # The currency and amount for a financial transaction, such as a balance or
28
+ # payment due.
29
+ # @return [Money]
30
+ attr_accessor :net_amount
31
+
32
+ # The currency and amount for a financial transaction, such as a balance or
33
+ # payment due.
34
+ # @return [Money]
35
+ attr_accessor :net_amount_in_receivable_currency
36
+
37
+ # An array of platform or partner fees, commissions, or brokerage fees for
38
+ # the refund.
39
+ # @return [Array[PlatformFee]]
40
+ attr_accessor :platform_fees
41
+
42
+ # An array of breakdown values for the net amount. Returned when the
43
+ # currency of the refund is different from the currency of the PayPal
44
+ # account where the payee holds their funds.
45
+ # @return [Array[NetAmountBreakdownItem]]
46
+ attr_accessor :net_amount_breakdown
47
+
48
+ # The currency and amount for a financial transaction, such as a balance or
49
+ # payment due.
50
+ # @return [Money]
51
+ attr_accessor :total_refunded_amount
52
+
53
+ # A mapping from model property names to API property names.
54
+ def self.names
55
+ @_hash = {} if @_hash.nil?
56
+ @_hash['gross_amount'] = 'gross_amount'
57
+ @_hash['paypal_fee'] = 'paypal_fee'
58
+ @_hash['paypal_fee_in_receivable_currency'] =
59
+ 'paypal_fee_in_receivable_currency'
60
+ @_hash['net_amount'] = 'net_amount'
61
+ @_hash['net_amount_in_receivable_currency'] =
62
+ 'net_amount_in_receivable_currency'
63
+ @_hash['platform_fees'] = 'platform_fees'
64
+ @_hash['net_amount_breakdown'] = 'net_amount_breakdown'
65
+ @_hash['total_refunded_amount'] = 'total_refunded_amount'
66
+ @_hash
67
+ end
68
+
69
+ # An array for optional fields
70
+ def self.optionals
71
+ %w[
72
+ gross_amount
73
+ paypal_fee
74
+ paypal_fee_in_receivable_currency
75
+ net_amount
76
+ net_amount_in_receivable_currency
77
+ platform_fees
78
+ net_amount_breakdown
79
+ total_refunded_amount
80
+ ]
81
+ end
82
+
83
+ # An array for nullable fields
84
+ def self.nullables
85
+ []
86
+ end
87
+
88
+ def initialize(gross_amount: SKIP, paypal_fee: SKIP,
89
+ paypal_fee_in_receivable_currency: SKIP, net_amount: SKIP,
90
+ net_amount_in_receivable_currency: SKIP, platform_fees: SKIP,
91
+ net_amount_breakdown: SKIP, total_refunded_amount: SKIP)
92
+ @gross_amount = gross_amount unless gross_amount == SKIP
93
+ @paypal_fee = paypal_fee unless paypal_fee == SKIP
94
+ unless paypal_fee_in_receivable_currency == SKIP
95
+ @paypal_fee_in_receivable_currency =
96
+ paypal_fee_in_receivable_currency
97
+ end
98
+ @net_amount = net_amount unless net_amount == SKIP
99
+ unless net_amount_in_receivable_currency == SKIP
100
+ @net_amount_in_receivable_currency =
101
+ net_amount_in_receivable_currency
102
+ end
103
+ @platform_fees = platform_fees unless platform_fees == SKIP
104
+ @net_amount_breakdown = net_amount_breakdown unless net_amount_breakdown == SKIP
105
+ @total_refunded_amount = total_refunded_amount unless total_refunded_amount == SKIP
106
+ end
107
+
108
+ # Creates an instance of the object from a hash.
109
+ def self.from_hash(hash)
110
+ return nil unless hash
111
+
112
+ # Extract variables from the hash.
113
+ gross_amount = Money.from_hash(hash['gross_amount']) if hash['gross_amount']
114
+ paypal_fee = Money.from_hash(hash['paypal_fee']) if hash['paypal_fee']
115
+ if hash['paypal_fee_in_receivable_currency']
116
+ paypal_fee_in_receivable_currency = Money.from_hash(hash['paypal_fee_in_receivable_currency'])
117
+ end
118
+ net_amount = Money.from_hash(hash['net_amount']) if hash['net_amount']
119
+ if hash['net_amount_in_receivable_currency']
120
+ net_amount_in_receivable_currency = Money.from_hash(hash['net_amount_in_receivable_currency'])
121
+ end
122
+ # Parameter is an array, so we need to iterate through it
123
+ platform_fees = nil
124
+ unless hash['platform_fees'].nil?
125
+ platform_fees = []
126
+ hash['platform_fees'].each do |structure|
127
+ platform_fees << (PlatformFee.from_hash(structure) if structure)
128
+ end
129
+ end
130
+
131
+ platform_fees = SKIP unless hash.key?('platform_fees')
132
+ # Parameter is an array, so we need to iterate through it
133
+ net_amount_breakdown = nil
134
+ unless hash['net_amount_breakdown'].nil?
135
+ net_amount_breakdown = []
136
+ hash['net_amount_breakdown'].each do |structure|
137
+ net_amount_breakdown << (NetAmountBreakdownItem.from_hash(structure) if structure)
138
+ end
139
+ end
140
+
141
+ net_amount_breakdown = SKIP unless hash.key?('net_amount_breakdown')
142
+ total_refunded_amount = Money.from_hash(hash['total_refunded_amount']) if
143
+ hash['total_refunded_amount']
144
+
145
+ # Create object from extracted values.
146
+ SellerPayableBreakdown.new(gross_amount: gross_amount,
147
+ paypal_fee: paypal_fee,
148
+ paypal_fee_in_receivable_currency: paypal_fee_in_receivable_currency,
149
+ net_amount: net_amount,
150
+ net_amount_in_receivable_currency: net_amount_in_receivable_currency,
151
+ platform_fees: platform_fees,
152
+ net_amount_breakdown: net_amount_breakdown,
153
+ total_refunded_amount: total_refunded_amount)
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,65 @@
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 level of protection offered as defined by [PayPal Seller Protection for
8
+ # Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection)
9
+ # .
10
+ class SellerProtection < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # Indicates whether the transaction is eligible for seller protection. For
15
+ # information, see [PayPal Seller Protection for
16
+ # Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protectio
17
+ # n).
18
+ # @return [SellerProtectionStatus]
19
+ attr_accessor :status
20
+
21
+ # An array of conditions that are covered for the transaction.
22
+ # @return [Array[DisputeCategory]]
23
+ attr_accessor :dispute_categories
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['status'] = 'status'
29
+ @_hash['dispute_categories'] = 'dispute_categories'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ status
37
+ dispute_categories
38
+ ]
39
+ end
40
+
41
+ # An array for nullable fields
42
+ def self.nullables
43
+ []
44
+ end
45
+
46
+ def initialize(status: SKIP, dispute_categories: SKIP)
47
+ @status = status unless status == SKIP
48
+ @dispute_categories = dispute_categories unless dispute_categories == SKIP
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ status = hash.key?('status') ? hash['status'] : SKIP
57
+ dispute_categories =
58
+ hash.key?('dispute_categories') ? hash['dispute_categories'] : SKIP
59
+
60
+ # Create object from extracted values.
61
+ SellerProtection.new(status: status,
62
+ dispute_categories: dispute_categories)
63
+ end
64
+ end
65
+ 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
+ # Indicates whether the transaction is eligible for seller protection. For
8
+ # information, see [PayPal Seller Protection for
9
+ # Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection)
10
+ # .
11
+ class SellerProtectionStatus
12
+ SELLER_PROTECTION_STATUS = [
13
+ # TODO: Write general description for ELIGIBLE
14
+ ELIGIBLE = 'ELIGIBLE'.freeze,
15
+
16
+ # TODO: Write general description for PARTIALLY_ELIGIBLE
17
+ PARTIALLY_ELIGIBLE = 'PARTIALLY_ELIGIBLE'.freeze,
18
+
19
+ # TODO: Write general description for NOT_ELIGIBLE
20
+ NOT_ELIGIBLE = 'NOT_ELIGIBLE'.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,129 @@
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 detailed breakdown of the capture activity. This is not available for
8
+ # transactions that are in pending state.
9
+ class SellerReceivableBreakdown < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The currency and amount for a financial transaction, such as a balance or
14
+ # payment due.
15
+ # @return [Money]
16
+ attr_accessor :gross_amount
17
+
18
+ # The currency and amount for a financial transaction, such as a balance or
19
+ # payment due.
20
+ # @return [Money]
21
+ attr_accessor :paypal_fee
22
+
23
+ # The currency and amount for a financial transaction, such as a balance or
24
+ # payment due.
25
+ # @return [Money]
26
+ attr_accessor :paypal_fee_in_receivable_currency
27
+
28
+ # The currency and amount for a financial transaction, such as a balance or
29
+ # payment due.
30
+ # @return [Money]
31
+ attr_accessor :net_amount
32
+
33
+ # The currency and amount for a financial transaction, such as a balance or
34
+ # payment due.
35
+ # @return [Money]
36
+ attr_accessor :receivable_amount
37
+
38
+ # The exchange rate that determines the amount to convert from one currency
39
+ # to another currency.
40
+ # @return [ExchangeRate]
41
+ attr_accessor :exchange_rate
42
+
43
+ # An array of platform or partner fees, commissions, or brokerage fees that
44
+ # associated with the captured payment.
45
+ # @return [Array[PlatformFee]]
46
+ attr_accessor :platform_fees
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['gross_amount'] = 'gross_amount'
52
+ @_hash['paypal_fee'] = 'paypal_fee'
53
+ @_hash['paypal_fee_in_receivable_currency'] =
54
+ 'paypal_fee_in_receivable_currency'
55
+ @_hash['net_amount'] = 'net_amount'
56
+ @_hash['receivable_amount'] = 'receivable_amount'
57
+ @_hash['exchange_rate'] = 'exchange_rate'
58
+ @_hash['platform_fees'] = 'platform_fees'
59
+ @_hash
60
+ end
61
+
62
+ # An array for optional fields
63
+ def self.optionals
64
+ %w[
65
+ paypal_fee
66
+ paypal_fee_in_receivable_currency
67
+ net_amount
68
+ receivable_amount
69
+ exchange_rate
70
+ platform_fees
71
+ ]
72
+ end
73
+
74
+ # An array for nullable fields
75
+ def self.nullables
76
+ []
77
+ end
78
+
79
+ def initialize(gross_amount:, paypal_fee: SKIP,
80
+ paypal_fee_in_receivable_currency: SKIP, net_amount: SKIP,
81
+ receivable_amount: SKIP, exchange_rate: SKIP,
82
+ platform_fees: SKIP)
83
+ @gross_amount = gross_amount
84
+ @paypal_fee = paypal_fee unless paypal_fee == SKIP
85
+ unless paypal_fee_in_receivable_currency == SKIP
86
+ @paypal_fee_in_receivable_currency =
87
+ paypal_fee_in_receivable_currency
88
+ end
89
+ @net_amount = net_amount unless net_amount == SKIP
90
+ @receivable_amount = receivable_amount unless receivable_amount == SKIP
91
+ @exchange_rate = exchange_rate unless exchange_rate == SKIP
92
+ @platform_fees = platform_fees unless platform_fees == SKIP
93
+ end
94
+
95
+ # Creates an instance of the object from a hash.
96
+ def self.from_hash(hash)
97
+ return nil unless hash
98
+
99
+ # Extract variables from the hash.
100
+ gross_amount = Money.from_hash(hash['gross_amount']) if hash['gross_amount']
101
+ paypal_fee = Money.from_hash(hash['paypal_fee']) if hash['paypal_fee']
102
+ if hash['paypal_fee_in_receivable_currency']
103
+ paypal_fee_in_receivable_currency = Money.from_hash(hash['paypal_fee_in_receivable_currency'])
104
+ end
105
+ net_amount = Money.from_hash(hash['net_amount']) if hash['net_amount']
106
+ receivable_amount = Money.from_hash(hash['receivable_amount']) if hash['receivable_amount']
107
+ exchange_rate = ExchangeRate.from_hash(hash['exchange_rate']) if hash['exchange_rate']
108
+ # Parameter is an array, so we need to iterate through it
109
+ platform_fees = nil
110
+ unless hash['platform_fees'].nil?
111
+ platform_fees = []
112
+ hash['platform_fees'].each do |structure|
113
+ platform_fees << (PlatformFee.from_hash(structure) if structure)
114
+ end
115
+ end
116
+
117
+ platform_fees = SKIP unless hash.key?('platform_fees')
118
+
119
+ # Create object from extracted values.
120
+ SellerReceivableBreakdown.new(gross_amount: gross_amount,
121
+ paypal_fee: paypal_fee,
122
+ paypal_fee_in_receivable_currency: paypal_fee_in_receivable_currency,
123
+ net_amount: net_amount,
124
+ receivable_amount: receivable_amount,
125
+ exchange_rate: exchange_rate,
126
+ platform_fees: platform_fees)
127
+ end
128
+ end
129
+ end
@@ -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
+ # Customizes the Vault creation flow experience for your customers.
8
+ class SetupTokenCardExperienceContext < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The label that overrides the business name in the PayPal account on the
13
+ # PayPal site. The pattern is defined by an external party and supports
14
+ # Unicode.
15
+ # @return [String]
16
+ attr_accessor :brand_name
17
+
18
+ # The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the
19
+ # language in which to localize the error-related strings, such as messages,
20
+ # issues, and suggested actions. The tag is made up of the [ISO 639-2
21
+ # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
22
+ # the optional [ISO-15924 script
23
+ # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
24
+ # alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region
25
+ # code](https://unstats.un.org/unsd/methodology/m49/).
26
+ # @return [String]
27
+ attr_accessor :locale
28
+
29
+ # The URL where the customer is redirected after customer approves leaves
30
+ # the flow. It is a required field for contingency flows like PayPal wallet,
31
+ # 3DS.
32
+ # @return [String]
33
+ attr_accessor :return_url
34
+
35
+ # The URL where the customer is redirected after customer cancels or leaves
36
+ # the flow. It is a required field for contingency flows like PayPal wallet,
37
+ # 3DS.
38
+ # @return [String]
39
+ attr_accessor :cancel_url
40
+
41
+ # Vault Instruction on action to be performed after a successful payer
42
+ # approval.
43
+ # @return [String]
44
+ attr_accessor :vault_instruction
45
+
46
+ # A mapping from model property names to API property names.
47
+ def self.names
48
+ @_hash = {} if @_hash.nil?
49
+ @_hash['brand_name'] = 'brand_name'
50
+ @_hash['locale'] = 'locale'
51
+ @_hash['return_url'] = 'return_url'
52
+ @_hash['cancel_url'] = 'cancel_url'
53
+ @_hash['vault_instruction'] = 'vault_instruction'
54
+ @_hash
55
+ end
56
+
57
+ # An array for optional fields
58
+ def self.optionals
59
+ %w[
60
+ brand_name
61
+ locale
62
+ return_url
63
+ cancel_url
64
+ vault_instruction
65
+ ]
66
+ end
67
+
68
+ # An array for nullable fields
69
+ def self.nullables
70
+ []
71
+ end
72
+
73
+ def initialize(brand_name: SKIP, locale: SKIP, return_url: SKIP,
74
+ cancel_url: SKIP,
75
+ vault_instruction: 'ON_CREATE_PAYMENT_TOKENS')
76
+ @brand_name = brand_name unless brand_name == SKIP
77
+ @locale = locale unless locale == SKIP
78
+ @return_url = return_url unless return_url == SKIP
79
+ @cancel_url = cancel_url unless cancel_url == SKIP
80
+ @vault_instruction = vault_instruction unless vault_instruction == 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
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
89
+ locale = hash.key?('locale') ? hash['locale'] : SKIP
90
+ return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
91
+ cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
92
+ vault_instruction =
93
+ hash['vault_instruction'] ||= 'ON_CREATE_PAYMENT_TOKENS'
94
+
95
+ # Create object from extracted values.
96
+ SetupTokenCardExperienceContext.new(brand_name: brand_name,
97
+ locale: locale,
98
+ return_url: return_url,
99
+ cancel_url: cancel_url,
100
+ vault_instruction: vault_instruction)
101
+ end
102
+ end
103
+ end