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,287 +1,287 @@
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 item details.
8
- class ItemDetails < BaseModel
9
- SKIP = Object.new
10
- private_constant :SKIP
11
-
12
- # An item code that identifies a merchant's goods or service.
13
- # @return [String]
14
- attr_accessor :item_code
15
-
16
- # The item name.
17
- # @return [String]
18
- attr_accessor :item_name
19
-
20
- # The item description.
21
- # @return [String]
22
- attr_accessor :item_description
23
-
24
- # The item options. Describes option choices on the purchase of the item in
25
- # some detail.
26
- # @return [String]
27
- attr_accessor :item_options
28
-
29
- # The number of purchased units of goods or a service.
30
- # @return [String]
31
- attr_accessor :item_quantity
32
-
33
- # The currency and amount for a financial transaction, such as a balance or
34
- # payment due.
35
- # @return [Money]
36
- attr_accessor :item_unit_price
37
-
38
- # The currency and amount for a financial transaction, such as a balance or
39
- # payment due.
40
- # @return [Money]
41
- attr_accessor :item_amount
42
-
43
- # The currency and amount for a financial transaction, such as a balance or
44
- # payment due.
45
- # @return [Money]
46
- attr_accessor :discount_amount
47
-
48
- # The currency and amount for a financial transaction, such as a balance or
49
- # payment due.
50
- # @return [Money]
51
- attr_accessor :adjustment_amount
52
-
53
- # The currency and amount for a financial transaction, such as a balance or
54
- # payment due.
55
- # @return [Money]
56
- attr_accessor :gift_wrap_amount
57
-
58
- # The percentage, as a fixed-point, signed decimal number. For example,
59
- # define a 19.99% interest rate as `19.99`.
60
- # @return [String]
61
- attr_accessor :tax_percentage
62
-
63
- # An array of tax amounts levied by a government on the purchase of goods or
64
- # services.
65
- # @return [Array[TaxAmount]]
66
- attr_accessor :tax_amounts
67
-
68
- # The currency and amount for a financial transaction, such as a balance or
69
- # payment due.
70
- # @return [Money]
71
- attr_accessor :basic_shipping_amount
72
-
73
- # The currency and amount for a financial transaction, such as a balance or
74
- # payment due.
75
- # @return [Money]
76
- attr_accessor :extra_shipping_amount
77
-
78
- # The currency and amount for a financial transaction, such as a balance or
79
- # payment due.
80
- # @return [Money]
81
- attr_accessor :handling_amount
82
-
83
- # The currency and amount for a financial transaction, such as a balance or
84
- # payment due.
85
- # @return [Money]
86
- attr_accessor :insurance_amount
87
-
88
- # The currency and amount for a financial transaction, such as a balance or
89
- # payment due.
90
- # @return [Money]
91
- attr_accessor :total_item_amount
92
-
93
- # The invoice number. An alphanumeric string that identifies a billing for a
94
- # merchant.
95
- # @return [String]
96
- attr_accessor :invoice_number
97
-
98
- # An array of checkout options. Each option has a name and value.
99
- # @return [Array[CheckoutOption]]
100
- attr_accessor :checkout_options
101
-
102
- # A mapping from model property names to API property names.
103
- def self.names
104
- @_hash = {} if @_hash.nil?
105
- @_hash['item_code'] = 'item_code'
106
- @_hash['item_name'] = 'item_name'
107
- @_hash['item_description'] = 'item_description'
108
- @_hash['item_options'] = 'item_options'
109
- @_hash['item_quantity'] = 'item_quantity'
110
- @_hash['item_unit_price'] = 'item_unit_price'
111
- @_hash['item_amount'] = 'item_amount'
112
- @_hash['discount_amount'] = 'discount_amount'
113
- @_hash['adjustment_amount'] = 'adjustment_amount'
114
- @_hash['gift_wrap_amount'] = 'gift_wrap_amount'
115
- @_hash['tax_percentage'] = 'tax_percentage'
116
- @_hash['tax_amounts'] = 'tax_amounts'
117
- @_hash['basic_shipping_amount'] = 'basic_shipping_amount'
118
- @_hash['extra_shipping_amount'] = 'extra_shipping_amount'
119
- @_hash['handling_amount'] = 'handling_amount'
120
- @_hash['insurance_amount'] = 'insurance_amount'
121
- @_hash['total_item_amount'] = 'total_item_amount'
122
- @_hash['invoice_number'] = 'invoice_number'
123
- @_hash['checkout_options'] = 'checkout_options'
124
- @_hash
125
- end
126
-
127
- # An array for optional fields
128
- def self.optionals
129
- %w[
130
- item_code
131
- item_name
132
- item_description
133
- item_options
134
- item_quantity
135
- item_unit_price
136
- item_amount
137
- discount_amount
138
- adjustment_amount
139
- gift_wrap_amount
140
- tax_percentage
141
- tax_amounts
142
- basic_shipping_amount
143
- extra_shipping_amount
144
- handling_amount
145
- insurance_amount
146
- total_item_amount
147
- invoice_number
148
- checkout_options
149
- ]
150
- end
151
-
152
- # An array for nullable fields
153
- def self.nullables
154
- []
155
- end
156
-
157
- def initialize(item_code: SKIP, item_name: SKIP, item_description: SKIP,
158
- item_options: SKIP, item_quantity: SKIP,
159
- item_unit_price: SKIP, item_amount: SKIP,
160
- discount_amount: SKIP, adjustment_amount: SKIP,
161
- gift_wrap_amount: SKIP, tax_percentage: SKIP,
162
- tax_amounts: SKIP, basic_shipping_amount: SKIP,
163
- extra_shipping_amount: SKIP, handling_amount: SKIP,
164
- insurance_amount: SKIP, total_item_amount: SKIP,
165
- invoice_number: SKIP, checkout_options: SKIP)
166
- @item_code = item_code unless item_code == SKIP
167
- @item_name = item_name unless item_name == SKIP
168
- @item_description = item_description unless item_description == SKIP
169
- @item_options = item_options unless item_options == SKIP
170
- @item_quantity = item_quantity unless item_quantity == SKIP
171
- @item_unit_price = item_unit_price unless item_unit_price == SKIP
172
- @item_amount = item_amount unless item_amount == SKIP
173
- @discount_amount = discount_amount unless discount_amount == SKIP
174
- @adjustment_amount = adjustment_amount unless adjustment_amount == SKIP
175
- @gift_wrap_amount = gift_wrap_amount unless gift_wrap_amount == SKIP
176
- @tax_percentage = tax_percentage unless tax_percentage == SKIP
177
- @tax_amounts = tax_amounts unless tax_amounts == SKIP
178
- @basic_shipping_amount = basic_shipping_amount unless basic_shipping_amount == SKIP
179
- @extra_shipping_amount = extra_shipping_amount unless extra_shipping_amount == SKIP
180
- @handling_amount = handling_amount unless handling_amount == SKIP
181
- @insurance_amount = insurance_amount unless insurance_amount == SKIP
182
- @total_item_amount = total_item_amount unless total_item_amount == SKIP
183
- @invoice_number = invoice_number unless invoice_number == SKIP
184
- @checkout_options = checkout_options unless checkout_options == SKIP
185
- end
186
-
187
- # Creates an instance of the object from a hash.
188
- def self.from_hash(hash)
189
- return nil unless hash
190
-
191
- # Extract variables from the hash.
192
- item_code = hash.key?('item_code') ? hash['item_code'] : SKIP
193
- item_name = hash.key?('item_name') ? hash['item_name'] : SKIP
194
- item_description =
195
- hash.key?('item_description') ? hash['item_description'] : SKIP
196
- item_options = hash.key?('item_options') ? hash['item_options'] : SKIP
197
- item_quantity = hash.key?('item_quantity') ? hash['item_quantity'] : SKIP
198
- item_unit_price = Money.from_hash(hash['item_unit_price']) if hash['item_unit_price']
199
- item_amount = Money.from_hash(hash['item_amount']) if hash['item_amount']
200
- discount_amount = Money.from_hash(hash['discount_amount']) if hash['discount_amount']
201
- adjustment_amount = Money.from_hash(hash['adjustment_amount']) if hash['adjustment_amount']
202
- gift_wrap_amount = Money.from_hash(hash['gift_wrap_amount']) if hash['gift_wrap_amount']
203
- tax_percentage =
204
- hash.key?('tax_percentage') ? hash['tax_percentage'] : SKIP
205
- # Parameter is an array, so we need to iterate through it
206
- tax_amounts = nil
207
- unless hash['tax_amounts'].nil?
208
- tax_amounts = []
209
- hash['tax_amounts'].each do |structure|
210
- tax_amounts << (TaxAmount.from_hash(structure) if structure)
211
- end
212
- end
213
-
214
- tax_amounts = SKIP unless hash.key?('tax_amounts')
215
- basic_shipping_amount = Money.from_hash(hash['basic_shipping_amount']) if
216
- hash['basic_shipping_amount']
217
- extra_shipping_amount = Money.from_hash(hash['extra_shipping_amount']) if
218
- hash['extra_shipping_amount']
219
- handling_amount = Money.from_hash(hash['handling_amount']) if hash['handling_amount']
220
- insurance_amount = Money.from_hash(hash['insurance_amount']) if hash['insurance_amount']
221
- total_item_amount = Money.from_hash(hash['total_item_amount']) if hash['total_item_amount']
222
- invoice_number =
223
- hash.key?('invoice_number') ? hash['invoice_number'] : SKIP
224
- # Parameter is an array, so we need to iterate through it
225
- checkout_options = nil
226
- unless hash['checkout_options'].nil?
227
- checkout_options = []
228
- hash['checkout_options'].each do |structure|
229
- checkout_options << (CheckoutOption.from_hash(structure) if structure)
230
- end
231
- end
232
-
233
- checkout_options = SKIP unless hash.key?('checkout_options')
234
-
235
- # Create object from extracted values.
236
- ItemDetails.new(item_code: item_code,
237
- item_name: item_name,
238
- item_description: item_description,
239
- item_options: item_options,
240
- item_quantity: item_quantity,
241
- item_unit_price: item_unit_price,
242
- item_amount: item_amount,
243
- discount_amount: discount_amount,
244
- adjustment_amount: adjustment_amount,
245
- gift_wrap_amount: gift_wrap_amount,
246
- tax_percentage: tax_percentage,
247
- tax_amounts: tax_amounts,
248
- basic_shipping_amount: basic_shipping_amount,
249
- extra_shipping_amount: extra_shipping_amount,
250
- handling_amount: handling_amount,
251
- insurance_amount: insurance_amount,
252
- total_item_amount: total_item_amount,
253
- invoice_number: invoice_number,
254
- checkout_options: checkout_options)
255
- end
256
-
257
- # Provides a human-readable string representation of the object.
258
- def to_s
259
- class_name = self.class.name.split('::').last
260
- "<#{class_name} item_code: #{@item_code}, item_name: #{@item_name}, item_description:"\
261
- " #{@item_description}, item_options: #{@item_options}, item_quantity: #{@item_quantity},"\
262
- " item_unit_price: #{@item_unit_price}, item_amount: #{@item_amount}, discount_amount:"\
263
- " #{@discount_amount}, adjustment_amount: #{@adjustment_amount}, gift_wrap_amount:"\
264
- " #{@gift_wrap_amount}, tax_percentage: #{@tax_percentage}, tax_amounts: #{@tax_amounts},"\
265
- " basic_shipping_amount: #{@basic_shipping_amount}, extra_shipping_amount:"\
266
- " #{@extra_shipping_amount}, handling_amount: #{@handling_amount}, insurance_amount:"\
267
- " #{@insurance_amount}, total_item_amount: #{@total_item_amount}, invoice_number:"\
268
- " #{@invoice_number}, checkout_options: #{@checkout_options}>"
269
- end
270
-
271
- # Provides a debugging-friendly string with detailed object information.
272
- def inspect
273
- class_name = self.class.name.split('::').last
274
- "<#{class_name} item_code: #{@item_code.inspect}, item_name: #{@item_name.inspect},"\
275
- " item_description: #{@item_description.inspect}, item_options: #{@item_options.inspect},"\
276
- " item_quantity: #{@item_quantity.inspect}, item_unit_price: #{@item_unit_price.inspect},"\
277
- " item_amount: #{@item_amount.inspect}, discount_amount: #{@discount_amount.inspect},"\
278
- " adjustment_amount: #{@adjustment_amount.inspect}, gift_wrap_amount:"\
279
- " #{@gift_wrap_amount.inspect}, tax_percentage: #{@tax_percentage.inspect}, tax_amounts:"\
280
- " #{@tax_amounts.inspect}, basic_shipping_amount: #{@basic_shipping_amount.inspect},"\
281
- " extra_shipping_amount: #{@extra_shipping_amount.inspect}, handling_amount:"\
282
- " #{@handling_amount.inspect}, insurance_amount: #{@insurance_amount.inspect},"\
283
- " total_item_amount: #{@total_item_amount.inspect}, invoice_number:"\
284
- " #{@invoice_number.inspect}, checkout_options: #{@checkout_options.inspect}>"
285
- end
286
- end
287
- 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 item details.
8
+ class ItemDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An item code that identifies a merchant's goods or service.
13
+ # @return [String]
14
+ attr_accessor :item_code
15
+
16
+ # The item name.
17
+ # @return [String]
18
+ attr_accessor :item_name
19
+
20
+ # The item description.
21
+ # @return [String]
22
+ attr_accessor :item_description
23
+
24
+ # The item options. Describes option choices on the purchase of the item in
25
+ # some detail.
26
+ # @return [String]
27
+ attr_accessor :item_options
28
+
29
+ # The number of purchased units of goods or a service.
30
+ # @return [String]
31
+ attr_accessor :item_quantity
32
+
33
+ # The currency and amount for a financial transaction, such as a balance or
34
+ # payment due.
35
+ # @return [Money]
36
+ attr_accessor :item_unit_price
37
+
38
+ # The currency and amount for a financial transaction, such as a balance or
39
+ # payment due.
40
+ # @return [Money]
41
+ attr_accessor :item_amount
42
+
43
+ # The currency and amount for a financial transaction, such as a balance or
44
+ # payment due.
45
+ # @return [Money]
46
+ attr_accessor :discount_amount
47
+
48
+ # The currency and amount for a financial transaction, such as a balance or
49
+ # payment due.
50
+ # @return [Money]
51
+ attr_accessor :adjustment_amount
52
+
53
+ # The currency and amount for a financial transaction, such as a balance or
54
+ # payment due.
55
+ # @return [Money]
56
+ attr_accessor :gift_wrap_amount
57
+
58
+ # The percentage, as a fixed-point, signed decimal number. For example,
59
+ # define a 19.99% interest rate as `19.99`.
60
+ # @return [String]
61
+ attr_accessor :tax_percentage
62
+
63
+ # An array of tax amounts levied by a government on the purchase of goods or
64
+ # services.
65
+ # @return [Array[TaxAmount]]
66
+ attr_accessor :tax_amounts
67
+
68
+ # The currency and amount for a financial transaction, such as a balance or
69
+ # payment due.
70
+ # @return [Money]
71
+ attr_accessor :basic_shipping_amount
72
+
73
+ # The currency and amount for a financial transaction, such as a balance or
74
+ # payment due.
75
+ # @return [Money]
76
+ attr_accessor :extra_shipping_amount
77
+
78
+ # The currency and amount for a financial transaction, such as a balance or
79
+ # payment due.
80
+ # @return [Money]
81
+ attr_accessor :handling_amount
82
+
83
+ # The currency and amount for a financial transaction, such as a balance or
84
+ # payment due.
85
+ # @return [Money]
86
+ attr_accessor :insurance_amount
87
+
88
+ # The currency and amount for a financial transaction, such as a balance or
89
+ # payment due.
90
+ # @return [Money]
91
+ attr_accessor :total_item_amount
92
+
93
+ # The invoice number. An alphanumeric string that identifies a billing for a
94
+ # merchant.
95
+ # @return [String]
96
+ attr_accessor :invoice_number
97
+
98
+ # An array of checkout options. Each option has a name and value.
99
+ # @return [Array[CheckoutOption]]
100
+ attr_accessor :checkout_options
101
+
102
+ # A mapping from model property names to API property names.
103
+ def self.names
104
+ @_hash = {} if @_hash.nil?
105
+ @_hash['item_code'] = 'item_code'
106
+ @_hash['item_name'] = 'item_name'
107
+ @_hash['item_description'] = 'item_description'
108
+ @_hash['item_options'] = 'item_options'
109
+ @_hash['item_quantity'] = 'item_quantity'
110
+ @_hash['item_unit_price'] = 'item_unit_price'
111
+ @_hash['item_amount'] = 'item_amount'
112
+ @_hash['discount_amount'] = 'discount_amount'
113
+ @_hash['adjustment_amount'] = 'adjustment_amount'
114
+ @_hash['gift_wrap_amount'] = 'gift_wrap_amount'
115
+ @_hash['tax_percentage'] = 'tax_percentage'
116
+ @_hash['tax_amounts'] = 'tax_amounts'
117
+ @_hash['basic_shipping_amount'] = 'basic_shipping_amount'
118
+ @_hash['extra_shipping_amount'] = 'extra_shipping_amount'
119
+ @_hash['handling_amount'] = 'handling_amount'
120
+ @_hash['insurance_amount'] = 'insurance_amount'
121
+ @_hash['total_item_amount'] = 'total_item_amount'
122
+ @_hash['invoice_number'] = 'invoice_number'
123
+ @_hash['checkout_options'] = 'checkout_options'
124
+ @_hash
125
+ end
126
+
127
+ # An array for optional fields
128
+ def self.optionals
129
+ %w[
130
+ item_code
131
+ item_name
132
+ item_description
133
+ item_options
134
+ item_quantity
135
+ item_unit_price
136
+ item_amount
137
+ discount_amount
138
+ adjustment_amount
139
+ gift_wrap_amount
140
+ tax_percentage
141
+ tax_amounts
142
+ basic_shipping_amount
143
+ extra_shipping_amount
144
+ handling_amount
145
+ insurance_amount
146
+ total_item_amount
147
+ invoice_number
148
+ checkout_options
149
+ ]
150
+ end
151
+
152
+ # An array for nullable fields
153
+ def self.nullables
154
+ []
155
+ end
156
+
157
+ def initialize(item_code: SKIP, item_name: SKIP, item_description: SKIP,
158
+ item_options: SKIP, item_quantity: SKIP,
159
+ item_unit_price: SKIP, item_amount: SKIP,
160
+ discount_amount: SKIP, adjustment_amount: SKIP,
161
+ gift_wrap_amount: SKIP, tax_percentage: SKIP,
162
+ tax_amounts: SKIP, basic_shipping_amount: SKIP,
163
+ extra_shipping_amount: SKIP, handling_amount: SKIP,
164
+ insurance_amount: SKIP, total_item_amount: SKIP,
165
+ invoice_number: SKIP, checkout_options: SKIP)
166
+ @item_code = item_code unless item_code == SKIP
167
+ @item_name = item_name unless item_name == SKIP
168
+ @item_description = item_description unless item_description == SKIP
169
+ @item_options = item_options unless item_options == SKIP
170
+ @item_quantity = item_quantity unless item_quantity == SKIP
171
+ @item_unit_price = item_unit_price unless item_unit_price == SKIP
172
+ @item_amount = item_amount unless item_amount == SKIP
173
+ @discount_amount = discount_amount unless discount_amount == SKIP
174
+ @adjustment_amount = adjustment_amount unless adjustment_amount == SKIP
175
+ @gift_wrap_amount = gift_wrap_amount unless gift_wrap_amount == SKIP
176
+ @tax_percentage = tax_percentage unless tax_percentage == SKIP
177
+ @tax_amounts = tax_amounts unless tax_amounts == SKIP
178
+ @basic_shipping_amount = basic_shipping_amount unless basic_shipping_amount == SKIP
179
+ @extra_shipping_amount = extra_shipping_amount unless extra_shipping_amount == SKIP
180
+ @handling_amount = handling_amount unless handling_amount == SKIP
181
+ @insurance_amount = insurance_amount unless insurance_amount == SKIP
182
+ @total_item_amount = total_item_amount unless total_item_amount == SKIP
183
+ @invoice_number = invoice_number unless invoice_number == SKIP
184
+ @checkout_options = checkout_options unless checkout_options == SKIP
185
+ end
186
+
187
+ # Creates an instance of the object from a hash.
188
+ def self.from_hash(hash)
189
+ return nil unless hash
190
+
191
+ # Extract variables from the hash.
192
+ item_code = hash.key?('item_code') ? hash['item_code'] : SKIP
193
+ item_name = hash.key?('item_name') ? hash['item_name'] : SKIP
194
+ item_description =
195
+ hash.key?('item_description') ? hash['item_description'] : SKIP
196
+ item_options = hash.key?('item_options') ? hash['item_options'] : SKIP
197
+ item_quantity = hash.key?('item_quantity') ? hash['item_quantity'] : SKIP
198
+ item_unit_price = Money.from_hash(hash['item_unit_price']) if hash['item_unit_price']
199
+ item_amount = Money.from_hash(hash['item_amount']) if hash['item_amount']
200
+ discount_amount = Money.from_hash(hash['discount_amount']) if hash['discount_amount']
201
+ adjustment_amount = Money.from_hash(hash['adjustment_amount']) if hash['adjustment_amount']
202
+ gift_wrap_amount = Money.from_hash(hash['gift_wrap_amount']) if hash['gift_wrap_amount']
203
+ tax_percentage =
204
+ hash.key?('tax_percentage') ? hash['tax_percentage'] : SKIP
205
+ # Parameter is an array, so we need to iterate through it
206
+ tax_amounts = nil
207
+ unless hash['tax_amounts'].nil?
208
+ tax_amounts = []
209
+ hash['tax_amounts'].each do |structure|
210
+ tax_amounts << (TaxAmount.from_hash(structure) if structure)
211
+ end
212
+ end
213
+
214
+ tax_amounts = SKIP unless hash.key?('tax_amounts')
215
+ basic_shipping_amount = Money.from_hash(hash['basic_shipping_amount']) if
216
+ hash['basic_shipping_amount']
217
+ extra_shipping_amount = Money.from_hash(hash['extra_shipping_amount']) if
218
+ hash['extra_shipping_amount']
219
+ handling_amount = Money.from_hash(hash['handling_amount']) if hash['handling_amount']
220
+ insurance_amount = Money.from_hash(hash['insurance_amount']) if hash['insurance_amount']
221
+ total_item_amount = Money.from_hash(hash['total_item_amount']) if hash['total_item_amount']
222
+ invoice_number =
223
+ hash.key?('invoice_number') ? hash['invoice_number'] : SKIP
224
+ # Parameter is an array, so we need to iterate through it
225
+ checkout_options = nil
226
+ unless hash['checkout_options'].nil?
227
+ checkout_options = []
228
+ hash['checkout_options'].each do |structure|
229
+ checkout_options << (CheckoutOption.from_hash(structure) if structure)
230
+ end
231
+ end
232
+
233
+ checkout_options = SKIP unless hash.key?('checkout_options')
234
+
235
+ # Create object from extracted values.
236
+ ItemDetails.new(item_code: item_code,
237
+ item_name: item_name,
238
+ item_description: item_description,
239
+ item_options: item_options,
240
+ item_quantity: item_quantity,
241
+ item_unit_price: item_unit_price,
242
+ item_amount: item_amount,
243
+ discount_amount: discount_amount,
244
+ adjustment_amount: adjustment_amount,
245
+ gift_wrap_amount: gift_wrap_amount,
246
+ tax_percentage: tax_percentage,
247
+ tax_amounts: tax_amounts,
248
+ basic_shipping_amount: basic_shipping_amount,
249
+ extra_shipping_amount: extra_shipping_amount,
250
+ handling_amount: handling_amount,
251
+ insurance_amount: insurance_amount,
252
+ total_item_amount: total_item_amount,
253
+ invoice_number: invoice_number,
254
+ checkout_options: checkout_options)
255
+ end
256
+
257
+ # Provides a human-readable string representation of the object.
258
+ def to_s
259
+ class_name = self.class.name.split('::').last
260
+ "<#{class_name} item_code: #{@item_code}, item_name: #{@item_name}, item_description:"\
261
+ " #{@item_description}, item_options: #{@item_options}, item_quantity: #{@item_quantity},"\
262
+ " item_unit_price: #{@item_unit_price}, item_amount: #{@item_amount}, discount_amount:"\
263
+ " #{@discount_amount}, adjustment_amount: #{@adjustment_amount}, gift_wrap_amount:"\
264
+ " #{@gift_wrap_amount}, tax_percentage: #{@tax_percentage}, tax_amounts: #{@tax_amounts},"\
265
+ " basic_shipping_amount: #{@basic_shipping_amount}, extra_shipping_amount:"\
266
+ " #{@extra_shipping_amount}, handling_amount: #{@handling_amount}, insurance_amount:"\
267
+ " #{@insurance_amount}, total_item_amount: #{@total_item_amount}, invoice_number:"\
268
+ " #{@invoice_number}, checkout_options: #{@checkout_options}>"
269
+ end
270
+
271
+ # Provides a debugging-friendly string with detailed object information.
272
+ def inspect
273
+ class_name = self.class.name.split('::').last
274
+ "<#{class_name} item_code: #{@item_code.inspect}, item_name: #{@item_name.inspect},"\
275
+ " item_description: #{@item_description.inspect}, item_options: #{@item_options.inspect},"\
276
+ " item_quantity: #{@item_quantity.inspect}, item_unit_price: #{@item_unit_price.inspect},"\
277
+ " item_amount: #{@item_amount.inspect}, discount_amount: #{@discount_amount.inspect},"\
278
+ " adjustment_amount: #{@adjustment_amount.inspect}, gift_wrap_amount:"\
279
+ " #{@gift_wrap_amount.inspect}, tax_percentage: #{@tax_percentage.inspect}, tax_amounts:"\
280
+ " #{@tax_amounts.inspect}, basic_shipping_amount: #{@basic_shipping_amount.inspect},"\
281
+ " extra_shipping_amount: #{@extra_shipping_amount.inspect}, handling_amount:"\
282
+ " #{@handling_amount.inspect}, insurance_amount: #{@insurance_amount.inspect},"\
283
+ " total_item_amount: #{@total_item_amount.inspect}, invoice_number:"\
284
+ " #{@invoice_number.inspect}, checkout_options: #{@checkout_options.inspect}>"
285
+ end
286
+ end
287
+ end