paypal-server-sdk 2.3.0 → 2.4.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 (400) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +148 -148
  3. data/lib/paypal_server_sdk/api_helper.rb +10 -10
  4. data/lib/paypal_server_sdk/client.rb +102 -102
  5. data/lib/paypal_server_sdk/configuration.rb +135 -135
  6. data/lib/paypal_server_sdk/controllers/base_controller.rb +58 -58
  7. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -42
  8. data/lib/paypal_server_sdk/controllers/orders_controller.rb +551 -551
  9. data/lib/paypal_server_sdk/controllers/payments_controller.rb +462 -462
  10. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -843
  11. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -178
  12. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -224
  13. data/lib/paypal_server_sdk/exceptions/api_exception.rb +21 -21
  14. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +78 -78
  15. data/lib/paypal_server_sdk/exceptions/error_exception.rb +70 -70
  16. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +47 -47
  17. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +90 -90
  18. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +78 -78
  19. data/lib/paypal_server_sdk/http/api_response.rb +7 -7
  20. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +144 -144
  21. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -10
  22. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -10
  23. data/lib/paypal_server_sdk/http/http_request.rb +10 -10
  24. data/lib/paypal_server_sdk/http/http_response.rb +10 -10
  25. data/lib/paypal_server_sdk/http/proxy_settings.rb +5 -5
  26. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +5 -5
  27. data/lib/paypal_server_sdk/logging/sdk_logger.rb +5 -5
  28. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -63
  29. data/lib/paypal_server_sdk/models/activity_timestamps.rb +79 -79
  30. data/lib/paypal_server_sdk/models/address.rb +132 -132
  31. data/lib/paypal_server_sdk/models/amount_breakdown.rb +132 -132
  32. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +94 -94
  33. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -74
  34. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +73 -73
  35. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +62 -62
  36. data/lib/paypal_server_sdk/models/apple_pay_card.rb +108 -108
  37. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +210 -210
  38. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +111 -111
  39. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +68 -68
  40. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +97 -97
  41. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +36 -36
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +150 -150
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +63 -63
  44. data/lib/paypal_server_sdk/models/apple_pay_request.rb +165 -165
  45. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -88
  46. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +127 -127
  47. data/lib/paypal_server_sdk/models/application_context_user_action.rb +37 -37
  48. data/lib/paypal_server_sdk/models/assurance_details.rb +82 -82
  49. data/lib/paypal_server_sdk/models/auction_information.rb +100 -100
  50. data/lib/paypal_server_sdk/models/authentication_response.rb +74 -74
  51. data/lib/paypal_server_sdk/models/authorization.rb +211 -211
  52. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +31 -31
  53. data/lib/paypal_server_sdk/models/authorization_status.rb +54 -54
  54. data/lib/paypal_server_sdk/models/authorization_status_details.rb +62 -62
  55. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +72 -72
  56. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +225 -225
  57. data/lib/paypal_server_sdk/models/avs_code.rb +152 -152
  58. data/lib/paypal_server_sdk/models/balance_information.rb +106 -106
  59. data/lib/paypal_server_sdk/models/balances_response.rb +111 -111
  60. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +110 -110
  61. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +87 -87
  62. data/lib/paypal_server_sdk/models/bank_request.rb +71 -71
  63. data/lib/paypal_server_sdk/models/base_model.rb +110 -110
  64. data/lib/paypal_server_sdk/models/billing_cycle.rb +129 -118
  65. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -91
  66. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -212
  67. data/lib/paypal_server_sdk/models/bin_details.rb +102 -102
  68. data/lib/paypal_server_sdk/models/blik_experience_context.rb +142 -142
  69. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +60 -60
  70. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +64 -64
  71. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +97 -97
  72. data/lib/paypal_server_sdk/models/blik_payment_object.rb +99 -99
  73. data/lib/paypal_server_sdk/models/blik_payment_request.rb +120 -120
  74. data/lib/paypal_server_sdk/models/callback_configuration.rb +74 -74
  75. data/lib/paypal_server_sdk/models/callback_events.rb +35 -35
  76. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -60
  77. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +82 -82
  78. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +104 -104
  79. data/lib/paypal_server_sdk/models/capture_request.rb +126 -126
  80. data/lib/paypal_server_sdk/models/capture_status.rb +52 -52
  81. data/lib/paypal_server_sdk/models/capture_status_details.rb +62 -62
  82. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +72 -72
  83. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -78
  84. data/lib/paypal_server_sdk/models/capture_type.rb +24 -24
  85. data/lib/paypal_server_sdk/models/captured_payment.rb +274 -274
  86. data/lib/paypal_server_sdk/models/card_attributes.rb +83 -83
  87. data/lib/paypal_server_sdk/models/card_attributes_response.rb +62 -62
  88. data/lib/paypal_server_sdk/models/card_authentication_response.rb +63 -63
  89. data/lib/paypal_server_sdk/models/card_brand.rb +149 -149
  90. data/lib/paypal_server_sdk/models/card_customer.rb +98 -98
  91. data/lib/paypal_server_sdk/models/card_customer_information.rb +108 -108
  92. data/lib/paypal_server_sdk/models/card_experience_context.rb +71 -71
  93. data/lib/paypal_server_sdk/models/card_from_request.rb +72 -72
  94. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +178 -178
  95. data/lib/paypal_server_sdk/models/card_request.rb +191 -191
  96. data/lib/paypal_server_sdk/models/card_response.rb +180 -180
  97. data/lib/paypal_server_sdk/models/card_response_address.rb +137 -137
  98. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +101 -101
  99. data/lib/paypal_server_sdk/models/card_stored_credential.rb +111 -111
  100. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +79 -79
  101. data/lib/paypal_server_sdk/models/card_type.rb +44 -44
  102. data/lib/paypal_server_sdk/models/card_vault_response.rb +99 -99
  103. data/lib/paypal_server_sdk/models/card_verification.rb +64 -64
  104. data/lib/paypal_server_sdk/models/card_verification_details.rb +140 -140
  105. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +74 -74
  106. data/lib/paypal_server_sdk/models/card_verification_status.rb +31 -31
  107. data/lib/paypal_server_sdk/models/cart_information.rb +94 -94
  108. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -77
  109. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +40 -40
  110. data/lib/paypal_server_sdk/models/cobranded_card.rb +83 -83
  111. data/lib/paypal_server_sdk/models/confirm_order_request.rb +85 -85
  112. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -151
  113. data/lib/paypal_server_sdk/models/customer.rb +76 -76
  114. data/lib/paypal_server_sdk/models/customer_information.rb +95 -95
  115. data/lib/paypal_server_sdk/models/customer_response.rb +75 -75
  116. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +123 -123
  117. data/lib/paypal_server_sdk/models/cvv_code.rb +89 -89
  118. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -124
  119. data/lib/paypal_server_sdk/models/cycle_frequency.rb +72 -0
  120. data/lib/paypal_server_sdk/models/disbursement_mode.rb +34 -34
  121. data/lib/paypal_server_sdk/models/dispute_category.rb +31 -31
  122. data/lib/paypal_server_sdk/models/eci_flag.rb +50 -50
  123. data/lib/paypal_server_sdk/models/enrollment_status.rb +43 -43
  124. data/lib/paypal_server_sdk/models/eps_payment_object.rb +87 -87
  125. data/lib/paypal_server_sdk/models/eps_payment_request.rb +87 -87
  126. data/lib/paypal_server_sdk/models/error_details.rb +125 -125
  127. data/lib/paypal_server_sdk/models/exchange_rate.rb +91 -91
  128. data/lib/paypal_server_sdk/models/experience_context.rb +116 -116
  129. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +41 -41
  130. data/lib/paypal_server_sdk/models/experience_status.rb +44 -44
  131. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -98
  132. data/lib/paypal_server_sdk/models/frequency.rb +75 -75
  133. data/lib/paypal_server_sdk/models/frequency_interval_unit.rb +48 -0
  134. data/lib/paypal_server_sdk/models/fulfillment_type.rb +47 -47
  135. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +87 -87
  136. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +87 -87
  137. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +37 -37
  138. data/lib/paypal_server_sdk/models/google_pay_card.rb +128 -128
  139. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +120 -120
  140. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +131 -131
  141. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +68 -68
  142. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +24 -24
  143. data/lib/paypal_server_sdk/models/google_pay_request.rb +136 -136
  144. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +98 -98
  145. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +98 -98
  146. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +99 -99
  147. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +97 -97
  148. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -99
  149. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -71
  150. data/lib/paypal_server_sdk/models/interval_unit.rb +40 -40
  151. data/lib/paypal_server_sdk/models/item.rb +161 -161
  152. data/lib/paypal_server_sdk/models/item_category.rb +38 -38
  153. data/lib/paypal_server_sdk/models/item_details.rb +287 -287
  154. data/lib/paypal_server_sdk/models/item_request.rb +163 -163
  155. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -75
  156. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +78 -78
  157. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +137 -137
  158. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +35 -35
  159. data/lib/paypal_server_sdk/models/line_item.rb +209 -209
  160. data/lib/paypal_server_sdk/models/link_description.rb +92 -92
  161. data/lib/paypal_server_sdk/models/link_http_method.rb +56 -56
  162. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -73
  163. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +36 -36
  164. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -76
  165. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -124
  166. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -141
  167. data/lib/paypal_server_sdk/models/money.rb +75 -75
  168. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +99 -99
  169. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +87 -87
  170. data/lib/paypal_server_sdk/models/name.rb +73 -73
  171. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -72
  172. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +87 -87
  173. data/lib/paypal_server_sdk/models/network_token.rb +110 -110
  174. data/lib/paypal_server_sdk/models/network_transaction.rb +107 -107
  175. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +100 -100
  176. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +58 -58
  177. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -106
  178. data/lib/paypal_server_sdk/models/one_time_charge.rb +118 -118
  179. data/lib/paypal_server_sdk/models/order.rb +197 -197
  180. data/lib/paypal_server_sdk/models/order_application_context.rb +219 -219
  181. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +48 -48
  182. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +45 -45
  183. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +42 -42
  184. data/lib/paypal_server_sdk/models/order_authorize_request.rb +63 -63
  185. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +115 -115
  186. data/lib/paypal_server_sdk/models/order_authorize_response.rb +194 -194
  187. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +102 -102
  188. data/lib/paypal_server_sdk/models/order_billing_plan.rb +93 -93
  189. data/lib/paypal_server_sdk/models/order_capture_request.rb +63 -63
  190. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +115 -115
  191. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +123 -123
  192. data/lib/paypal_server_sdk/models/order_request.rb +132 -132
  193. data/lib/paypal_server_sdk/models/order_status.rb +60 -60
  194. data/lib/paypal_server_sdk/models/order_tracker_item.rb +114 -114
  195. data/lib/paypal_server_sdk/models/order_tracker_request.rb +133 -133
  196. data/lib/paypal_server_sdk/models/order_tracker_response.rb +135 -135
  197. data/lib/paypal_server_sdk/models/order_tracker_status.rb +34 -34
  198. data/lib/paypal_server_sdk/models/orders_capture.rb +252 -252
  199. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +61 -61
  200. data/lib/paypal_server_sdk/models/os_type.rb +35 -35
  201. data/lib/paypal_server_sdk/models/p24_payment_object.rb +123 -123
  202. data/lib/paypal_server_sdk/models/p24_payment_request.rb +98 -98
  203. data/lib/paypal_server_sdk/models/pa_res_status.rb +57 -57
  204. data/lib/paypal_server_sdk/models/participant_metadata.rb +64 -64
  205. data/lib/paypal_server_sdk/models/patch.rb +93 -93
  206. data/lib/paypal_server_sdk/models/patch_op.rb +84 -84
  207. data/lib/paypal_server_sdk/models/payee_base.rb +76 -76
  208. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +33 -33
  209. data/lib/paypal_server_sdk/models/payer.rb +136 -136
  210. data/lib/paypal_server_sdk/models/payer_base.rb +75 -75
  211. data/lib/paypal_server_sdk/models/payer_information.rb +146 -146
  212. data/lib/paypal_server_sdk/models/payer_name.rb +128 -128
  213. data/lib/paypal_server_sdk/models/payment_advice_code.rb +97 -97
  214. data/lib/paypal_server_sdk/models/payment_authorization.rb +233 -233
  215. data/lib/paypal_server_sdk/models/payment_collection.rb +113 -113
  216. data/lib/paypal_server_sdk/models/payment_initiator.rb +34 -34
  217. data/lib/paypal_server_sdk/models/payment_instruction.rb +121 -121
  218. data/lib/paypal_server_sdk/models/payment_method.rb +63 -63
  219. data/lib/paypal_server_sdk/models/payment_method_preference.rb +86 -86
  220. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -105
  221. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -107
  222. data/lib/paypal_server_sdk/models/payment_source.rb +203 -203
  223. data/lib/paypal_server_sdk/models/payment_source_response.rb +190 -190
  224. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +62 -62
  225. data/lib/paypal_server_sdk/models/payment_token_request.rb +74 -74
  226. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +120 -120
  227. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +71 -71
  228. data/lib/paypal_server_sdk/models/payment_token_response.rb +104 -104
  229. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +91 -91
  230. data/lib/paypal_server_sdk/models/payment_token_status.rb +48 -48
  231. data/lib/paypal_server_sdk/models/payments_capture.rb +252 -252
  232. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +52 -52
  233. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +37 -37
  234. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +211 -211
  235. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +37 -37
  236. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +35 -35
  237. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +40 -40
  238. data/lib/paypal_server_sdk/models/paypal_wallet.rb +188 -188
  239. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +36 -36
  240. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +71 -71
  241. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +82 -82
  242. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +43 -43
  243. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +40 -40
  244. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +108 -108
  245. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +108 -108
  246. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +201 -201
  247. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +213 -213
  248. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +99 -99
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb +134 -134
  250. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +132 -132
  251. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +99 -99
  252. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +40 -40
  253. data/lib/paypal_server_sdk/models/phone.rb +91 -91
  254. data/lib/paypal_server_sdk/models/phone_number.rb +68 -68
  255. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +83 -83
  256. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -81
  257. data/lib/paypal_server_sdk/models/phone_type.rb +44 -44
  258. data/lib/paypal_server_sdk/models/phone_with_type.rb +72 -72
  259. data/lib/paypal_server_sdk/models/plan.rb +92 -92
  260. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -111
  261. data/lib/paypal_server_sdk/models/plan_details.rb +147 -147
  262. data/lib/paypal_server_sdk/models/plan_override.rb +96 -96
  263. data/lib/paypal_server_sdk/models/plan_request.rb +154 -154
  264. data/lib/paypal_server_sdk/models/plan_request_status.rb +37 -37
  265. data/lib/paypal_server_sdk/models/platform_fee.rb +75 -75
  266. data/lib/paypal_server_sdk/models/pricing_model.rb +37 -37
  267. data/lib/paypal_server_sdk/models/pricing_scheme.rb +84 -84
  268. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -83
  269. data/lib/paypal_server_sdk/models/processing_instruction.rb +31 -31
  270. data/lib/paypal_server_sdk/models/processor_response.rb +98 -98
  271. data/lib/paypal_server_sdk/models/processor_response_code.rb +644 -644
  272. data/lib/paypal_server_sdk/models/purchase_unit.rb +245 -245
  273. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +219 -219
  274. data/lib/paypal_server_sdk/models/reason_code.rb +56 -56
  275. data/lib/paypal_server_sdk/models/reauthorize_request.rb +72 -72
  276. data/lib/paypal_server_sdk/models/refund.rb +214 -214
  277. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +25 -25
  278. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +80 -80
  279. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +64 -64
  280. data/lib/paypal_server_sdk/models/refund_request.rb +115 -115
  281. data/lib/paypal_server_sdk/models/refund_status.rb +40 -40
  282. data/lib/paypal_server_sdk/models/refund_status_details.rb +62 -62
  283. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +72 -72
  284. data/lib/paypal_server_sdk/models/related_identifiers.rb +83 -83
  285. data/lib/paypal_server_sdk/models/return_flow.rb +36 -36
  286. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +63 -63
  287. data/lib/paypal_server_sdk/models/search_response.rb +176 -176
  288. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +177 -177
  289. data/lib/paypal_server_sdk/models/seller_protection.rb +78 -78
  290. data/lib/paypal_server_sdk/models/seller_protection_status.rb +41 -41
  291. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +147 -147
  292. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +89 -89
  293. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -64
  294. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +32 -32
  295. data/lib/paypal_server_sdk/models/setup_token_request.rb +74 -74
  296. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +143 -143
  297. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +111 -111
  298. data/lib/paypal_server_sdk/models/setup_token_response.rb +116 -116
  299. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +178 -178
  300. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +81 -81
  301. data/lib/paypal_server_sdk/models/shipment_carrier.rb +5682 -5682
  302. data/lib/paypal_server_sdk/models/shipping_details.rb +133 -133
  303. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -101
  304. data/lib/paypal_server_sdk/models/shipping_name.rb +62 -62
  305. data/lib/paypal_server_sdk/models/shipping_option.rb +108 -108
  306. data/lib/paypal_server_sdk/models/shipping_type.rb +48 -48
  307. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +152 -152
  308. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -130
  309. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +99 -99
  310. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +87 -87
  311. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +55 -55
  312. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +25 -25
  313. data/lib/paypal_server_sdk/models/store_information.rb +71 -71
  314. data/lib/paypal_server_sdk/models/stored_payment_source.rb +111 -111
  315. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +38 -38
  316. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +39 -39
  317. data/lib/paypal_server_sdk/models/subscriber.rb +107 -107
  318. data/lib/paypal_server_sdk/models/subscriber_request.rb +120 -120
  319. data/lib/paypal_server_sdk/models/subscription.rb +241 -205
  320. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -119
  321. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -134
  322. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -108
  323. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -148
  324. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -141
  325. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -90
  326. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -84
  327. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -122
  328. data/lib/paypal_server_sdk/models/subscription_payer.rb +85 -85
  329. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -114
  330. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -65
  331. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -63
  332. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +37 -37
  333. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +31 -31
  334. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -129
  335. data/lib/paypal_server_sdk/models/subscription_status.rb +52 -0
  336. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -118
  337. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -83
  338. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +129 -129
  339. data/lib/paypal_server_sdk/models/supplementary_data.rb +76 -76
  340. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -60
  341. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -63
  342. data/lib/paypal_server_sdk/models/tax_id_type.rb +31 -31
  343. data/lib/paypal_server_sdk/models/tax_info.rb +69 -69
  344. data/lib/paypal_server_sdk/models/taxes.rb +71 -71
  345. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -72
  346. data/lib/paypal_server_sdk/models/tenure_type.rb +38 -38
  347. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +76 -76
  348. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +89 -89
  349. data/lib/paypal_server_sdk/models/token.rb +68 -68
  350. data/lib/paypal_server_sdk/models/token_type.rb +25 -25
  351. data/lib/paypal_server_sdk/models/transaction_details.rb +126 -126
  352. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -494
  353. data/lib/paypal_server_sdk/models/transaction_search_error_details.rb +103 -103
  354. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -111
  355. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +111 -111
  356. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +98 -98
  357. data/lib/paypal_server_sdk/models/universal_product_code.rb +68 -68
  358. data/lib/paypal_server_sdk/models/upc_type.rb +52 -52
  359. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -72
  360. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -69
  361. data/lib/paypal_server_sdk/models/usage_pattern.rb +91 -91
  362. data/lib/paypal_server_sdk/models/usage_type.rb +34 -34
  363. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -73
  364. data/lib/paypal_server_sdk/models/vault_card_experience_context.rb +129 -129
  365. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +47 -47
  366. data/lib/paypal_server_sdk/models/vault_customer.rb +72 -72
  367. data/lib/paypal_server_sdk/models/vault_experience_context.rb +155 -155
  368. data/lib/paypal_server_sdk/models/vault_instruction.rb +62 -62
  369. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +34 -34
  370. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +64 -64
  371. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +154 -154
  372. data/lib/paypal_server_sdk/models/vault_response.rb +100 -100
  373. data/lib/paypal_server_sdk/models/vault_response_customer.rb +86 -86
  374. data/lib/paypal_server_sdk/models/vault_status.rb +40 -40
  375. data/lib/paypal_server_sdk/models/vault_token_request.rb +68 -68
  376. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +24 -24
  377. data/lib/paypal_server_sdk/models/vault_user_action.rb +37 -37
  378. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +143 -143
  379. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +132 -132
  380. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +114 -114
  381. data/lib/paypal_server_sdk/models/venmo_experience_context.rb +101 -101
  382. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +199 -199
  383. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +35 -35
  384. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +54 -54
  385. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +34 -34
  386. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -100
  387. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +40 -40
  388. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +72 -72
  389. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +62 -62
  390. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +94 -94
  391. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +108 -108
  392. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_shipping_preference.rb +38 -38
  393. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +37 -37
  394. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +102 -102
  395. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +146 -146
  396. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +131 -131
  397. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +11 -11
  398. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +17 -17
  399. data/lib/paypal_server_sdk.rb +440 -437
  400. metadata +5 -2
@@ -1,201 +1,201 @@
1
- # paypal_server_sdk
2
- #
3
- # This file was automatically generated by APIMATIC v3.0
4
- # ( https://www.apimatic.io ).
5
-
6
- module PaypalServerSdk
7
- # Customizes the payer experience during the approval process for payment with
8
- # PayPal. Note: Partners and Marketplaces might configure brand_name and
9
- # shipping_preference during partner account setup, which overrides the
10
- # request values.
11
- class PaypalWalletExperienceContext < BaseModel
12
- SKIP = Object.new
13
- private_constant :SKIP
14
-
15
- # The label that overrides the business name in the PayPal account on the
16
- # PayPal site. The pattern is defined by an external party and supports
17
- # Unicode.
18
- # @return [String]
19
- attr_accessor :brand_name
20
-
21
- # The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the
22
- # language in which to localize the error-related strings, such as messages,
23
- # issues, and suggested actions. The tag is made up of the [ISO 639-2
24
- # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
25
- # the optional [ISO-15924 script
26
- # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
27
- # alpha-2 country
28
- # code](https://developer.paypal.com/api/rest/reference/country-codes/) or
29
- # [M49 region code](https://unstats.un.org/unsd/methodology/m49/).
30
- # @return [String]
31
- attr_accessor :locale
32
-
33
- # The location from which the shipping address is derived.
34
- # @return [PaypalWalletContextShippingPreference]
35
- attr_accessor :shipping_preference
36
-
37
- # The preference to display the contact information (buyer’s shipping email
38
- # & phone number) on PayPal's checkout for easy merchant-buyer
39
- # communication.
40
- # @return [PaypalWalletContactPreference]
41
- attr_accessor :contact_preference
42
-
43
- # Describes the URL.
44
- # @return [String]
45
- attr_accessor :return_url
46
-
47
- # Describes the URL.
48
- # @return [String]
49
- attr_accessor :cancel_url
50
-
51
- # Merchant provided details of the native app or mobile web browser to
52
- # facilitate buyer's app switch to the PayPal consumer app.
53
- # @return [AppSwitchContext]
54
- attr_accessor :app_switch_context
55
-
56
- # The type of landing page to show on the PayPal site for customer checkout.
57
- # @return [PaypalExperienceLandingPage]
58
- attr_accessor :landing_page
59
-
60
- # Configures a Continue or Pay Now checkout flow.
61
- # @return [PaypalExperienceUserAction]
62
- attr_accessor :user_action
63
-
64
- # The merchant-preferred payment methods.
65
- # @return [PayeePaymentMethodPreference]
66
- attr_accessor :payment_method_preference
67
-
68
- # CallBack Configuration that the merchant can provide to PayPal/Venmo.
69
- # @return [CallbackConfiguration]
70
- attr_accessor :order_update_callback_config
71
-
72
- # A mapping from model property names to API property names.
73
- def self.names
74
- @_hash = {} if @_hash.nil?
75
- @_hash['brand_name'] = 'brand_name'
76
- @_hash['locale'] = 'locale'
77
- @_hash['shipping_preference'] = 'shipping_preference'
78
- @_hash['contact_preference'] = 'contact_preference'
79
- @_hash['return_url'] = 'return_url'
80
- @_hash['cancel_url'] = 'cancel_url'
81
- @_hash['app_switch_context'] = 'app_switch_context'
82
- @_hash['landing_page'] = 'landing_page'
83
- @_hash['user_action'] = 'user_action'
84
- @_hash['payment_method_preference'] = 'payment_method_preference'
85
- @_hash['order_update_callback_config'] = 'order_update_callback_config'
86
- @_hash
87
- end
88
-
89
- # An array for optional fields
90
- def self.optionals
91
- %w[
92
- brand_name
93
- locale
94
- shipping_preference
95
- contact_preference
96
- return_url
97
- cancel_url
98
- app_switch_context
99
- landing_page
100
- user_action
101
- payment_method_preference
102
- order_update_callback_config
103
- ]
104
- end
105
-
106
- # An array for nullable fields
107
- def self.nullables
108
- []
109
- end
110
-
111
- def initialize(
112
- brand_name: SKIP, locale: SKIP,
113
- shipping_preference: PaypalWalletContextShippingPreference::GET_FROM_FILE,
114
- contact_preference: PaypalWalletContactPreference::NO_CONTACT_INFO,
115
- return_url: SKIP, cancel_url: SKIP, app_switch_context: SKIP,
116
- landing_page: PaypalExperienceLandingPage::NO_PREFERENCE,
117
- user_action: PaypalExperienceUserAction::CONTINUE,
118
- payment_method_preference: PayeePaymentMethodPreference::UNRESTRICTED,
119
- order_update_callback_config: SKIP
120
- )
121
- @brand_name = brand_name unless brand_name == SKIP
122
- @locale = locale unless locale == SKIP
123
- @shipping_preference = shipping_preference unless shipping_preference == SKIP
124
- @contact_preference = contact_preference unless contact_preference == SKIP
125
- @return_url = return_url unless return_url == SKIP
126
- @cancel_url = cancel_url unless cancel_url == SKIP
127
- @app_switch_context = app_switch_context unless app_switch_context == SKIP
128
- @landing_page = landing_page unless landing_page == SKIP
129
- @user_action = user_action unless user_action == SKIP
130
- unless payment_method_preference == SKIP
131
- @payment_method_preference =
132
- payment_method_preference
133
- end
134
- unless order_update_callback_config == SKIP
135
- @order_update_callback_config =
136
- order_update_callback_config
137
- end
138
- end
139
-
140
- # Creates an instance of the object from a hash.
141
- def self.from_hash(hash)
142
- return nil unless hash
143
-
144
- # Extract variables from the hash.
145
- brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
146
- locale = hash.key?('locale') ? hash['locale'] : SKIP
147
- shipping_preference =
148
- hash['shipping_preference'] ||= PaypalWalletContextShippingPreference::GET_FROM_FILE
149
- contact_preference =
150
- hash['contact_preference'] ||= PaypalWalletContactPreference::NO_CONTACT_INFO
151
- return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
152
- cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
153
- app_switch_context = AppSwitchContext.from_hash(hash['app_switch_context']) if
154
- hash['app_switch_context']
155
- landing_page =
156
- hash['landing_page'] ||= PaypalExperienceLandingPage::NO_PREFERENCE
157
- user_action = hash['user_action'] ||= PaypalExperienceUserAction::CONTINUE
158
- payment_method_preference =
159
- hash['payment_method_preference'] ||= PayeePaymentMethodPreference::UNRESTRICTED
160
- if hash['order_update_callback_config']
161
- order_update_callback_config = CallbackConfiguration.from_hash(hash['order_update_callback_config'])
162
- end
163
-
164
- # Create object from extracted values.
165
- PaypalWalletExperienceContext.new(brand_name: brand_name,
166
- locale: locale,
167
- shipping_preference: shipping_preference,
168
- contact_preference: contact_preference,
169
- return_url: return_url,
170
- cancel_url: cancel_url,
171
- app_switch_context: app_switch_context,
172
- landing_page: landing_page,
173
- user_action: user_action,
174
- payment_method_preference: payment_method_preference,
175
- order_update_callback_config: order_update_callback_config)
176
- end
177
-
178
- # Provides a human-readable string representation of the object.
179
- def to_s
180
- class_name = self.class.name.split('::').last
181
- "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, shipping_preference:"\
182
- " #{@shipping_preference}, contact_preference: #{@contact_preference}, return_url:"\
183
- " #{@return_url}, cancel_url: #{@cancel_url}, app_switch_context: #{@app_switch_context},"\
184
- " landing_page: #{@landing_page}, user_action: #{@user_action}, payment_method_preference:"\
185
- " #{@payment_method_preference}, order_update_callback_config:"\
186
- " #{@order_update_callback_config}>"
187
- end
188
-
189
- # Provides a debugging-friendly string with detailed object information.
190
- def inspect
191
- class_name = self.class.name.split('::').last
192
- "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
193
- " shipping_preference: #{@shipping_preference.inspect}, contact_preference:"\
194
- " #{@contact_preference.inspect}, return_url: #{@return_url.inspect}, cancel_url:"\
195
- " #{@cancel_url.inspect}, app_switch_context: #{@app_switch_context.inspect}, landing_page:"\
196
- " #{@landing_page.inspect}, user_action: #{@user_action.inspect}, payment_method_preference:"\
197
- " #{@payment_method_preference.inspect}, order_update_callback_config:"\
198
- " #{@order_update_callback_config.inspect}>"
199
- end
200
- end
201
- end
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Customizes the payer experience during the approval process for payment with
8
+ # PayPal. Note: Partners and Marketplaces might configure brand_name and
9
+ # shipping_preference during partner account setup, which overrides the
10
+ # request values.
11
+ class PaypalWalletExperienceContext < BaseModel
12
+ SKIP = Object.new
13
+ private_constant :SKIP
14
+
15
+ # The label that overrides the business name in the PayPal account on the
16
+ # PayPal site. The pattern is defined by an external party and supports
17
+ # Unicode.
18
+ # @return [String]
19
+ attr_accessor :brand_name
20
+
21
+ # The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the
22
+ # language in which to localize the error-related strings, such as messages,
23
+ # issues, and suggested actions. The tag is made up of the [ISO 639-2
24
+ # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
25
+ # the optional [ISO-15924 script
26
+ # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
27
+ # alpha-2 country
28
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) or
29
+ # [M49 region code](https://unstats.un.org/unsd/methodology/m49/).
30
+ # @return [String]
31
+ attr_accessor :locale
32
+
33
+ # The location from which the shipping address is derived.
34
+ # @return [PaypalWalletContextShippingPreference]
35
+ attr_accessor :shipping_preference
36
+
37
+ # The preference to display the contact information (buyer’s shipping email
38
+ # & phone number) on PayPal's checkout for easy merchant-buyer
39
+ # communication.
40
+ # @return [PaypalWalletContactPreference]
41
+ attr_accessor :contact_preference
42
+
43
+ # Describes the URL.
44
+ # @return [String]
45
+ attr_accessor :return_url
46
+
47
+ # Describes the URL.
48
+ # @return [String]
49
+ attr_accessor :cancel_url
50
+
51
+ # Merchant provided details of the native app or mobile web browser to
52
+ # facilitate buyer's app switch to the PayPal consumer app.
53
+ # @return [AppSwitchContext]
54
+ attr_accessor :app_switch_context
55
+
56
+ # The type of landing page to show on the PayPal site for customer checkout.
57
+ # @return [PaypalExperienceLandingPage]
58
+ attr_accessor :landing_page
59
+
60
+ # Configures a Continue or Pay Now checkout flow.
61
+ # @return [PaypalExperienceUserAction]
62
+ attr_accessor :user_action
63
+
64
+ # The merchant-preferred payment methods.
65
+ # @return [PayeePaymentMethodPreference]
66
+ attr_accessor :payment_method_preference
67
+
68
+ # CallBack Configuration that the merchant can provide to PayPal/Venmo.
69
+ # @return [CallbackConfiguration]
70
+ attr_accessor :order_update_callback_config
71
+
72
+ # A mapping from model property names to API property names.
73
+ def self.names
74
+ @_hash = {} if @_hash.nil?
75
+ @_hash['brand_name'] = 'brand_name'
76
+ @_hash['locale'] = 'locale'
77
+ @_hash['shipping_preference'] = 'shipping_preference'
78
+ @_hash['contact_preference'] = 'contact_preference'
79
+ @_hash['return_url'] = 'return_url'
80
+ @_hash['cancel_url'] = 'cancel_url'
81
+ @_hash['app_switch_context'] = 'app_switch_context'
82
+ @_hash['landing_page'] = 'landing_page'
83
+ @_hash['user_action'] = 'user_action'
84
+ @_hash['payment_method_preference'] = 'payment_method_preference'
85
+ @_hash['order_update_callback_config'] = 'order_update_callback_config'
86
+ @_hash
87
+ end
88
+
89
+ # An array for optional fields
90
+ def self.optionals
91
+ %w[
92
+ brand_name
93
+ locale
94
+ shipping_preference
95
+ contact_preference
96
+ return_url
97
+ cancel_url
98
+ app_switch_context
99
+ landing_page
100
+ user_action
101
+ payment_method_preference
102
+ order_update_callback_config
103
+ ]
104
+ end
105
+
106
+ # An array for nullable fields
107
+ def self.nullables
108
+ []
109
+ end
110
+
111
+ def initialize(
112
+ brand_name: SKIP, locale: SKIP,
113
+ shipping_preference: PaypalWalletContextShippingPreference::GET_FROM_FILE,
114
+ contact_preference: PaypalWalletContactPreference::NO_CONTACT_INFO,
115
+ return_url: SKIP, cancel_url: SKIP, app_switch_context: SKIP,
116
+ landing_page: PaypalExperienceLandingPage::NO_PREFERENCE,
117
+ user_action: PaypalExperienceUserAction::CONTINUE,
118
+ payment_method_preference: PayeePaymentMethodPreference::UNRESTRICTED,
119
+ order_update_callback_config: SKIP
120
+ )
121
+ @brand_name = brand_name unless brand_name == SKIP
122
+ @locale = locale unless locale == SKIP
123
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
124
+ @contact_preference = contact_preference unless contact_preference == SKIP
125
+ @return_url = return_url unless return_url == SKIP
126
+ @cancel_url = cancel_url unless cancel_url == SKIP
127
+ @app_switch_context = app_switch_context unless app_switch_context == SKIP
128
+ @landing_page = landing_page unless landing_page == SKIP
129
+ @user_action = user_action unless user_action == SKIP
130
+ unless payment_method_preference == SKIP
131
+ @payment_method_preference =
132
+ payment_method_preference
133
+ end
134
+ unless order_update_callback_config == SKIP
135
+ @order_update_callback_config =
136
+ order_update_callback_config
137
+ end
138
+ end
139
+
140
+ # Creates an instance of the object from a hash.
141
+ def self.from_hash(hash)
142
+ return nil unless hash
143
+
144
+ # Extract variables from the hash.
145
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
146
+ locale = hash.key?('locale') ? hash['locale'] : SKIP
147
+ shipping_preference =
148
+ hash['shipping_preference'] ||= PaypalWalletContextShippingPreference::GET_FROM_FILE
149
+ contact_preference =
150
+ hash['contact_preference'] ||= PaypalWalletContactPreference::NO_CONTACT_INFO
151
+ return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
152
+ cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
153
+ app_switch_context = AppSwitchContext.from_hash(hash['app_switch_context']) if
154
+ hash['app_switch_context']
155
+ landing_page =
156
+ hash['landing_page'] ||= PaypalExperienceLandingPage::NO_PREFERENCE
157
+ user_action = hash['user_action'] ||= PaypalExperienceUserAction::CONTINUE
158
+ payment_method_preference =
159
+ hash['payment_method_preference'] ||= PayeePaymentMethodPreference::UNRESTRICTED
160
+ if hash['order_update_callback_config']
161
+ order_update_callback_config = CallbackConfiguration.from_hash(hash['order_update_callback_config'])
162
+ end
163
+
164
+ # Create object from extracted values.
165
+ PaypalWalletExperienceContext.new(brand_name: brand_name,
166
+ locale: locale,
167
+ shipping_preference: shipping_preference,
168
+ contact_preference: contact_preference,
169
+ return_url: return_url,
170
+ cancel_url: cancel_url,
171
+ app_switch_context: app_switch_context,
172
+ landing_page: landing_page,
173
+ user_action: user_action,
174
+ payment_method_preference: payment_method_preference,
175
+ order_update_callback_config: order_update_callback_config)
176
+ end
177
+
178
+ # Provides a human-readable string representation of the object.
179
+ def to_s
180
+ class_name = self.class.name.split('::').last
181
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, shipping_preference:"\
182
+ " #{@shipping_preference}, contact_preference: #{@contact_preference}, return_url:"\
183
+ " #{@return_url}, cancel_url: #{@cancel_url}, app_switch_context: #{@app_switch_context},"\
184
+ " landing_page: #{@landing_page}, user_action: #{@user_action}, payment_method_preference:"\
185
+ " #{@payment_method_preference}, order_update_callback_config:"\
186
+ " #{@order_update_callback_config}>"
187
+ end
188
+
189
+ # Provides a debugging-friendly string with detailed object information.
190
+ def inspect
191
+ class_name = self.class.name.split('::').last
192
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
193
+ " shipping_preference: #{@shipping_preference.inspect}, contact_preference:"\
194
+ " #{@contact_preference.inspect}, return_url: #{@return_url.inspect}, cancel_url:"\
195
+ " #{@cancel_url.inspect}, app_switch_context: #{@app_switch_context.inspect}, landing_page:"\
196
+ " #{@landing_page.inspect}, user_action: #{@user_action.inspect}, payment_method_preference:"\
197
+ " #{@payment_method_preference.inspect}, order_update_callback_config:"\
198
+ " #{@order_update_callback_config.inspect}>"
199
+ end
200
+ end
201
+ end