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,205 +1,241 @@
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 subscription details.
8
- class Subscription < BaseModel
9
- SKIP = Object.new
10
- private_constant :SKIP
11
-
12
- # The PayPal-generated ID for the subscription.
13
- # @return [String]
14
- attr_accessor :id
15
-
16
- # The ID of the plan.
17
- # @return [String]
18
- attr_accessor :plan_id
19
-
20
- # The date and time, in [Internet date and time
21
- # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
22
- # required while fractional seconds are optional. Note: The regular
23
- # expression provides guidance but does not reject all invalid dates.
24
- # @return [String]
25
- attr_accessor :start_time
26
-
27
- # The quantity of the product in the subscription.
28
- # @return [String]
29
- attr_accessor :quantity
30
-
31
- # The currency and amount for a financial transaction, such as a balance or
32
- # payment due.
33
- # @return [Money]
34
- attr_accessor :shipping_amount
35
-
36
- # The subscriber response information.
37
- # @return [Subscriber]
38
- attr_accessor :subscriber
39
-
40
- # The billing details for the subscription. If the subscription was or is
41
- # active, these fields are populated.
42
- # @return [SubscriptionBillingInformation]
43
- attr_accessor :billing_info
44
-
45
- # The date and time, in [Internet date and time
46
- # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
47
- # required while fractional seconds are optional. Note: The regular
48
- # expression provides guidance but does not reject all invalid dates.
49
- # @return [String]
50
- attr_accessor :create_time
51
-
52
- # The date and time, in [Internet date and time
53
- # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
54
- # required while fractional seconds are optional. Note: The regular
55
- # expression provides guidance but does not reject all invalid dates.
56
- # @return [String]
57
- attr_accessor :update_time
58
-
59
- # The custom id for the subscription. Can be invoice id.
60
- # @return [String]
61
- attr_accessor :custom_id
62
-
63
- # Indicates whether the subscription has overridden any plan attributes.
64
- # @return [TrueClass | FalseClass]
65
- attr_accessor :plan_overridden
66
-
67
- # The plan details.
68
- # @return [PlanDetails]
69
- attr_accessor :plan
70
-
71
- # An array of request-related [HATEOAS
72
- # links](/docs/api/reference/api-responses/#hateoas-links).
73
- # @return [Array[LinkDescription]]
74
- attr_accessor :links
75
-
76
- # A mapping from model property names to API property names.
77
- def self.names
78
- @_hash = {} if @_hash.nil?
79
- @_hash['id'] = 'id'
80
- @_hash['plan_id'] = 'plan_id'
81
- @_hash['start_time'] = 'start_time'
82
- @_hash['quantity'] = 'quantity'
83
- @_hash['shipping_amount'] = 'shipping_amount'
84
- @_hash['subscriber'] = 'subscriber'
85
- @_hash['billing_info'] = 'billing_info'
86
- @_hash['create_time'] = 'create_time'
87
- @_hash['update_time'] = 'update_time'
88
- @_hash['custom_id'] = 'custom_id'
89
- @_hash['plan_overridden'] = 'plan_overridden'
90
- @_hash['plan'] = 'plan'
91
- @_hash['links'] = 'links'
92
- @_hash
93
- end
94
-
95
- # An array for optional fields
96
- def self.optionals
97
- %w[
98
- id
99
- plan_id
100
- start_time
101
- quantity
102
- shipping_amount
103
- subscriber
104
- billing_info
105
- create_time
106
- update_time
107
- custom_id
108
- plan_overridden
109
- plan
110
- links
111
- ]
112
- end
113
-
114
- # An array for nullable fields
115
- def self.nullables
116
- []
117
- end
118
-
119
- def initialize(id: SKIP, plan_id: SKIP, start_time: SKIP, quantity: SKIP,
120
- shipping_amount: SKIP, subscriber: SKIP, billing_info: SKIP,
121
- create_time: SKIP, update_time: SKIP, custom_id: SKIP,
122
- plan_overridden: SKIP, plan: SKIP, links: SKIP)
123
- @id = id unless id == SKIP
124
- @plan_id = plan_id unless plan_id == SKIP
125
- @start_time = start_time unless start_time == SKIP
126
- @quantity = quantity unless quantity == SKIP
127
- @shipping_amount = shipping_amount unless shipping_amount == SKIP
128
- @subscriber = subscriber unless subscriber == SKIP
129
- @billing_info = billing_info unless billing_info == SKIP
130
- @create_time = create_time unless create_time == SKIP
131
- @update_time = update_time unless update_time == SKIP
132
- @custom_id = custom_id unless custom_id == SKIP
133
- @plan_overridden = plan_overridden unless plan_overridden == SKIP
134
- @plan = plan unless plan == SKIP
135
- @links = links unless links == SKIP
136
- end
137
-
138
- # Creates an instance of the object from a hash.
139
- def self.from_hash(hash)
140
- return nil unless hash
141
-
142
- # Extract variables from the hash.
143
- id = hash.key?('id') ? hash['id'] : SKIP
144
- plan_id = hash.key?('plan_id') ? hash['plan_id'] : SKIP
145
- start_time = hash.key?('start_time') ? hash['start_time'] : SKIP
146
- quantity = hash.key?('quantity') ? hash['quantity'] : SKIP
147
- shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
148
- subscriber = Subscriber.from_hash(hash['subscriber']) if hash['subscriber']
149
- billing_info = SubscriptionBillingInformation.from_hash(hash['billing_info']) if
150
- hash['billing_info']
151
- create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
152
- update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
153
- custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
154
- plan_overridden =
155
- hash.key?('plan_overridden') ? hash['plan_overridden'] : SKIP
156
- plan = PlanDetails.from_hash(hash['plan']) if hash['plan']
157
- # Parameter is an array, so we need to iterate through it
158
- links = nil
159
- unless hash['links'].nil?
160
- links = []
161
- hash['links'].each do |structure|
162
- links << (LinkDescription.from_hash(structure) if structure)
163
- end
164
- end
165
-
166
- links = SKIP unless hash.key?('links')
167
-
168
- # Create object from extracted values.
169
- Subscription.new(id: id,
170
- plan_id: plan_id,
171
- start_time: start_time,
172
- quantity: quantity,
173
- shipping_amount: shipping_amount,
174
- subscriber: subscriber,
175
- billing_info: billing_info,
176
- create_time: create_time,
177
- update_time: update_time,
178
- custom_id: custom_id,
179
- plan_overridden: plan_overridden,
180
- plan: plan,
181
- links: links)
182
- end
183
-
184
- # Provides a human-readable string representation of the object.
185
- def to_s
186
- class_name = self.class.name.split('::').last
187
- "<#{class_name} id: #{@id}, plan_id: #{@plan_id}, start_time: #{@start_time}, quantity:"\
188
- " #{@quantity}, shipping_amount: #{@shipping_amount}, subscriber: #{@subscriber},"\
189
- " billing_info: #{@billing_info}, create_time: #{@create_time}, update_time:"\
190
- " #{@update_time}, custom_id: #{@custom_id}, plan_overridden: #{@plan_overridden}, plan:"\
191
- " #{@plan}, links: #{@links}>"
192
- end
193
-
194
- # Provides a debugging-friendly string with detailed object information.
195
- def inspect
196
- class_name = self.class.name.split('::').last
197
- "<#{class_name} id: #{@id.inspect}, plan_id: #{@plan_id.inspect}, start_time:"\
198
- " #{@start_time.inspect}, quantity: #{@quantity.inspect}, shipping_amount:"\
199
- " #{@shipping_amount.inspect}, subscriber: #{@subscriber.inspect}, billing_info:"\
200
- " #{@billing_info.inspect}, create_time: #{@create_time.inspect}, update_time:"\
201
- " #{@update_time.inspect}, custom_id: #{@custom_id.inspect}, plan_overridden:"\
202
- " #{@plan_overridden.inspect}, plan: #{@plan.inspect}, links: #{@links.inspect}>"
203
- end
204
- end
205
- 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 subscription details.
8
+ class Subscription < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The PayPal-generated ID for the subscription.
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # The ID of the plan.
17
+ # @return [String]
18
+ attr_accessor :plan_id
19
+
20
+ # The date and time, in [Internet date and time
21
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
22
+ # required while fractional seconds are optional. Note: The regular
23
+ # expression provides guidance but does not reject all invalid dates.
24
+ # @return [String]
25
+ attr_accessor :start_time
26
+
27
+ # The quantity of the product in the subscription.
28
+ # @return [String]
29
+ attr_accessor :quantity
30
+
31
+ # The currency and amount for a financial transaction, such as a balance or
32
+ # payment due.
33
+ # @return [Money]
34
+ attr_accessor :shipping_amount
35
+
36
+ # The subscriber response information.
37
+ # @return [Subscriber]
38
+ attr_accessor :subscriber
39
+
40
+ # The billing details for the subscription. If the subscription was or is
41
+ # active, these fields are populated.
42
+ # @return [SubscriptionBillingInformation]
43
+ attr_accessor :billing_info
44
+
45
+ # The date and time, in [Internet date and time
46
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
47
+ # required while fractional seconds are optional. Note: The regular
48
+ # expression provides guidance but does not reject all invalid dates.
49
+ # @return [String]
50
+ attr_accessor :create_time
51
+
52
+ # The date and time, in [Internet date and time
53
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
54
+ # required while fractional seconds are optional. Note: The regular
55
+ # expression provides guidance but does not reject all invalid dates.
56
+ # @return [String]
57
+ attr_accessor :update_time
58
+
59
+ # The custom id for the subscription. Can be invoice id.
60
+ # @return [String]
61
+ attr_accessor :custom_id
62
+
63
+ # Indicates whether the subscription has overridden any plan attributes.
64
+ # @return [TrueClass | FalseClass]
65
+ attr_accessor :plan_overridden
66
+
67
+ # The plan details.
68
+ # @return [PlanDetails]
69
+ attr_accessor :plan
70
+
71
+ # An array of request-related [HATEOAS
72
+ # links](/docs/api/reference/api-responses/#hateoas-links).
73
+ # @return [Array[LinkDescription]]
74
+ attr_accessor :links
75
+
76
+ # The status of the subscription.
77
+ # @return [SubscriptionStatus]
78
+ attr_accessor :status
79
+
80
+ # The reason or notes for the status of the subscription.
81
+ # @return [String]
82
+ attr_accessor :status_change_note
83
+
84
+ # The date and time, in [Internet date and time
85
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
86
+ # required while fractional seconds are optional. Note: The regular
87
+ # expression provides guidance but does not reject all invalid dates.
88
+ # @return [String]
89
+ attr_accessor :status_update_time
90
+
91
+ # A mapping from model property names to API property names.
92
+ def self.names
93
+ @_hash = {} if @_hash.nil?
94
+ @_hash['id'] = 'id'
95
+ @_hash['plan_id'] = 'plan_id'
96
+ @_hash['start_time'] = 'start_time'
97
+ @_hash['quantity'] = 'quantity'
98
+ @_hash['shipping_amount'] = 'shipping_amount'
99
+ @_hash['subscriber'] = 'subscriber'
100
+ @_hash['billing_info'] = 'billing_info'
101
+ @_hash['create_time'] = 'create_time'
102
+ @_hash['update_time'] = 'update_time'
103
+ @_hash['custom_id'] = 'custom_id'
104
+ @_hash['plan_overridden'] = 'plan_overridden'
105
+ @_hash['plan'] = 'plan'
106
+ @_hash['links'] = 'links'
107
+ @_hash['status'] = 'status'
108
+ @_hash['status_change_note'] = 'status_change_note'
109
+ @_hash['status_update_time'] = 'status_update_time'
110
+ @_hash
111
+ end
112
+
113
+ # An array for optional fields
114
+ def self.optionals
115
+ %w[
116
+ id
117
+ plan_id
118
+ start_time
119
+ quantity
120
+ shipping_amount
121
+ subscriber
122
+ billing_info
123
+ create_time
124
+ update_time
125
+ custom_id
126
+ plan_overridden
127
+ plan
128
+ links
129
+ status
130
+ status_change_note
131
+ status_update_time
132
+ ]
133
+ end
134
+
135
+ # An array for nullable fields
136
+ def self.nullables
137
+ []
138
+ end
139
+
140
+ def initialize(id: SKIP, plan_id: SKIP, start_time: SKIP, quantity: SKIP,
141
+ shipping_amount: SKIP, subscriber: SKIP, billing_info: SKIP,
142
+ create_time: SKIP, update_time: SKIP, custom_id: SKIP,
143
+ plan_overridden: SKIP, plan: SKIP, links: SKIP, status: SKIP,
144
+ status_change_note: SKIP, status_update_time: SKIP)
145
+ @id = id unless id == SKIP
146
+ @plan_id = plan_id unless plan_id == SKIP
147
+ @start_time = start_time unless start_time == SKIP
148
+ @quantity = quantity unless quantity == SKIP
149
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
150
+ @subscriber = subscriber unless subscriber == SKIP
151
+ @billing_info = billing_info unless billing_info == SKIP
152
+ @create_time = create_time unless create_time == SKIP
153
+ @update_time = update_time unless update_time == SKIP
154
+ @custom_id = custom_id unless custom_id == SKIP
155
+ @plan_overridden = plan_overridden unless plan_overridden == SKIP
156
+ @plan = plan unless plan == SKIP
157
+ @links = links unless links == SKIP
158
+ @status = status unless status == SKIP
159
+ @status_change_note = status_change_note unless status_change_note == SKIP
160
+ @status_update_time = status_update_time unless status_update_time == SKIP
161
+ end
162
+
163
+ # Creates an instance of the object from a hash.
164
+ def self.from_hash(hash)
165
+ return nil unless hash
166
+
167
+ # Extract variables from the hash.
168
+ id = hash.key?('id') ? hash['id'] : SKIP
169
+ plan_id = hash.key?('plan_id') ? hash['plan_id'] : SKIP
170
+ start_time = hash.key?('start_time') ? hash['start_time'] : SKIP
171
+ quantity = hash.key?('quantity') ? hash['quantity'] : SKIP
172
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
173
+ subscriber = Subscriber.from_hash(hash['subscriber']) if hash['subscriber']
174
+ billing_info = SubscriptionBillingInformation.from_hash(hash['billing_info']) if
175
+ hash['billing_info']
176
+ create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
177
+ update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
178
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
179
+ plan_overridden =
180
+ hash.key?('plan_overridden') ? hash['plan_overridden'] : SKIP
181
+ plan = PlanDetails.from_hash(hash['plan']) if hash['plan']
182
+ # Parameter is an array, so we need to iterate through it
183
+ links = nil
184
+ unless hash['links'].nil?
185
+ links = []
186
+ hash['links'].each do |structure|
187
+ links << (LinkDescription.from_hash(structure) if structure)
188
+ end
189
+ end
190
+
191
+ links = SKIP unless hash.key?('links')
192
+ status = hash.key?('status') ? hash['status'] : SKIP
193
+ status_change_note =
194
+ hash.key?('status_change_note') ? hash['status_change_note'] : SKIP
195
+ status_update_time =
196
+ hash.key?('status_update_time') ? hash['status_update_time'] : SKIP
197
+
198
+ # Create object from extracted values.
199
+ Subscription.new(id: id,
200
+ plan_id: plan_id,
201
+ start_time: start_time,
202
+ quantity: quantity,
203
+ shipping_amount: shipping_amount,
204
+ subscriber: subscriber,
205
+ billing_info: billing_info,
206
+ create_time: create_time,
207
+ update_time: update_time,
208
+ custom_id: custom_id,
209
+ plan_overridden: plan_overridden,
210
+ plan: plan,
211
+ links: links,
212
+ status: status,
213
+ status_change_note: status_change_note,
214
+ status_update_time: status_update_time)
215
+ end
216
+
217
+ # Provides a human-readable string representation of the object.
218
+ def to_s
219
+ class_name = self.class.name.split('::').last
220
+ "<#{class_name} id: #{@id}, plan_id: #{@plan_id}, start_time: #{@start_time}, quantity:"\
221
+ " #{@quantity}, shipping_amount: #{@shipping_amount}, subscriber: #{@subscriber},"\
222
+ " billing_info: #{@billing_info}, create_time: #{@create_time}, update_time:"\
223
+ " #{@update_time}, custom_id: #{@custom_id}, plan_overridden: #{@plan_overridden}, plan:"\
224
+ " #{@plan}, links: #{@links}, status: #{@status}, status_change_note:"\
225
+ " #{@status_change_note}, status_update_time: #{@status_update_time}>"
226
+ end
227
+
228
+ # Provides a debugging-friendly string with detailed object information.
229
+ def inspect
230
+ class_name = self.class.name.split('::').last
231
+ "<#{class_name} id: #{@id.inspect}, plan_id: #{@plan_id.inspect}, start_time:"\
232
+ " #{@start_time.inspect}, quantity: #{@quantity.inspect}, shipping_amount:"\
233
+ " #{@shipping_amount.inspect}, subscriber: #{@subscriber.inspect}, billing_info:"\
234
+ " #{@billing_info.inspect}, create_time: #{@create_time.inspect}, update_time:"\
235
+ " #{@update_time.inspect}, custom_id: #{@custom_id.inspect}, plan_overridden:"\
236
+ " #{@plan_overridden.inspect}, plan: #{@plan.inspect}, links: #{@links.inspect}, status:"\
237
+ " #{@status.inspect}, status_change_note: #{@status_change_note.inspect},"\
238
+ " status_update_time: #{@status_update_time.inspect}>"
239
+ end
240
+ end
241
+ end