paypal-server-sdk 2.2.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 -131
  31. data/lib/paypal_server_sdk/models/amount_breakdown.rb +132 -132
  32. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +94 -93
  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 -209
  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 -109
  61. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +87 -86
  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 -101
  68. data/lib/paypal_server_sdk/models/blik_experience_context.rb +142 -141
  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 -98
  73. data/lib/paypal_server_sdk/models/blik_payment_request.rb +120 -119
  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 -136
  98. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +101 -100
  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 -74
  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 -122
  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 -86
  125. data/lib/paypal_server_sdk/models/eps_payment_request.rb +87 -86
  126. data/lib/paypal_server_sdk/models/error_details.rb +125 -125
  127. data/lib/paypal_server_sdk/models/exchange_rate.rb +91 -89
  128. data/lib/paypal_server_sdk/models/experience_context.rb +116 -115
  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 -86
  136. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +87 -86
  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 -98
  147. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +97 -96
  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 -87
  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 -74
  168. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +99 -98
  169. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +87 -86
  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 -184
  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 -181
  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 -122
  192. data/lib/paypal_server_sdk/models/order_request.rb +132 -120
  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 -122
  202. data/lib/paypal_server_sdk/models/p24_payment_request.rb +98 -97
  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 -103
  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 -200
  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 +33 -0
  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 -88
  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 -115
  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 -98
  310. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +87 -86
  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 -110
  356. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +98 -97
  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 -128
  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 -154
  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 -436
  400. metadata +6 -2
@@ -1,108 +1,108 @@
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
- # The options that the payee or merchant offers to the payer to ship or pick
8
- # up their items.
9
- class ShippingOption < BaseModel
10
- SKIP = Object.new
11
- private_constant :SKIP
12
-
13
- # A unique ID that identifies a payer-selected shipping option.
14
- # @return [String]
15
- attr_accessor :id
16
-
17
- # A description that the payer sees, which helps them choose an appropriate
18
- # shipping option. For example, `Free Shipping`, `USPS Priority Shipping`,
19
- # `Expédition prioritaire USPS`, or `USPS yōuxiān fā huò`. Localize this
20
- # description to the payer's locale.
21
- # @return [String]
22
- attr_accessor :label
23
-
24
- # A classification for the method of purchase fulfillment.
25
- # @return [ShippingType]
26
- attr_accessor :type
27
-
28
- # The currency and amount for a financial transaction, such as a balance or
29
- # payment due.
30
- # @return [Money]
31
- attr_accessor :amount
32
-
33
- # If the API request sets `selected = true`, it represents the shipping
34
- # option that the payee or merchant expects to be pre-selected for the payer
35
- # when they first view the `shipping.options` in the PayPal Checkout
36
- # experience. As part of the response if a `shipping.option` contains
37
- # `selected=true`, it represents the shipping option that the payer selected
38
- # during the course of checkout with PayPal. Only one `shipping.option` can
39
- # be set to `selected=true`.
40
- # @return [TrueClass | FalseClass]
41
- attr_accessor :selected
42
-
43
- # A mapping from model property names to API property names.
44
- def self.names
45
- @_hash = {} if @_hash.nil?
46
- @_hash['id'] = 'id'
47
- @_hash['label'] = 'label'
48
- @_hash['type'] = 'type'
49
- @_hash['amount'] = 'amount'
50
- @_hash['selected'] = 'selected'
51
- @_hash
52
- end
53
-
54
- # An array for optional fields
55
- def self.optionals
56
- %w[
57
- type
58
- amount
59
- ]
60
- end
61
-
62
- # An array for nullable fields
63
- def self.nullables
64
- []
65
- end
66
-
67
- def initialize(id:, label:, selected:, type: SKIP, amount: SKIP)
68
- @id = id
69
- @label = label
70
- @type = type unless type == SKIP
71
- @amount = amount unless amount == SKIP
72
- @selected = selected
73
- end
74
-
75
- # Creates an instance of the object from a hash.
76
- def self.from_hash(hash)
77
- return nil unless hash
78
-
79
- # Extract variables from the hash.
80
- id = hash.key?('id') ? hash['id'] : nil
81
- label = hash.key?('label') ? hash['label'] : nil
82
- selected = hash.key?('selected') ? hash['selected'] : nil
83
- type = hash.key?('type') ? hash['type'] : SKIP
84
- amount = Money.from_hash(hash['amount']) if hash['amount']
85
-
86
- # Create object from extracted values.
87
- ShippingOption.new(id: id,
88
- label: label,
89
- selected: selected,
90
- type: type,
91
- amount: amount)
92
- end
93
-
94
- # Provides a human-readable string representation of the object.
95
- def to_s
96
- class_name = self.class.name.split('::').last
97
- "<#{class_name} id: #{@id}, label: #{@label}, type: #{@type}, amount: #{@amount}, selected:"\
98
- " #{@selected}>"
99
- end
100
-
101
- # Provides a debugging-friendly string with detailed object information.
102
- def inspect
103
- class_name = self.class.name.split('::').last
104
- "<#{class_name} id: #{@id.inspect}, label: #{@label.inspect}, type: #{@type.inspect},"\
105
- " amount: #{@amount.inspect}, selected: #{@selected.inspect}>"
106
- end
107
- end
108
- 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
+ # The options that the payee or merchant offers to the payer to ship or pick
8
+ # up their items.
9
+ class ShippingOption < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # A unique ID that identifies a payer-selected shipping option.
14
+ # @return [String]
15
+ attr_accessor :id
16
+
17
+ # A description that the payer sees, which helps them choose an appropriate
18
+ # shipping option. For example, `Free Shipping`, `USPS Priority Shipping`,
19
+ # `Expédition prioritaire USPS`, or `USPS yōuxiān fā huò`. Localize this
20
+ # description to the payer's locale.
21
+ # @return [String]
22
+ attr_accessor :label
23
+
24
+ # A classification for the method of purchase fulfillment.
25
+ # @return [ShippingType]
26
+ attr_accessor :type
27
+
28
+ # The currency and amount for a financial transaction, such as a balance or
29
+ # payment due.
30
+ # @return [Money]
31
+ attr_accessor :amount
32
+
33
+ # If the API request sets `selected = true`, it represents the shipping
34
+ # option that the payee or merchant expects to be pre-selected for the payer
35
+ # when they first view the `shipping.options` in the PayPal Checkout
36
+ # experience. As part of the response if a `shipping.option` contains
37
+ # `selected=true`, it represents the shipping option that the payer selected
38
+ # during the course of checkout with PayPal. Only one `shipping.option` can
39
+ # be set to `selected=true`.
40
+ # @return [TrueClass | FalseClass]
41
+ attr_accessor :selected
42
+
43
+ # A mapping from model property names to API property names.
44
+ def self.names
45
+ @_hash = {} if @_hash.nil?
46
+ @_hash['id'] = 'id'
47
+ @_hash['label'] = 'label'
48
+ @_hash['type'] = 'type'
49
+ @_hash['amount'] = 'amount'
50
+ @_hash['selected'] = 'selected'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ type
58
+ amount
59
+ ]
60
+ end
61
+
62
+ # An array for nullable fields
63
+ def self.nullables
64
+ []
65
+ end
66
+
67
+ def initialize(id:, label:, selected:, type: SKIP, amount: SKIP)
68
+ @id = id
69
+ @label = label
70
+ @type = type unless type == SKIP
71
+ @amount = amount unless amount == SKIP
72
+ @selected = selected
73
+ end
74
+
75
+ # Creates an instance of the object from a hash.
76
+ def self.from_hash(hash)
77
+ return nil unless hash
78
+
79
+ # Extract variables from the hash.
80
+ id = hash.key?('id') ? hash['id'] : nil
81
+ label = hash.key?('label') ? hash['label'] : nil
82
+ selected = hash.key?('selected') ? hash['selected'] : nil
83
+ type = hash.key?('type') ? hash['type'] : SKIP
84
+ amount = Money.from_hash(hash['amount']) if hash['amount']
85
+
86
+ # Create object from extracted values.
87
+ ShippingOption.new(id: id,
88
+ label: label,
89
+ selected: selected,
90
+ type: type,
91
+ amount: amount)
92
+ end
93
+
94
+ # Provides a human-readable string representation of the object.
95
+ def to_s
96
+ class_name = self.class.name.split('::').last
97
+ "<#{class_name} id: #{@id}, label: #{@label}, type: #{@type}, amount: #{@amount}, selected:"\
98
+ " #{@selected}>"
99
+ end
100
+
101
+ # Provides a debugging-friendly string with detailed object information.
102
+ def inspect
103
+ class_name = self.class.name.split('::').last
104
+ "<#{class_name} id: #{@id.inspect}, label: #{@label.inspect}, type: #{@type.inspect},"\
105
+ " amount: #{@amount.inspect}, selected: #{@selected.inspect}>"
106
+ end
107
+ end
108
+ end
@@ -1,52 +1,52 @@
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
- # A classification for the method of purchase fulfillment.
8
- class ShippingType
9
- SHIPPING_TYPE = [
10
- # The payer intends to receive the items at a specified address.
11
- SHIPPING = 'SHIPPING'.freeze,
12
-
13
- # DEPRECATED. To ensure that seller protection is correctly assigned,
14
- # please use 'PICKUP_IN_STORE' or 'PICKUP_FROM_PERSON' instead. Currently,
15
- # this field indicates that the payer intends to pick up the items at a
16
- # specified address (ie. a store address).
17
- PICKUP = 'PICKUP'.freeze,
18
-
19
- # The payer intends to pick up the item(s) from the payee's physical
20
- # store. Also termed as BOPIS, "Buy Online, Pick-up in Store". Seller
21
- # protection is provided with this option.
22
- PICKUP_IN_STORE = 'PICKUP_IN_STORE'.freeze,
23
-
24
- # The payer intends to pick up the item(s) from the payee in person. Also
25
- # termed as BOPIP, "Buy Online, Pick-up in Person". Seller protection is
26
- # not available, since the payer is receiving the item from the payee in
27
- # person, and can validate the item prior to payment.
28
- PICKUP_FROM_PERSON = 'PICKUP_FROM_PERSON'.freeze
29
- ].freeze
30
-
31
- def self.validate(value)
32
- return false if value.nil?
33
-
34
- true
35
- end
36
-
37
- def self.from_value(value, default_value = SHIPPING)
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
+ # A classification for the method of purchase fulfillment.
8
+ class ShippingType
9
+ SHIPPING_TYPE = [
10
+ # The payer intends to receive the items at a specified address.
11
+ SHIPPING = 'SHIPPING'.freeze,
12
+
13
+ # DEPRECATED. To ensure that seller protection is correctly assigned,
14
+ # please use 'PICKUP_IN_STORE' or 'PICKUP_FROM_PERSON' instead. Currently,
15
+ # this field indicates that the payer intends to pick up the items at a
16
+ # specified address (ie. a store address).
17
+ PICKUP = 'PICKUP'.freeze,
18
+
19
+ # The payer intends to pick up the item(s) from the payee's physical
20
+ # store. Also termed as BOPIS, "Buy Online, Pick-up in Store". Seller
21
+ # protection is provided with this option.
22
+ PICKUP_IN_STORE = 'PICKUP_IN_STORE'.freeze,
23
+
24
+ # The payer intends to pick up the item(s) from the payee in person. Also
25
+ # termed as BOPIP, "Buy Online, Pick-up in Person". Seller protection is
26
+ # not available, since the payer is receiving the item from the payee in
27
+ # person, and can validate the item prior to payment.
28
+ PICKUP_FROM_PERSON = 'PICKUP_FROM_PERSON'.freeze
29
+ ].freeze
30
+
31
+ def self.validate(value)
32
+ return false if value.nil?
33
+
34
+ true
35
+ end
36
+
37
+ def self.from_value(value, default_value = SHIPPING)
38
38
  return default_value if value.nil?
39
-
40
- str = value.to_s.strip
41
-
42
- case str.downcase
43
- when 'shipping' then SHIPPING
44
- when 'pickup' then PICKUP
45
- when 'pickup_in_store' then PICKUP_IN_STORE
46
- when 'pickup_from_person' then PICKUP_FROM_PERSON
39
+
40
+ str = value.to_s.strip
41
+
42
+ case str.downcase
43
+ when 'shipping' then SHIPPING
44
+ when 'pickup' then PICKUP
45
+ when 'pickup_in_store' then PICKUP_IN_STORE
46
+ when 'pickup_from_person' then PICKUP_FROM_PERSON
47
47
  else
48
48
  default_value
49
49
  end
50
- end
51
- end
52
- end
50
+ end
51
+ end
52
+ end
@@ -1,152 +1,152 @@
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
- # ShippingWithTrackingDetails Model.
8
- class ShippingWithTrackingDetails < BaseModel
9
- SKIP = Object.new
10
- private_constant :SKIP
11
-
12
- # An array of trackers for a transaction.
13
- # @return [Array[OrderTrackerResponse]]
14
- attr_accessor :trackers
15
-
16
- # The name of the party.
17
- # @return [ShippingName]
18
- attr_accessor :name
19
-
20
- # The internationalized email address. Note: Up to 64 characters are allowed
21
- # before and 255 characters are allowed after the @ sign. However, the
22
- # generally accepted maximum length for an email address is 254 characters.
23
- # The pattern verifies that an unquoted @ sign exists.
24
- # @return [String]
25
- attr_accessor :email_address
26
-
27
- # The phone number in its canonical international [E.164 numbering plan
28
- # format](https://www.itu.int/rec/T-REC-E.164/en).
29
- # @return [PhoneNumberWithOptionalCountryCode]
30
- attr_accessor :phone_number
31
-
32
- # A classification for the method of purchase fulfillment (e.g shipping,
33
- # in-store pickup, etc). Either `type` or `options` may be present, but not
34
- # both.
35
- # @return [FulfillmentType]
36
- attr_accessor :type
37
-
38
- # An array of shipping options that the payee or merchant offers to the
39
- # payer to ship or pick up their items.
40
- # @return [Array[ShippingOption]]
41
- attr_accessor :options
42
-
43
- # The portable international postal address. Maps to
44
- # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
45
- # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
46
- # the autocomplete
47
- # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
48
- # ntrols-the-autocomplete-attribute).
49
- # @return [Address]
50
- attr_accessor :address
51
-
52
- # A mapping from model property names to API property names.
53
- def self.names
54
- @_hash = {} if @_hash.nil?
55
- @_hash['trackers'] = 'trackers'
56
- @_hash['name'] = 'name'
57
- @_hash['email_address'] = 'email_address'
58
- @_hash['phone_number'] = 'phone_number'
59
- @_hash['type'] = 'type'
60
- @_hash['options'] = 'options'
61
- @_hash['address'] = 'address'
62
- @_hash
63
- end
64
-
65
- # An array for optional fields
66
- def self.optionals
67
- %w[
68
- trackers
69
- name
70
- email_address
71
- phone_number
72
- type
73
- options
74
- address
75
- ]
76
- end
77
-
78
- # An array for nullable fields
79
- def self.nullables
80
- []
81
- end
82
-
83
- def initialize(trackers: SKIP, name: SKIP, email_address: SKIP,
84
- phone_number: SKIP, type: SKIP, options: SKIP, address: SKIP)
85
- @trackers = trackers unless trackers == SKIP
86
- @name = name unless name == SKIP
87
- @email_address = email_address unless email_address == SKIP
88
- @phone_number = phone_number unless phone_number == SKIP
89
- @type = type unless type == SKIP
90
- @options = options unless options == SKIP
91
- @address = address unless address == SKIP
92
- end
93
-
94
- # Creates an instance of the object from a hash.
95
- def self.from_hash(hash)
96
- return nil unless hash
97
-
98
- # Extract variables from the hash.
99
- # Parameter is an array, so we need to iterate through it
100
- trackers = nil
101
- unless hash['trackers'].nil?
102
- trackers = []
103
- hash['trackers'].each do |structure|
104
- trackers << (OrderTrackerResponse.from_hash(structure) if structure)
105
- end
106
- end
107
-
108
- trackers = SKIP unless hash.key?('trackers')
109
- name = ShippingName.from_hash(hash['name']) if hash['name']
110
- email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
111
- phone_number = PhoneNumberWithOptionalCountryCode.from_hash(hash['phone_number']) if
112
- hash['phone_number']
113
- type = hash.key?('type') ? hash['type'] : SKIP
114
- # Parameter is an array, so we need to iterate through it
115
- options = nil
116
- unless hash['options'].nil?
117
- options = []
118
- hash['options'].each do |structure|
119
- options << (ShippingOption.from_hash(structure) if structure)
120
- end
121
- end
122
-
123
- options = SKIP unless hash.key?('options')
124
- address = Address.from_hash(hash['address']) if hash['address']
125
-
126
- # Create object from extracted values.
127
- ShippingWithTrackingDetails.new(trackers: trackers,
128
- name: name,
129
- email_address: email_address,
130
- phone_number: phone_number,
131
- type: type,
132
- options: options,
133
- address: address)
134
- end
135
-
136
- # Provides a human-readable string representation of the object.
137
- def to_s
138
- class_name = self.class.name.split('::').last
139
- "<#{class_name} trackers: #{@trackers}, name: #{@name}, email_address: #{@email_address},"\
140
- " phone_number: #{@phone_number}, type: #{@type}, options: #{@options}, address:"\
141
- " #{@address}>"
142
- end
143
-
144
- # Provides a debugging-friendly string with detailed object information.
145
- def inspect
146
- class_name = self.class.name.split('::').last
147
- "<#{class_name} trackers: #{@trackers.inspect}, name: #{@name.inspect}, email_address:"\
148
- " #{@email_address.inspect}, phone_number: #{@phone_number.inspect}, type: #{@type.inspect},"\
149
- " options: #{@options.inspect}, address: #{@address.inspect}>"
150
- end
151
- end
152
- 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
+ # ShippingWithTrackingDetails Model.
8
+ class ShippingWithTrackingDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An array of trackers for a transaction.
13
+ # @return [Array[OrderTrackerResponse]]
14
+ attr_accessor :trackers
15
+
16
+ # The name of the party.
17
+ # @return [ShippingName]
18
+ attr_accessor :name
19
+
20
+ # The internationalized email address. Note: Up to 64 characters are allowed
21
+ # before and 255 characters are allowed after the @ sign. However, the
22
+ # generally accepted maximum length for an email address is 254 characters.
23
+ # The pattern verifies that an unquoted @ sign exists.
24
+ # @return [String]
25
+ attr_accessor :email_address
26
+
27
+ # The phone number in its canonical international [E.164 numbering plan
28
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
29
+ # @return [PhoneNumberWithOptionalCountryCode]
30
+ attr_accessor :phone_number
31
+
32
+ # A classification for the method of purchase fulfillment (e.g shipping,
33
+ # in-store pickup, etc). Either `type` or `options` may be present, but not
34
+ # both.
35
+ # @return [FulfillmentType]
36
+ attr_accessor :type
37
+
38
+ # An array of shipping options that the payee or merchant offers to the
39
+ # payer to ship or pick up their items.
40
+ # @return [Array[ShippingOption]]
41
+ attr_accessor :options
42
+
43
+ # The portable international postal address. Maps to
44
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
45
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
46
+ # the autocomplete
47
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
48
+ # ntrols-the-autocomplete-attribute).
49
+ # @return [Address]
50
+ attr_accessor :address
51
+
52
+ # A mapping from model property names to API property names.
53
+ def self.names
54
+ @_hash = {} if @_hash.nil?
55
+ @_hash['trackers'] = 'trackers'
56
+ @_hash['name'] = 'name'
57
+ @_hash['email_address'] = 'email_address'
58
+ @_hash['phone_number'] = 'phone_number'
59
+ @_hash['type'] = 'type'
60
+ @_hash['options'] = 'options'
61
+ @_hash['address'] = 'address'
62
+ @_hash
63
+ end
64
+
65
+ # An array for optional fields
66
+ def self.optionals
67
+ %w[
68
+ trackers
69
+ name
70
+ email_address
71
+ phone_number
72
+ type
73
+ options
74
+ address
75
+ ]
76
+ end
77
+
78
+ # An array for nullable fields
79
+ def self.nullables
80
+ []
81
+ end
82
+
83
+ def initialize(trackers: SKIP, name: SKIP, email_address: SKIP,
84
+ phone_number: SKIP, type: SKIP, options: SKIP, address: SKIP)
85
+ @trackers = trackers unless trackers == SKIP
86
+ @name = name unless name == SKIP
87
+ @email_address = email_address unless email_address == SKIP
88
+ @phone_number = phone_number unless phone_number == SKIP
89
+ @type = type unless type == SKIP
90
+ @options = options unless options == SKIP
91
+ @address = address unless address == SKIP
92
+ end
93
+
94
+ # Creates an instance of the object from a hash.
95
+ def self.from_hash(hash)
96
+ return nil unless hash
97
+
98
+ # Extract variables from the hash.
99
+ # Parameter is an array, so we need to iterate through it
100
+ trackers = nil
101
+ unless hash['trackers'].nil?
102
+ trackers = []
103
+ hash['trackers'].each do |structure|
104
+ trackers << (OrderTrackerResponse.from_hash(structure) if structure)
105
+ end
106
+ end
107
+
108
+ trackers = SKIP unless hash.key?('trackers')
109
+ name = ShippingName.from_hash(hash['name']) if hash['name']
110
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
111
+ phone_number = PhoneNumberWithOptionalCountryCode.from_hash(hash['phone_number']) if
112
+ hash['phone_number']
113
+ type = hash.key?('type') ? hash['type'] : SKIP
114
+ # Parameter is an array, so we need to iterate through it
115
+ options = nil
116
+ unless hash['options'].nil?
117
+ options = []
118
+ hash['options'].each do |structure|
119
+ options << (ShippingOption.from_hash(structure) if structure)
120
+ end
121
+ end
122
+
123
+ options = SKIP unless hash.key?('options')
124
+ address = Address.from_hash(hash['address']) if hash['address']
125
+
126
+ # Create object from extracted values.
127
+ ShippingWithTrackingDetails.new(trackers: trackers,
128
+ name: name,
129
+ email_address: email_address,
130
+ phone_number: phone_number,
131
+ type: type,
132
+ options: options,
133
+ address: address)
134
+ end
135
+
136
+ # Provides a human-readable string representation of the object.
137
+ def to_s
138
+ class_name = self.class.name.split('::').last
139
+ "<#{class_name} trackers: #{@trackers}, name: #{@name}, email_address: #{@email_address},"\
140
+ " phone_number: #{@phone_number}, type: #{@type}, options: #{@options}, address:"\
141
+ " #{@address}>"
142
+ end
143
+
144
+ # Provides a debugging-friendly string with detailed object information.
145
+ def inspect
146
+ class_name = self.class.name.split('::').last
147
+ "<#{class_name} trackers: #{@trackers.inspect}, name: #{@name.inspect}, email_address:"\
148
+ " #{@email_address.inspect}, phone_number: #{@phone_number.inspect}, type: #{@type.inspect},"\
149
+ " options: #{@options.inspect}, address: #{@address.inspect}>"
150
+ end
151
+ end
152
+ end