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,274 +1,274 @@
1
- # paypal_server_sdk
2
- #
3
- # This file was automatically generated by APIMATIC v3.0
4
- # ( https://www.apimatic.io ).
5
-
6
- module PaypalServerSdk
7
- # A captured payment.
8
- class CapturedPayment < BaseModel
9
- SKIP = Object.new
10
- private_constant :SKIP
11
-
12
- # The status of the captured payment.
13
- # @return [CaptureStatus]
14
- attr_accessor :status
15
-
16
- # The details of the captured payment status.
17
- # @return [CaptureStatusDetails]
18
- attr_accessor :status_details
19
-
20
- # The PayPal-generated ID for the captured payment.
21
- # @return [String]
22
- attr_accessor :id
23
-
24
- # The currency and amount for a financial transaction, such as a balance or
25
- # payment due.
26
- # @return [Money]
27
- attr_accessor :amount
28
-
29
- # The API caller-provided external invoice number for this order. Appears in
30
- # both the payer's transaction history and the emails that the payer
31
- # receives.
32
- # @return [String]
33
- attr_accessor :invoice_id
34
-
35
- # The API caller-provided external ID. Used to reconcile API
36
- # caller-initiated transactions with PayPal transactions. Appears in
37
- # transaction and settlement reports.
38
- # @return [String]
39
- attr_accessor :custom_id
40
-
41
- # Reference values used by the card network to identify a transaction.
42
- # @return [NetworkTransaction]
43
- attr_accessor :network_transaction_reference
44
-
45
- # The level of protection offered as defined by [PayPal Seller Protection
46
- # for
47
- # Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protectio
48
- # n).
49
- # @return [SellerProtection]
50
- attr_accessor :seller_protection
51
-
52
- # Indicates whether you can make additional captures against the authorized
53
- # payment. Set to `true` if you do not intend to capture additional payments
54
- # against the authorization. Set to `false` if you intend to capture
55
- # additional payments against the authorization.
56
- # @return [TrueClass | FalseClass]
57
- attr_accessor :final_capture
58
-
59
- # The detailed breakdown of the capture activity. This is not available for
60
- # transactions that are in pending state.
61
- # @return [SellerReceivableBreakdown]
62
- attr_accessor :seller_receivable_breakdown
63
-
64
- # The funds that are held on behalf of the merchant.
65
- # @return [DisbursementMode]
66
- attr_accessor :disbursement_mode
67
-
68
- # An array of related [HATEOAS
69
- # links](/docs/api/reference/api-responses/#hateoas-links).
70
- # @return [Array[LinkDescription]]
71
- attr_accessor :links
72
-
73
- # The processor response information for payment requests, such as direct
74
- # credit card transactions.
75
- # @return [ProcessorResponse]
76
- attr_accessor :processor_response
77
-
78
- # The date and time, in [Internet date and time
79
- # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
80
- # required while fractional seconds are optional. Note: The regular
81
- # expression provides guidance but does not reject all invalid dates.
82
- # @return [String]
83
- attr_accessor :create_time
84
-
85
- # The date and time, in [Internet date and time
86
- # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
87
- # required while fractional seconds are optional. Note: The regular
88
- # expression provides guidance but does not reject all invalid dates.
89
- # @return [String]
90
- attr_accessor :update_time
91
-
92
- # The supplementary data.
93
- # @return [PaymentSupplementaryData]
94
- attr_accessor :supplementary_data
95
-
96
- # The details for the merchant who receives the funds and fulfills the
97
- # order. The merchant is also known as the payee.
98
- # @return [PayeeBase]
99
- attr_accessor :payee
100
-
101
- # A mapping from model property names to API property names.
102
- def self.names
103
- @_hash = {} if @_hash.nil?
104
- @_hash['status'] = 'status'
105
- @_hash['status_details'] = 'status_details'
106
- @_hash['id'] = 'id'
107
- @_hash['amount'] = 'amount'
108
- @_hash['invoice_id'] = 'invoice_id'
109
- @_hash['custom_id'] = 'custom_id'
110
- @_hash['network_transaction_reference'] =
111
- 'network_transaction_reference'
112
- @_hash['seller_protection'] = 'seller_protection'
113
- @_hash['final_capture'] = 'final_capture'
114
- @_hash['seller_receivable_breakdown'] = 'seller_receivable_breakdown'
115
- @_hash['disbursement_mode'] = 'disbursement_mode'
116
- @_hash['links'] = 'links'
117
- @_hash['processor_response'] = 'processor_response'
118
- @_hash['create_time'] = 'create_time'
119
- @_hash['update_time'] = 'update_time'
120
- @_hash['supplementary_data'] = 'supplementary_data'
121
- @_hash['payee'] = 'payee'
122
- @_hash
123
- end
124
-
125
- # An array for optional fields
126
- def self.optionals
127
- %w[
128
- status
129
- status_details
130
- id
131
- amount
132
- invoice_id
133
- custom_id
134
- network_transaction_reference
135
- seller_protection
136
- final_capture
137
- seller_receivable_breakdown
138
- disbursement_mode
139
- links
140
- processor_response
141
- create_time
142
- update_time
143
- supplementary_data
144
- payee
145
- ]
146
- end
147
-
148
- # An array for nullable fields
149
- def self.nullables
150
- []
151
- end
152
-
153
- def initialize(status: SKIP, status_details: SKIP, id: SKIP, amount: SKIP,
154
- invoice_id: SKIP, custom_id: SKIP,
155
- network_transaction_reference: SKIP, seller_protection: SKIP,
156
- final_capture: false, seller_receivable_breakdown: SKIP,
157
- disbursement_mode: DisbursementMode::INSTANT, links: SKIP,
158
- processor_response: SKIP, create_time: SKIP,
159
- update_time: SKIP, supplementary_data: SKIP, payee: SKIP)
160
- @status = status unless status == SKIP
161
- @status_details = status_details unless status_details == SKIP
162
- @id = id unless id == SKIP
163
- @amount = amount unless amount == SKIP
164
- @invoice_id = invoice_id unless invoice_id == SKIP
165
- @custom_id = custom_id unless custom_id == SKIP
166
- unless network_transaction_reference == SKIP
167
- @network_transaction_reference =
168
- network_transaction_reference
169
- end
170
- @seller_protection = seller_protection unless seller_protection == SKIP
171
- @final_capture = final_capture unless final_capture == SKIP
172
- unless seller_receivable_breakdown == SKIP
173
- @seller_receivable_breakdown =
174
- seller_receivable_breakdown
175
- end
176
- @disbursement_mode = disbursement_mode unless disbursement_mode == SKIP
177
- @links = links unless links == SKIP
178
- @processor_response = processor_response unless processor_response == SKIP
179
- @create_time = create_time unless create_time == SKIP
180
- @update_time = update_time unless update_time == SKIP
181
- @supplementary_data = supplementary_data unless supplementary_data == SKIP
182
- @payee = payee unless payee == SKIP
183
- end
184
-
185
- # Creates an instance of the object from a hash.
186
- def self.from_hash(hash)
187
- return nil unless hash
188
-
189
- # Extract variables from the hash.
190
- status = hash.key?('status') ? hash['status'] : SKIP
191
- status_details = CaptureStatusDetails.from_hash(hash['status_details']) if
192
- hash['status_details']
193
- id = hash.key?('id') ? hash['id'] : SKIP
194
- amount = Money.from_hash(hash['amount']) if hash['amount']
195
- invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
196
- custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
197
- if hash['network_transaction_reference']
198
- network_transaction_reference = NetworkTransaction.from_hash(hash['network_transaction_reference'])
199
- end
200
- seller_protection = SellerProtection.from_hash(hash['seller_protection']) if
201
- hash['seller_protection']
202
- final_capture = hash['final_capture'] ||= false
203
- if hash['seller_receivable_breakdown']
204
- seller_receivable_breakdown = SellerReceivableBreakdown.from_hash(hash['seller_receivable_breakdown'])
205
- end
206
- disbursement_mode =
207
- hash['disbursement_mode'] ||= DisbursementMode::INSTANT
208
- # Parameter is an array, so we need to iterate through it
209
- links = nil
210
- unless hash['links'].nil?
211
- links = []
212
- hash['links'].each do |structure|
213
- links << (LinkDescription.from_hash(structure) if structure)
214
- end
215
- end
216
-
217
- links = SKIP unless hash.key?('links')
218
- processor_response = ProcessorResponse.from_hash(hash['processor_response']) if
219
- hash['processor_response']
220
- create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
221
- update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
222
- supplementary_data = PaymentSupplementaryData.from_hash(hash['supplementary_data']) if
223
- hash['supplementary_data']
224
- payee = PayeeBase.from_hash(hash['payee']) if hash['payee']
225
-
226
- # Create object from extracted values.
227
- CapturedPayment.new(status: status,
228
- status_details: status_details,
229
- id: id,
230
- amount: amount,
231
- invoice_id: invoice_id,
232
- custom_id: custom_id,
233
- network_transaction_reference: network_transaction_reference,
234
- seller_protection: seller_protection,
235
- final_capture: final_capture,
236
- seller_receivable_breakdown: seller_receivable_breakdown,
237
- disbursement_mode: disbursement_mode,
238
- links: links,
239
- processor_response: processor_response,
240
- create_time: create_time,
241
- update_time: update_time,
242
- supplementary_data: supplementary_data,
243
- payee: payee)
244
- end
245
-
246
- # Provides a human-readable string representation of the object.
247
- def to_s
248
- class_name = self.class.name.split('::').last
249
- "<#{class_name} status: #{@status}, status_details: #{@status_details}, id: #{@id}, amount:"\
250
- " #{@amount}, invoice_id: #{@invoice_id}, custom_id: #{@custom_id},"\
251
- " network_transaction_reference: #{@network_transaction_reference}, seller_protection:"\
252
- " #{@seller_protection}, final_capture: #{@final_capture}, seller_receivable_breakdown:"\
253
- " #{@seller_receivable_breakdown}, disbursement_mode: #{@disbursement_mode}, links:"\
254
- " #{@links}, processor_response: #{@processor_response}, create_time: #{@create_time},"\
255
- " update_time: #{@update_time}, supplementary_data: #{@supplementary_data}, payee:"\
256
- " #{@payee}>"
257
- end
258
-
259
- # Provides a debugging-friendly string with detailed object information.
260
- def inspect
261
- class_name = self.class.name.split('::').last
262
- "<#{class_name} status: #{@status.inspect}, status_details: #{@status_details.inspect}, id:"\
263
- " #{@id.inspect}, amount: #{@amount.inspect}, invoice_id: #{@invoice_id.inspect}, custom_id:"\
264
- " #{@custom_id.inspect}, network_transaction_reference:"\
265
- " #{@network_transaction_reference.inspect}, seller_protection:"\
266
- " #{@seller_protection.inspect}, final_capture: #{@final_capture.inspect},"\
267
- " seller_receivable_breakdown: #{@seller_receivable_breakdown.inspect}, disbursement_mode:"\
268
- " #{@disbursement_mode.inspect}, links: #{@links.inspect}, processor_response:"\
269
- " #{@processor_response.inspect}, create_time: #{@create_time.inspect}, update_time:"\
270
- " #{@update_time.inspect}, supplementary_data: #{@supplementary_data.inspect}, payee:"\
271
- " #{@payee.inspect}>"
272
- end
273
- end
274
- 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
+ # A captured payment.
8
+ class CapturedPayment < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The status of the captured payment.
13
+ # @return [CaptureStatus]
14
+ attr_accessor :status
15
+
16
+ # The details of the captured payment status.
17
+ # @return [CaptureStatusDetails]
18
+ attr_accessor :status_details
19
+
20
+ # The PayPal-generated ID for the captured payment.
21
+ # @return [String]
22
+ attr_accessor :id
23
+
24
+ # The currency and amount for a financial transaction, such as a balance or
25
+ # payment due.
26
+ # @return [Money]
27
+ attr_accessor :amount
28
+
29
+ # The API caller-provided external invoice number for this order. Appears in
30
+ # both the payer's transaction history and the emails that the payer
31
+ # receives.
32
+ # @return [String]
33
+ attr_accessor :invoice_id
34
+
35
+ # The API caller-provided external ID. Used to reconcile API
36
+ # caller-initiated transactions with PayPal transactions. Appears in
37
+ # transaction and settlement reports.
38
+ # @return [String]
39
+ attr_accessor :custom_id
40
+
41
+ # Reference values used by the card network to identify a transaction.
42
+ # @return [NetworkTransaction]
43
+ attr_accessor :network_transaction_reference
44
+
45
+ # The level of protection offered as defined by [PayPal Seller Protection
46
+ # for
47
+ # Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protectio
48
+ # n).
49
+ # @return [SellerProtection]
50
+ attr_accessor :seller_protection
51
+
52
+ # Indicates whether you can make additional captures against the authorized
53
+ # payment. Set to `true` if you do not intend to capture additional payments
54
+ # against the authorization. Set to `false` if you intend to capture
55
+ # additional payments against the authorization.
56
+ # @return [TrueClass | FalseClass]
57
+ attr_accessor :final_capture
58
+
59
+ # The detailed breakdown of the capture activity. This is not available for
60
+ # transactions that are in pending state.
61
+ # @return [SellerReceivableBreakdown]
62
+ attr_accessor :seller_receivable_breakdown
63
+
64
+ # The funds that are held on behalf of the merchant.
65
+ # @return [DisbursementMode]
66
+ attr_accessor :disbursement_mode
67
+
68
+ # An array of related [HATEOAS
69
+ # links](/docs/api/reference/api-responses/#hateoas-links).
70
+ # @return [Array[LinkDescription]]
71
+ attr_accessor :links
72
+
73
+ # The processor response information for payment requests, such as direct
74
+ # credit card transactions.
75
+ # @return [ProcessorResponse]
76
+ attr_accessor :processor_response
77
+
78
+ # The date and time, in [Internet date and time
79
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
80
+ # required while fractional seconds are optional. Note: The regular
81
+ # expression provides guidance but does not reject all invalid dates.
82
+ # @return [String]
83
+ attr_accessor :create_time
84
+
85
+ # The date and time, in [Internet date and time
86
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
87
+ # required while fractional seconds are optional. Note: The regular
88
+ # expression provides guidance but does not reject all invalid dates.
89
+ # @return [String]
90
+ attr_accessor :update_time
91
+
92
+ # The supplementary data.
93
+ # @return [PaymentSupplementaryData]
94
+ attr_accessor :supplementary_data
95
+
96
+ # The details for the merchant who receives the funds and fulfills the
97
+ # order. The merchant is also known as the payee.
98
+ # @return [PayeeBase]
99
+ attr_accessor :payee
100
+
101
+ # A mapping from model property names to API property names.
102
+ def self.names
103
+ @_hash = {} if @_hash.nil?
104
+ @_hash['status'] = 'status'
105
+ @_hash['status_details'] = 'status_details'
106
+ @_hash['id'] = 'id'
107
+ @_hash['amount'] = 'amount'
108
+ @_hash['invoice_id'] = 'invoice_id'
109
+ @_hash['custom_id'] = 'custom_id'
110
+ @_hash['network_transaction_reference'] =
111
+ 'network_transaction_reference'
112
+ @_hash['seller_protection'] = 'seller_protection'
113
+ @_hash['final_capture'] = 'final_capture'
114
+ @_hash['seller_receivable_breakdown'] = 'seller_receivable_breakdown'
115
+ @_hash['disbursement_mode'] = 'disbursement_mode'
116
+ @_hash['links'] = 'links'
117
+ @_hash['processor_response'] = 'processor_response'
118
+ @_hash['create_time'] = 'create_time'
119
+ @_hash['update_time'] = 'update_time'
120
+ @_hash['supplementary_data'] = 'supplementary_data'
121
+ @_hash['payee'] = 'payee'
122
+ @_hash
123
+ end
124
+
125
+ # An array for optional fields
126
+ def self.optionals
127
+ %w[
128
+ status
129
+ status_details
130
+ id
131
+ amount
132
+ invoice_id
133
+ custom_id
134
+ network_transaction_reference
135
+ seller_protection
136
+ final_capture
137
+ seller_receivable_breakdown
138
+ disbursement_mode
139
+ links
140
+ processor_response
141
+ create_time
142
+ update_time
143
+ supplementary_data
144
+ payee
145
+ ]
146
+ end
147
+
148
+ # An array for nullable fields
149
+ def self.nullables
150
+ []
151
+ end
152
+
153
+ def initialize(status: SKIP, status_details: SKIP, id: SKIP, amount: SKIP,
154
+ invoice_id: SKIP, custom_id: SKIP,
155
+ network_transaction_reference: SKIP, seller_protection: SKIP,
156
+ final_capture: false, seller_receivable_breakdown: SKIP,
157
+ disbursement_mode: DisbursementMode::INSTANT, links: SKIP,
158
+ processor_response: SKIP, create_time: SKIP,
159
+ update_time: SKIP, supplementary_data: SKIP, payee: SKIP)
160
+ @status = status unless status == SKIP
161
+ @status_details = status_details unless status_details == SKIP
162
+ @id = id unless id == SKIP
163
+ @amount = amount unless amount == SKIP
164
+ @invoice_id = invoice_id unless invoice_id == SKIP
165
+ @custom_id = custom_id unless custom_id == SKIP
166
+ unless network_transaction_reference == SKIP
167
+ @network_transaction_reference =
168
+ network_transaction_reference
169
+ end
170
+ @seller_protection = seller_protection unless seller_protection == SKIP
171
+ @final_capture = final_capture unless final_capture == SKIP
172
+ unless seller_receivable_breakdown == SKIP
173
+ @seller_receivable_breakdown =
174
+ seller_receivable_breakdown
175
+ end
176
+ @disbursement_mode = disbursement_mode unless disbursement_mode == SKIP
177
+ @links = links unless links == SKIP
178
+ @processor_response = processor_response unless processor_response == SKIP
179
+ @create_time = create_time unless create_time == SKIP
180
+ @update_time = update_time unless update_time == SKIP
181
+ @supplementary_data = supplementary_data unless supplementary_data == SKIP
182
+ @payee = payee unless payee == SKIP
183
+ end
184
+
185
+ # Creates an instance of the object from a hash.
186
+ def self.from_hash(hash)
187
+ return nil unless hash
188
+
189
+ # Extract variables from the hash.
190
+ status = hash.key?('status') ? hash['status'] : SKIP
191
+ status_details = CaptureStatusDetails.from_hash(hash['status_details']) if
192
+ hash['status_details']
193
+ id = hash.key?('id') ? hash['id'] : SKIP
194
+ amount = Money.from_hash(hash['amount']) if hash['amount']
195
+ invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
196
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
197
+ if hash['network_transaction_reference']
198
+ network_transaction_reference = NetworkTransaction.from_hash(hash['network_transaction_reference'])
199
+ end
200
+ seller_protection = SellerProtection.from_hash(hash['seller_protection']) if
201
+ hash['seller_protection']
202
+ final_capture = hash['final_capture'] ||= false
203
+ if hash['seller_receivable_breakdown']
204
+ seller_receivable_breakdown = SellerReceivableBreakdown.from_hash(hash['seller_receivable_breakdown'])
205
+ end
206
+ disbursement_mode =
207
+ hash['disbursement_mode'] ||= DisbursementMode::INSTANT
208
+ # Parameter is an array, so we need to iterate through it
209
+ links = nil
210
+ unless hash['links'].nil?
211
+ links = []
212
+ hash['links'].each do |structure|
213
+ links << (LinkDescription.from_hash(structure) if structure)
214
+ end
215
+ end
216
+
217
+ links = SKIP unless hash.key?('links')
218
+ processor_response = ProcessorResponse.from_hash(hash['processor_response']) if
219
+ hash['processor_response']
220
+ create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
221
+ update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
222
+ supplementary_data = PaymentSupplementaryData.from_hash(hash['supplementary_data']) if
223
+ hash['supplementary_data']
224
+ payee = PayeeBase.from_hash(hash['payee']) if hash['payee']
225
+
226
+ # Create object from extracted values.
227
+ CapturedPayment.new(status: status,
228
+ status_details: status_details,
229
+ id: id,
230
+ amount: amount,
231
+ invoice_id: invoice_id,
232
+ custom_id: custom_id,
233
+ network_transaction_reference: network_transaction_reference,
234
+ seller_protection: seller_protection,
235
+ final_capture: final_capture,
236
+ seller_receivable_breakdown: seller_receivable_breakdown,
237
+ disbursement_mode: disbursement_mode,
238
+ links: links,
239
+ processor_response: processor_response,
240
+ create_time: create_time,
241
+ update_time: update_time,
242
+ supplementary_data: supplementary_data,
243
+ payee: payee)
244
+ end
245
+
246
+ # Provides a human-readable string representation of the object.
247
+ def to_s
248
+ class_name = self.class.name.split('::').last
249
+ "<#{class_name} status: #{@status}, status_details: #{@status_details}, id: #{@id}, amount:"\
250
+ " #{@amount}, invoice_id: #{@invoice_id}, custom_id: #{@custom_id},"\
251
+ " network_transaction_reference: #{@network_transaction_reference}, seller_protection:"\
252
+ " #{@seller_protection}, final_capture: #{@final_capture}, seller_receivable_breakdown:"\
253
+ " #{@seller_receivable_breakdown}, disbursement_mode: #{@disbursement_mode}, links:"\
254
+ " #{@links}, processor_response: #{@processor_response}, create_time: #{@create_time},"\
255
+ " update_time: #{@update_time}, supplementary_data: #{@supplementary_data}, payee:"\
256
+ " #{@payee}>"
257
+ end
258
+
259
+ # Provides a debugging-friendly string with detailed object information.
260
+ def inspect
261
+ class_name = self.class.name.split('::').last
262
+ "<#{class_name} status: #{@status.inspect}, status_details: #{@status_details.inspect}, id:"\
263
+ " #{@id.inspect}, amount: #{@amount.inspect}, invoice_id: #{@invoice_id.inspect}, custom_id:"\
264
+ " #{@custom_id.inspect}, network_transaction_reference:"\
265
+ " #{@network_transaction_reference.inspect}, seller_protection:"\
266
+ " #{@seller_protection.inspect}, final_capture: #{@final_capture.inspect},"\
267
+ " seller_receivable_breakdown: #{@seller_receivable_breakdown.inspect}, disbursement_mode:"\
268
+ " #{@disbursement_mode.inspect}, links: #{@links.inspect}, processor_response:"\
269
+ " #{@processor_response.inspect}, create_time: #{@create_time.inspect}, update_time:"\
270
+ " #{@update_time.inspect}, supplementary_data: #{@supplementary_data.inspect}, payee:"\
271
+ " #{@payee.inspect}>"
272
+ end
273
+ end
274
+ end