cli-sdk 1.0.14 → 10.0.1

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 (408) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +35 -28
  3. data/README.md +166 -111
  4. data/bin/console +4 -4
  5. data/lib/paypal_server_sdk/api_helper.rb +10 -0
  6. data/lib/paypal_server_sdk/client.rb +110 -0
  7. data/lib/{apimatic_calculator → paypal_server_sdk}/configuration.rb +134 -115
  8. data/lib/{apimatic_calculator → paypal_server_sdk}/controllers/base_controller.rb +58 -53
  9. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -0
  10. data/lib/paypal_server_sdk/controllers/orders_controller.rb +551 -0
  11. data/lib/paypal_server_sdk/controllers/payments_controller.rb +462 -0
  12. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -0
  13. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -0
  14. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -0
  15. data/lib/{apimatic_calculator → paypal_server_sdk}/exceptions/api_exception.rb +21 -21
  16. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +95 -0
  17. data/lib/paypal_server_sdk/exceptions/error_exception.rb +87 -0
  18. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +64 -0
  19. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +107 -0
  20. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +95 -0
  21. data/lib/paypal_server_sdk/http/api_response.rb +19 -0
  22. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +151 -0
  23. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -0
  24. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -0
  25. data/lib/paypal_server_sdk/http/http_request.rb +10 -0
  26. data/lib/paypal_server_sdk/http/http_response.rb +10 -0
  27. data/lib/{apimatic_calculator → paypal_server_sdk}/http/proxy_settings.rb +6 -6
  28. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  29. data/lib/paypal_server_sdk/logging/sdk_logger.rb +17 -0
  30. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -0
  31. data/lib/paypal_server_sdk/models/activity_timestamps.rb +79 -0
  32. data/lib/paypal_server_sdk/models/address.rb +132 -0
  33. data/lib/paypal_server_sdk/models/amount_breakdown.rb +132 -0
  34. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +94 -0
  35. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -0
  36. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +73 -0
  37. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +62 -0
  38. data/lib/paypal_server_sdk/models/apple_pay_card.rb +108 -0
  39. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +210 -0
  40. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +111 -0
  41. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +68 -0
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +97 -0
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +41 -0
  44. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +150 -0
  45. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +63 -0
  46. data/lib/paypal_server_sdk/models/apple_pay_request.rb +165 -0
  47. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -0
  48. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +127 -0
  49. data/lib/paypal_server_sdk/models/application_context_user_action.rb +42 -0
  50. data/lib/paypal_server_sdk/models/assurance_details.rb +82 -0
  51. data/lib/paypal_server_sdk/models/auction_information.rb +100 -0
  52. data/lib/paypal_server_sdk/models/authentication_response.rb +74 -0
  53. data/lib/paypal_server_sdk/models/authorization.rb +211 -0
  54. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +36 -0
  55. data/lib/paypal_server_sdk/models/authorization_status.rb +58 -0
  56. data/lib/paypal_server_sdk/models/authorization_status_details.rb +62 -0
  57. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +72 -0
  58. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +225 -0
  59. data/lib/paypal_server_sdk/models/avs_code.rb +156 -0
  60. data/lib/paypal_server_sdk/models/balance_information.rb +106 -0
  61. data/lib/paypal_server_sdk/models/balances_response.rb +111 -0
  62. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +110 -0
  63. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +87 -0
  64. data/lib/paypal_server_sdk/models/bank_request.rb +71 -0
  65. data/lib/{apimatic_calculator → paypal_server_sdk}/models/base_model.rb +110 -110
  66. data/lib/paypal_server_sdk/models/billing_cycle.rb +118 -0
  67. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -0
  68. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -0
  69. data/lib/paypal_server_sdk/models/bin_details.rb +102 -0
  70. data/lib/paypal_server_sdk/models/blik_experience_context.rb +142 -0
  71. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +60 -0
  72. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +64 -0
  73. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +97 -0
  74. data/lib/paypal_server_sdk/models/blik_payment_object.rb +99 -0
  75. data/lib/paypal_server_sdk/models/blik_payment_request.rb +120 -0
  76. data/lib/paypal_server_sdk/models/callback_configuration.rb +74 -0
  77. data/lib/paypal_server_sdk/models/callback_events.rb +40 -0
  78. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -0
  79. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +86 -0
  80. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +104 -0
  81. data/lib/paypal_server_sdk/models/capture_request.rb +126 -0
  82. data/lib/paypal_server_sdk/models/capture_status.rb +56 -0
  83. data/lib/paypal_server_sdk/models/capture_status_details.rb +62 -0
  84. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +72 -0
  85. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -0
  86. data/lib/paypal_server_sdk/models/capture_type.rb +26 -0
  87. data/lib/paypal_server_sdk/models/captured_payment.rb +274 -0
  88. data/lib/paypal_server_sdk/models/card_attributes.rb +83 -0
  89. data/lib/paypal_server_sdk/models/card_attributes_response.rb +62 -0
  90. data/lib/paypal_server_sdk/models/card_authentication_response.rb +63 -0
  91. data/lib/paypal_server_sdk/models/card_brand.rb +153 -0
  92. data/lib/paypal_server_sdk/models/card_customer.rb +98 -0
  93. data/lib/paypal_server_sdk/models/card_customer_information.rb +108 -0
  94. data/lib/paypal_server_sdk/models/card_experience_context.rb +71 -0
  95. data/lib/paypal_server_sdk/models/card_from_request.rb +72 -0
  96. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +178 -0
  97. data/lib/paypal_server_sdk/models/card_request.rb +191 -0
  98. data/lib/paypal_server_sdk/models/card_response.rb +180 -0
  99. data/lib/paypal_server_sdk/models/card_response_address.rb +137 -0
  100. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +101 -0
  101. data/lib/paypal_server_sdk/models/card_stored_credential.rb +111 -0
  102. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +79 -0
  103. data/lib/paypal_server_sdk/models/card_type.rb +48 -0
  104. data/lib/paypal_server_sdk/models/card_vault_response.rb +99 -0
  105. data/lib/paypal_server_sdk/models/card_verification.rb +64 -0
  106. data/lib/paypal_server_sdk/models/card_verification_details.rb +140 -0
  107. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +74 -0
  108. data/lib/paypal_server_sdk/models/card_verification_status.rb +36 -0
  109. data/lib/paypal_server_sdk/models/cart_information.rb +94 -0
  110. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -0
  111. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +45 -0
  112. data/lib/paypal_server_sdk/models/cobranded_card.rb +83 -0
  113. data/lib/paypal_server_sdk/models/confirm_order_request.rb +85 -0
  114. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -0
  115. data/lib/paypal_server_sdk/models/customer.rb +76 -0
  116. data/lib/paypal_server_sdk/models/customer_information.rb +95 -0
  117. data/lib/paypal_server_sdk/models/customer_response.rb +75 -0
  118. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +123 -0
  119. data/lib/paypal_server_sdk/models/cvv_code.rb +93 -0
  120. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -0
  121. data/lib/paypal_server_sdk/models/disbursement_mode.rb +39 -0
  122. data/lib/paypal_server_sdk/models/dispute_category.rb +36 -0
  123. data/lib/paypal_server_sdk/models/eci_flag.rb +54 -0
  124. data/lib/paypal_server_sdk/models/enrollment_status.rb +47 -0
  125. data/lib/paypal_server_sdk/models/eps_payment_object.rb +87 -0
  126. data/lib/paypal_server_sdk/models/eps_payment_request.rb +87 -0
  127. data/lib/paypal_server_sdk/models/error_details.rb +125 -0
  128. data/lib/paypal_server_sdk/models/exchange_rate.rb +91 -0
  129. data/lib/paypal_server_sdk/models/experience_context.rb +116 -0
  130. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +46 -0
  131. data/lib/paypal_server_sdk/models/experience_status.rb +48 -0
  132. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -0
  133. data/lib/paypal_server_sdk/models/frequency.rb +75 -0
  134. data/lib/paypal_server_sdk/models/fulfillment_type.rb +51 -0
  135. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +87 -0
  136. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +87 -0
  137. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +42 -0
  138. data/lib/paypal_server_sdk/models/google_pay_card.rb +128 -0
  139. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +120 -0
  140. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +131 -0
  141. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +68 -0
  142. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +26 -0
  143. data/lib/paypal_server_sdk/models/google_pay_request.rb +136 -0
  144. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +98 -0
  145. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +98 -0
  146. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +99 -0
  147. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +97 -0
  148. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -0
  149. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -0
  150. data/lib/paypal_server_sdk/models/interval_unit.rb +44 -0
  151. data/lib/paypal_server_sdk/models/item.rb +161 -0
  152. data/lib/paypal_server_sdk/models/item_category.rb +43 -0
  153. data/lib/paypal_server_sdk/models/item_details.rb +287 -0
  154. data/lib/paypal_server_sdk/models/item_request.rb +163 -0
  155. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -0
  156. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +78 -0
  157. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +137 -0
  158. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +40 -0
  159. data/lib/paypal_server_sdk/models/line_item.rb +209 -0
  160. data/lib/paypal_server_sdk/models/link_description.rb +92 -0
  161. data/lib/paypal_server_sdk/models/link_http_method.rb +60 -0
  162. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -0
  163. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +41 -0
  164. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -0
  165. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -0
  166. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -0
  167. data/lib/paypal_server_sdk/models/money.rb +75 -0
  168. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +99 -0
  169. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +87 -0
  170. data/lib/paypal_server_sdk/models/name.rb +73 -0
  171. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -0
  172. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +87 -0
  173. data/lib/paypal_server_sdk/models/network_token.rb +110 -0
  174. data/lib/paypal_server_sdk/models/network_transaction.rb +107 -0
  175. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +100 -0
  176. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +62 -0
  177. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -0
  178. data/lib/paypal_server_sdk/models/one_time_charge.rb +118 -0
  179. data/lib/paypal_server_sdk/models/order.rb +197 -0
  180. data/lib/paypal_server_sdk/models/order_application_context.rb +219 -0
  181. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +53 -0
  182. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +50 -0
  183. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +47 -0
  184. data/lib/paypal_server_sdk/models/order_authorize_request.rb +63 -0
  185. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +115 -0
  186. data/lib/paypal_server_sdk/models/order_authorize_response.rb +194 -0
  187. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +102 -0
  188. data/lib/paypal_server_sdk/models/order_billing_plan.rb +93 -0
  189. data/lib/paypal_server_sdk/models/order_capture_request.rb +63 -0
  190. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +115 -0
  191. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +123 -0
  192. data/lib/paypal_server_sdk/models/order_request.rb +132 -0
  193. data/lib/paypal_server_sdk/models/order_status.rb +65 -0
  194. data/lib/paypal_server_sdk/models/order_tracker_item.rb +114 -0
  195. data/lib/paypal_server_sdk/models/order_tracker_request.rb +133 -0
  196. data/lib/paypal_server_sdk/models/order_tracker_response.rb +135 -0
  197. data/lib/paypal_server_sdk/models/order_tracker_status.rb +39 -0
  198. data/lib/paypal_server_sdk/models/orders_capture.rb +252 -0
  199. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +66 -0
  200. data/lib/paypal_server_sdk/models/os_type.rb +40 -0
  201. data/lib/paypal_server_sdk/models/p24_payment_object.rb +123 -0
  202. data/lib/paypal_server_sdk/models/p24_payment_request.rb +98 -0
  203. data/lib/paypal_server_sdk/models/pa_res_status.rb +61 -0
  204. data/lib/paypal_server_sdk/models/participant_metadata.rb +64 -0
  205. data/lib/paypal_server_sdk/models/patch.rb +93 -0
  206. data/lib/paypal_server_sdk/models/patch_op.rb +89 -0
  207. data/lib/paypal_server_sdk/models/payee_base.rb +76 -0
  208. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +38 -0
  209. data/lib/paypal_server_sdk/models/payer.rb +136 -0
  210. data/lib/paypal_server_sdk/models/payer_base.rb +75 -0
  211. data/lib/paypal_server_sdk/models/payer_information.rb +146 -0
  212. data/lib/paypal_server_sdk/models/payer_name.rb +128 -0
  213. data/lib/paypal_server_sdk/models/payment_advice_code.rb +101 -0
  214. data/lib/paypal_server_sdk/models/payment_authorization.rb +233 -0
  215. data/lib/paypal_server_sdk/models/payment_collection.rb +113 -0
  216. data/lib/paypal_server_sdk/models/payment_initiator.rb +39 -0
  217. data/lib/paypal_server_sdk/models/payment_instruction.rb +121 -0
  218. data/lib/paypal_server_sdk/models/payment_method.rb +63 -0
  219. data/lib/paypal_server_sdk/models/payment_method_preference.rb +86 -0
  220. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -0
  221. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -0
  222. data/lib/paypal_server_sdk/models/payment_source.rb +203 -0
  223. data/lib/paypal_server_sdk/models/payment_source_response.rb +190 -0
  224. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +62 -0
  225. data/lib/paypal_server_sdk/models/payment_token_request.rb +74 -0
  226. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +120 -0
  227. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +71 -0
  228. data/lib/paypal_server_sdk/models/payment_token_response.rb +104 -0
  229. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +91 -0
  230. data/lib/paypal_server_sdk/models/payment_token_status.rb +52 -0
  231. data/lib/paypal_server_sdk/models/payments_capture.rb +252 -0
  232. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +56 -0
  233. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +42 -0
  234. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +211 -0
  235. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +42 -0
  236. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +40 -0
  237. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +44 -0
  238. data/lib/paypal_server_sdk/models/paypal_wallet.rb +188 -0
  239. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +41 -0
  240. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +71 -0
  241. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +82 -0
  242. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +48 -0
  243. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +45 -0
  244. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +108 -0
  245. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +108 -0
  246. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +201 -0
  247. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +213 -0
  248. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +99 -0
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb +134 -0
  250. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +132 -0
  251. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +99 -0
  252. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +45 -0
  253. data/lib/paypal_server_sdk/models/phone.rb +91 -0
  254. data/lib/paypal_server_sdk/models/phone_number.rb +68 -0
  255. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +83 -0
  256. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -0
  257. data/lib/paypal_server_sdk/models/phone_type.rb +48 -0
  258. data/lib/paypal_server_sdk/models/phone_with_type.rb +72 -0
  259. data/lib/paypal_server_sdk/models/plan.rb +92 -0
  260. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -0
  261. data/lib/paypal_server_sdk/models/plan_details.rb +147 -0
  262. data/lib/paypal_server_sdk/models/plan_override.rb +96 -0
  263. data/lib/paypal_server_sdk/models/plan_request.rb +154 -0
  264. data/lib/paypal_server_sdk/models/plan_request_status.rb +42 -0
  265. data/lib/paypal_server_sdk/models/platform_fee.rb +75 -0
  266. data/lib/paypal_server_sdk/models/pricing_model.rb +42 -0
  267. data/lib/paypal_server_sdk/models/pricing_scheme.rb +84 -0
  268. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -0
  269. data/lib/paypal_server_sdk/models/processing_instruction.rb +33 -0
  270. data/lib/paypal_server_sdk/models/processor_response.rb +98 -0
  271. data/lib/paypal_server_sdk/models/processor_response_code.rb +648 -0
  272. data/lib/paypal_server_sdk/models/purchase_unit.rb +245 -0
  273. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +219 -0
  274. data/lib/paypal_server_sdk/models/reason_code.rb +60 -0
  275. data/lib/paypal_server_sdk/models/reauthorize_request.rb +72 -0
  276. data/lib/paypal_server_sdk/models/refund.rb +214 -0
  277. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +27 -0
  278. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +80 -0
  279. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +64 -0
  280. data/lib/paypal_server_sdk/models/refund_request.rb +115 -0
  281. data/lib/paypal_server_sdk/models/refund_status.rb +44 -0
  282. data/lib/paypal_server_sdk/models/refund_status_details.rb +62 -0
  283. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +72 -0
  284. data/lib/paypal_server_sdk/models/related_identifiers.rb +83 -0
  285. data/lib/paypal_server_sdk/models/return_flow.rb +41 -0
  286. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +63 -0
  287. data/lib/paypal_server_sdk/models/search_response.rb +176 -0
  288. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +177 -0
  289. data/lib/paypal_server_sdk/models/seller_protection.rb +78 -0
  290. data/lib/paypal_server_sdk/models/seller_protection_status.rb +46 -0
  291. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +147 -0
  292. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +89 -0
  293. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -0
  294. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +37 -0
  295. data/lib/paypal_server_sdk/models/setup_token_request.rb +74 -0
  296. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +143 -0
  297. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +111 -0
  298. data/lib/paypal_server_sdk/models/setup_token_response.rb +116 -0
  299. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +178 -0
  300. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +81 -0
  301. data/lib/paypal_server_sdk/models/shipment_carrier.rb +5686 -0
  302. data/lib/paypal_server_sdk/models/shipping_details.rb +133 -0
  303. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -0
  304. data/lib/paypal_server_sdk/models/shipping_name.rb +62 -0
  305. data/lib/paypal_server_sdk/models/shipping_option.rb +108 -0
  306. data/lib/paypal_server_sdk/models/shipping_type.rb +52 -0
  307. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +152 -0
  308. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -0
  309. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +99 -0
  310. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +87 -0
  311. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +59 -0
  312. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +27 -0
  313. data/lib/paypal_server_sdk/models/store_information.rb +71 -0
  314. data/lib/paypal_server_sdk/models/stored_payment_source.rb +111 -0
  315. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +43 -0
  316. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +44 -0
  317. data/lib/paypal_server_sdk/models/subscriber.rb +107 -0
  318. data/lib/paypal_server_sdk/models/subscriber_request.rb +120 -0
  319. data/lib/paypal_server_sdk/models/subscription.rb +205 -0
  320. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -0
  321. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -0
  322. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -0
  323. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -0
  324. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -0
  325. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -0
  326. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -0
  327. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -0
  328. data/lib/paypal_server_sdk/models/subscription_payer.rb +85 -0
  329. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -0
  330. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -0
  331. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -0
  332. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +42 -0
  333. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +36 -0
  334. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -0
  335. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -0
  336. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -0
  337. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +133 -0
  338. data/lib/paypal_server_sdk/models/supplementary_data.rb +76 -0
  339. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -0
  340. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -0
  341. data/lib/paypal_server_sdk/models/tax_id_type.rb +36 -0
  342. data/lib/paypal_server_sdk/models/tax_info.rb +69 -0
  343. data/lib/paypal_server_sdk/models/taxes.rb +71 -0
  344. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -0
  345. data/lib/paypal_server_sdk/models/tenure_type.rb +43 -0
  346. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +76 -0
  347. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +89 -0
  348. data/lib/paypal_server_sdk/models/token.rb +68 -0
  349. data/lib/paypal_server_sdk/models/token_type.rb +27 -0
  350. data/lib/paypal_server_sdk/models/transaction_details.rb +125 -0
  351. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -0
  352. data/lib/paypal_server_sdk/models/transaction_search_error_details.rb +103 -0
  353. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -0
  354. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +111 -0
  355. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +98 -0
  356. data/lib/paypal_server_sdk/models/universal_product_code.rb +68 -0
  357. data/lib/paypal_server_sdk/models/upc_type.rb +56 -0
  358. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -0
  359. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -0
  360. data/lib/paypal_server_sdk/models/usage_pattern.rb +95 -0
  361. data/lib/paypal_server_sdk/models/usage_type.rb +39 -0
  362. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -0
  363. data/lib/paypal_server_sdk/models/vault_card_experience_context.rb +129 -0
  364. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +52 -0
  365. data/lib/paypal_server_sdk/models/vault_customer.rb +72 -0
  366. data/lib/paypal_server_sdk/models/vault_experience_context.rb +155 -0
  367. data/lib/paypal_server_sdk/models/vault_instruction.rb +62 -0
  368. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +39 -0
  369. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +64 -0
  370. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +154 -0
  371. data/lib/paypal_server_sdk/models/vault_response.rb +100 -0
  372. data/lib/paypal_server_sdk/models/vault_response_customer.rb +86 -0
  373. data/lib/paypal_server_sdk/models/vault_status.rb +45 -0
  374. data/lib/paypal_server_sdk/models/vault_token_request.rb +68 -0
  375. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +26 -0
  376. data/lib/paypal_server_sdk/models/vault_user_action.rb +42 -0
  377. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +143 -0
  378. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +132 -0
  379. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +114 -0
  380. data/lib/paypal_server_sdk/models/venmo_experience_context.rb +101 -0
  381. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +199 -0
  382. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +40 -0
  383. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +58 -0
  384. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +39 -0
  385. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -0
  386. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +45 -0
  387. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +72 -0
  388. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +62 -0
  389. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +94 -0
  390. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +108 -0
  391. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_shipping_preference.rb +43 -0
  392. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +42 -0
  393. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +102 -0
  394. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +146 -0
  395. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +131 -0
  396. data/lib/{apimatic_calculator → paypal_server_sdk}/utilities/date_time_helper.rb +11 -11
  397. data/lib/{apimatic_calculator → paypal_server_sdk}/utilities/file_wrapper.rb +17 -17
  398. data/lib/paypal_server_sdk.rb +437 -0
  399. metadata +396 -18
  400. data/lib/apimatic_calculator/api_helper.rb +0 -10
  401. data/lib/apimatic_calculator/client.rb +0 -56
  402. data/lib/apimatic_calculator/controllers/simple_calculator_controller.rb +0 -33
  403. data/lib/apimatic_calculator/http/http_call_back.rb +0 -10
  404. data/lib/apimatic_calculator/http/http_method_enum.rb +0 -10
  405. data/lib/apimatic_calculator/http/http_request.rb +0 -10
  406. data/lib/apimatic_calculator/http/http_response.rb +0 -10
  407. data/lib/apimatic_calculator/models/operation_type_enum.rb +0 -44
  408. data/lib/apimatic_calculator.rb +0 -40
@@ -0,0 +1,72 @@
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
+ # Representation of card details as received in the request.
8
+ class CardFromRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date
13
+ # and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
14
+ # @return [String]
15
+ attr_accessor :expiry
16
+
17
+ # The last digits of the payment card.
18
+ # @return [String]
19
+ attr_accessor :last_digits
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['expiry'] = 'expiry'
25
+ @_hash['last_digits'] = 'last_digits'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ %w[
32
+ expiry
33
+ last_digits
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(expiry: SKIP, last_digits: SKIP)
43
+ @expiry = expiry unless expiry == SKIP
44
+ @last_digits = last_digits unless last_digits == SKIP
45
+ end
46
+
47
+ # Creates an instance of the object from a hash.
48
+ def self.from_hash(hash)
49
+ return nil unless hash
50
+
51
+ # Extract variables from the hash.
52
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
53
+ last_digits = hash.key?('last_digits') ? hash['last_digits'] : SKIP
54
+
55
+ # Create object from extracted values.
56
+ CardFromRequest.new(expiry: expiry,
57
+ last_digits: last_digits)
58
+ end
59
+
60
+ # Provides a human-readable string representation of the object.
61
+ def to_s
62
+ class_name = self.class.name.split('::').last
63
+ "<#{class_name} expiry: #{@expiry}, last_digits: #{@last_digits}>"
64
+ end
65
+
66
+ # Provides a debugging-friendly string with detailed object information.
67
+ def inspect
68
+ class_name = self.class.name.split('::').last
69
+ "<#{class_name} expiry: #{@expiry.inspect}, last_digits: #{@last_digits.inspect}>"
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,178 @@
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
+ # Full representation of a Card Payment Token.
8
+ class CardPaymentTokenEntity < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The card holder's name as it appears on the card.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The last digits of the payment card.
17
+ # @return [String]
18
+ attr_accessor :last_digits
19
+
20
+ # The card network or brand. Applies to credit, debit, gift, and payment
21
+ # cards.
22
+ # @return [CardBrand]
23
+ attr_accessor :brand
24
+
25
+ # The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date
26
+ # and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
27
+ # @return [String]
28
+ attr_accessor :expiry
29
+
30
+ # Address request details.
31
+ # @return [CardResponseAddress]
32
+ attr_accessor :billing_address
33
+
34
+ # Verification status of Card.
35
+ # @return [CardVerificationStatus]
36
+ attr_accessor :verification_status
37
+
38
+ # Card Verification details including the authorization details and 3D
39
+ # SECURE details.
40
+ # @return [CardVerificationDetails]
41
+ attr_accessor :verification
42
+
43
+ # Previous network transaction reference including id in response.
44
+ # @return [NetworkTransactionReferenceEntity]
45
+ attr_accessor :network_transaction_reference
46
+
47
+ # Results of Authentication such as 3D Secure.
48
+ # @return [CardAuthenticationResponse]
49
+ attr_accessor :authentication_result
50
+
51
+ # Bank Identification Number (BIN) details used to fund a payment.
52
+ # @return [BinDetails]
53
+ attr_accessor :bin_details
54
+
55
+ # Type of card. i.e Credit, Debit and so on.
56
+ # @return [CardType]
57
+ attr_accessor :type
58
+
59
+ # A mapping from model property names to API property names.
60
+ def self.names
61
+ @_hash = {} if @_hash.nil?
62
+ @_hash['name'] = 'name'
63
+ @_hash['last_digits'] = 'last_digits'
64
+ @_hash['brand'] = 'brand'
65
+ @_hash['expiry'] = 'expiry'
66
+ @_hash['billing_address'] = 'billing_address'
67
+ @_hash['verification_status'] = 'verification_status'
68
+ @_hash['verification'] = 'verification'
69
+ @_hash['network_transaction_reference'] =
70
+ 'network_transaction_reference'
71
+ @_hash['authentication_result'] = 'authentication_result'
72
+ @_hash['bin_details'] = 'bin_details'
73
+ @_hash['type'] = 'type'
74
+ @_hash
75
+ end
76
+
77
+ # An array for optional fields
78
+ def self.optionals
79
+ %w[
80
+ name
81
+ last_digits
82
+ brand
83
+ expiry
84
+ billing_address
85
+ verification_status
86
+ verification
87
+ network_transaction_reference
88
+ authentication_result
89
+ bin_details
90
+ type
91
+ ]
92
+ end
93
+
94
+ # An array for nullable fields
95
+ def self.nullables
96
+ []
97
+ end
98
+
99
+ def initialize(name: SKIP, last_digits: SKIP, brand: SKIP, expiry: SKIP,
100
+ billing_address: SKIP, verification_status: SKIP,
101
+ verification: SKIP, network_transaction_reference: SKIP,
102
+ authentication_result: SKIP, bin_details: SKIP, type: SKIP)
103
+ @name = name unless name == SKIP
104
+ @last_digits = last_digits unless last_digits == SKIP
105
+ @brand = brand unless brand == SKIP
106
+ @expiry = expiry unless expiry == SKIP
107
+ @billing_address = billing_address unless billing_address == SKIP
108
+ @verification_status = verification_status unless verification_status == SKIP
109
+ @verification = verification unless verification == SKIP
110
+ unless network_transaction_reference == SKIP
111
+ @network_transaction_reference =
112
+ network_transaction_reference
113
+ end
114
+ @authentication_result = authentication_result unless authentication_result == SKIP
115
+ @bin_details = bin_details unless bin_details == SKIP
116
+ @type = type unless type == SKIP
117
+ end
118
+
119
+ # Creates an instance of the object from a hash.
120
+ def self.from_hash(hash)
121
+ return nil unless hash
122
+
123
+ # Extract variables from the hash.
124
+ name = hash.key?('name') ? hash['name'] : SKIP
125
+ last_digits = hash.key?('last_digits') ? hash['last_digits'] : SKIP
126
+ brand = hash.key?('brand') ? hash['brand'] : SKIP
127
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
128
+ billing_address = CardResponseAddress.from_hash(hash['billing_address']) if
129
+ hash['billing_address']
130
+ verification_status =
131
+ hash.key?('verification_status') ? hash['verification_status'] : SKIP
132
+ verification = CardVerificationDetails.from_hash(hash['verification']) if
133
+ hash['verification']
134
+ if hash['network_transaction_reference']
135
+ network_transaction_reference = NetworkTransactionReferenceEntity.from_hash(hash['network_transaction_reference'])
136
+ end
137
+ authentication_result = CardAuthenticationResponse.from_hash(hash['authentication_result']) if
138
+ hash['authentication_result']
139
+ bin_details = BinDetails.from_hash(hash['bin_details']) if hash['bin_details']
140
+ type = hash.key?('type') ? hash['type'] : SKIP
141
+
142
+ # Create object from extracted values.
143
+ CardPaymentTokenEntity.new(name: name,
144
+ last_digits: last_digits,
145
+ brand: brand,
146
+ expiry: expiry,
147
+ billing_address: billing_address,
148
+ verification_status: verification_status,
149
+ verification: verification,
150
+ network_transaction_reference: network_transaction_reference,
151
+ authentication_result: authentication_result,
152
+ bin_details: bin_details,
153
+ type: type)
154
+ end
155
+
156
+ # Provides a human-readable string representation of the object.
157
+ def to_s
158
+ class_name = self.class.name.split('::').last
159
+ "<#{class_name} name: #{@name}, last_digits: #{@last_digits}, brand: #{@brand}, expiry:"\
160
+ " #{@expiry}, billing_address: #{@billing_address}, verification_status:"\
161
+ " #{@verification_status}, verification: #{@verification}, network_transaction_reference:"\
162
+ " #{@network_transaction_reference}, authentication_result: #{@authentication_result},"\
163
+ " bin_details: #{@bin_details}, type: #{@type}>"
164
+ end
165
+
166
+ # Provides a debugging-friendly string with detailed object information.
167
+ def inspect
168
+ class_name = self.class.name.split('::').last
169
+ "<#{class_name} name: #{@name.inspect}, last_digits: #{@last_digits.inspect}, brand:"\
170
+ " #{@brand.inspect}, expiry: #{@expiry.inspect}, billing_address:"\
171
+ " #{@billing_address.inspect}, verification_status: #{@verification_status.inspect},"\
172
+ " verification: #{@verification.inspect}, network_transaction_reference:"\
173
+ " #{@network_transaction_reference.inspect}, authentication_result:"\
174
+ " #{@authentication_result.inspect}, bin_details: #{@bin_details.inspect}, type:"\
175
+ " #{@type.inspect}>"
176
+ end
177
+ end
178
+ end
@@ -0,0 +1,191 @@
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 payment card to use to fund a payment. Can be a credit or debit card.
8
+ # Note: Passing card number, cvv and expiry directly via the API requires PCI
9
+ # SAQ D compliance. *PayPal offers a mechanism by which you do not have to
10
+ # take on the PCI SAQ D burden by using hosted fields - refer to this
11
+ # Integration Guide*.
12
+ class CardRequest < BaseModel
13
+ SKIP = Object.new
14
+ private_constant :SKIP
15
+
16
+ # The card holder's name as it appears on the card.
17
+ # @return [String]
18
+ attr_accessor :name
19
+
20
+ # The primary account number (PAN) for the payment card.
21
+ # @return [String]
22
+ attr_accessor :number
23
+
24
+ # The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date
25
+ # and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
26
+ # @return [String]
27
+ attr_accessor :expiry
28
+
29
+ # The three- or four-digit security code of the card. Also known as the CVV,
30
+ # CVC, CVN, CVE, or CID. This parameter cannot be present in the request
31
+ # when `payment_initiator=MERCHANT`.
32
+ # @return [String]
33
+ attr_accessor :security_code
34
+
35
+ # The portable international postal address. Maps to
36
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
37
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
38
+ # the autocomplete
39
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
40
+ # ntrols-the-autocomplete-attribute).
41
+ # @return [Address]
42
+ attr_accessor :billing_address
43
+
44
+ # Additional attributes associated with the use of this card.
45
+ # @return [CardAttributes]
46
+ attr_accessor :attributes
47
+
48
+ # The PayPal-generated ID for the vaulted payment source. This ID should be
49
+ # stored on the merchant's server so the saved payment source can be used
50
+ # for future transactions.
51
+ # @return [String]
52
+ attr_accessor :vault_id
53
+
54
+ # The PayPal-generated, short-lived, one-time-use token, used to communicate
55
+ # payment information to PayPal for transaction processing.
56
+ # @return [String]
57
+ attr_accessor :single_use_token
58
+
59
+ # Provides additional details to process a payment using a `card` that has
60
+ # been stored or is intended to be stored (also referred to as
61
+ # stored_credential or card-on-file). Parameter compatibility:
62
+ # `payment_type=ONE_TIME` is compatible only with
63
+ # `payment_initiator=CUSTOMER`. `usage=FIRST` is compatible only with
64
+ # `payment_initiator=CUSTOMER`. `previous_transaction_reference` or
65
+ # `previous_network_transaction_reference` is compatible only with
66
+ # `payment_initiator=MERCHANT`. Only one of the parameters -
67
+ # `previous_transaction_reference` and
68
+ # `previous_network_transaction_reference` - can be present in the request.
69
+ # @return [CardStoredCredential]
70
+ attr_accessor :stored_credential
71
+
72
+ # The Third Party Network token used to fund a payment.
73
+ # @return [NetworkToken]
74
+ attr_accessor :network_token
75
+
76
+ # Customizes the payer experience during the 3DS Approval for payment.
77
+ # @return [CardExperienceContext]
78
+ attr_accessor :experience_context
79
+
80
+ # A mapping from model property names to API property names.
81
+ def self.names
82
+ @_hash = {} if @_hash.nil?
83
+ @_hash['name'] = 'name'
84
+ @_hash['number'] = 'number'
85
+ @_hash['expiry'] = 'expiry'
86
+ @_hash['security_code'] = 'security_code'
87
+ @_hash['billing_address'] = 'billing_address'
88
+ @_hash['attributes'] = 'attributes'
89
+ @_hash['vault_id'] = 'vault_id'
90
+ @_hash['single_use_token'] = 'single_use_token'
91
+ @_hash['stored_credential'] = 'stored_credential'
92
+ @_hash['network_token'] = 'network_token'
93
+ @_hash['experience_context'] = 'experience_context'
94
+ @_hash
95
+ end
96
+
97
+ # An array for optional fields
98
+ def self.optionals
99
+ %w[
100
+ name
101
+ number
102
+ expiry
103
+ security_code
104
+ billing_address
105
+ attributes
106
+ vault_id
107
+ single_use_token
108
+ stored_credential
109
+ network_token
110
+ experience_context
111
+ ]
112
+ end
113
+
114
+ # An array for nullable fields
115
+ def self.nullables
116
+ []
117
+ end
118
+
119
+ def initialize(name: SKIP, number: SKIP, expiry: SKIP, security_code: SKIP,
120
+ billing_address: SKIP, attributes: SKIP, vault_id: SKIP,
121
+ single_use_token: SKIP, stored_credential: SKIP,
122
+ network_token: SKIP, experience_context: SKIP)
123
+ @name = name unless name == SKIP
124
+ @number = number unless number == SKIP
125
+ @expiry = expiry unless expiry == SKIP
126
+ @security_code = security_code unless security_code == SKIP
127
+ @billing_address = billing_address unless billing_address == SKIP
128
+ @attributes = attributes unless attributes == SKIP
129
+ @vault_id = vault_id unless vault_id == SKIP
130
+ @single_use_token = single_use_token unless single_use_token == SKIP
131
+ @stored_credential = stored_credential unless stored_credential == SKIP
132
+ @network_token = network_token unless network_token == SKIP
133
+ @experience_context = experience_context unless experience_context == SKIP
134
+ end
135
+
136
+ # Creates an instance of the object from a hash.
137
+ def self.from_hash(hash)
138
+ return nil unless hash
139
+
140
+ # Extract variables from the hash.
141
+ name = hash.key?('name') ? hash['name'] : SKIP
142
+ number = hash.key?('number') ? hash['number'] : SKIP
143
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
144
+ security_code = hash.key?('security_code') ? hash['security_code'] : SKIP
145
+ billing_address = Address.from_hash(hash['billing_address']) if hash['billing_address']
146
+ attributes = CardAttributes.from_hash(hash['attributes']) if hash['attributes']
147
+ vault_id = hash.key?('vault_id') ? hash['vault_id'] : SKIP
148
+ single_use_token =
149
+ hash.key?('single_use_token') ? hash['single_use_token'] : SKIP
150
+ stored_credential = CardStoredCredential.from_hash(hash['stored_credential']) if
151
+ hash['stored_credential']
152
+ network_token = NetworkToken.from_hash(hash['network_token']) if hash['network_token']
153
+ experience_context = CardExperienceContext.from_hash(hash['experience_context']) if
154
+ hash['experience_context']
155
+
156
+ # Create object from extracted values.
157
+ CardRequest.new(name: name,
158
+ number: number,
159
+ expiry: expiry,
160
+ security_code: security_code,
161
+ billing_address: billing_address,
162
+ attributes: attributes,
163
+ vault_id: vault_id,
164
+ single_use_token: single_use_token,
165
+ stored_credential: stored_credential,
166
+ network_token: network_token,
167
+ experience_context: experience_context)
168
+ end
169
+
170
+ # Provides a human-readable string representation of the object.
171
+ def to_s
172
+ class_name = self.class.name.split('::').last
173
+ "<#{class_name} name: #{@name}, number: #{@number}, expiry: #{@expiry}, security_code:"\
174
+ " #{@security_code}, billing_address: #{@billing_address}, attributes: #{@attributes},"\
175
+ " vault_id: #{@vault_id}, single_use_token: #{@single_use_token}, stored_credential:"\
176
+ " #{@stored_credential}, network_token: #{@network_token}, experience_context:"\
177
+ " #{@experience_context}>"
178
+ end
179
+
180
+ # Provides a debugging-friendly string with detailed object information.
181
+ def inspect
182
+ class_name = self.class.name.split('::').last
183
+ "<#{class_name} name: #{@name.inspect}, number: #{@number.inspect}, expiry:"\
184
+ " #{@expiry.inspect}, security_code: #{@security_code.inspect}, billing_address:"\
185
+ " #{@billing_address.inspect}, attributes: #{@attributes.inspect}, vault_id:"\
186
+ " #{@vault_id.inspect}, single_use_token: #{@single_use_token.inspect}, stored_credential:"\
187
+ " #{@stored_credential.inspect}, network_token: #{@network_token.inspect},"\
188
+ " experience_context: #{@experience_context.inspect}>"
189
+ end
190
+ end
191
+ end
@@ -0,0 +1,180 @@
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 payment card to use to fund a payment. Card can be a credit or debit
8
+ # card.
9
+ class CardResponse < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The card holder's name as it appears on the card.
14
+ # @return [String]
15
+ attr_accessor :name
16
+
17
+ # The last digits of the payment card.
18
+ # @return [String]
19
+ attr_accessor :last_digits
20
+
21
+ # The card network or brand. Applies to credit, debit, gift, and payment
22
+ # cards.
23
+ # @return [CardBrand]
24
+ attr_accessor :brand
25
+
26
+ # Array of brands or networks associated with the card.
27
+ # @return [Array[CardBrand]]
28
+ attr_accessor :available_networks
29
+
30
+ # Type of card. i.e Credit, Debit and so on.
31
+ # @return [CardType]
32
+ attr_accessor :type
33
+
34
+ # Results of Authentication such as 3D Secure.
35
+ # @return [AuthenticationResponse]
36
+ attr_accessor :authentication_result
37
+
38
+ # Additional attributes associated with the use of this card.
39
+ # @return [CardAttributesResponse]
40
+ attr_accessor :attributes
41
+
42
+ # Representation of card details as received in the request.
43
+ # @return [CardFromRequest]
44
+ attr_accessor :from_request
45
+
46
+ # The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date
47
+ # and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
48
+ # @return [String]
49
+ attr_accessor :expiry
50
+
51
+ # Bank Identification Number (BIN) details used to fund a payment.
52
+ # @return [BinDetails]
53
+ attr_accessor :bin_details
54
+
55
+ # Provides additional details to process a payment using a `card` that has
56
+ # been stored or is intended to be stored (also referred to as
57
+ # stored_credential or card-on-file). Parameter compatibility:
58
+ # `payment_type=ONE_TIME` is compatible only with
59
+ # `payment_initiator=CUSTOMER`. `usage=FIRST` is compatible only with
60
+ # `payment_initiator=CUSTOMER`. `previous_transaction_reference` or
61
+ # `previous_network_transaction_reference` is compatible only with
62
+ # `payment_initiator=MERCHANT`. Only one of the parameters -
63
+ # `previous_transaction_reference` and
64
+ # `previous_network_transaction_reference` - can be present in the request.
65
+ # @return [CardStoredCredential]
66
+ attr_accessor :stored_credential
67
+
68
+ # A mapping from model property names to API property names.
69
+ def self.names
70
+ @_hash = {} if @_hash.nil?
71
+ @_hash['name'] = 'name'
72
+ @_hash['last_digits'] = 'last_digits'
73
+ @_hash['brand'] = 'brand'
74
+ @_hash['available_networks'] = 'available_networks'
75
+ @_hash['type'] = 'type'
76
+ @_hash['authentication_result'] = 'authentication_result'
77
+ @_hash['attributes'] = 'attributes'
78
+ @_hash['from_request'] = 'from_request'
79
+ @_hash['expiry'] = 'expiry'
80
+ @_hash['bin_details'] = 'bin_details'
81
+ @_hash['stored_credential'] = 'stored_credential'
82
+ @_hash
83
+ end
84
+
85
+ # An array for optional fields
86
+ def self.optionals
87
+ %w[
88
+ name
89
+ last_digits
90
+ brand
91
+ available_networks
92
+ type
93
+ authentication_result
94
+ attributes
95
+ from_request
96
+ expiry
97
+ bin_details
98
+ stored_credential
99
+ ]
100
+ end
101
+
102
+ # An array for nullable fields
103
+ def self.nullables
104
+ []
105
+ end
106
+
107
+ def initialize(name: SKIP, last_digits: SKIP, brand: SKIP,
108
+ available_networks: SKIP, type: SKIP,
109
+ authentication_result: SKIP, attributes: SKIP,
110
+ from_request: SKIP, expiry: SKIP, bin_details: SKIP,
111
+ stored_credential: SKIP)
112
+ @name = name unless name == SKIP
113
+ @last_digits = last_digits unless last_digits == SKIP
114
+ @brand = brand unless brand == SKIP
115
+ @available_networks = available_networks unless available_networks == SKIP
116
+ @type = type unless type == SKIP
117
+ @authentication_result = authentication_result unless authentication_result == SKIP
118
+ @attributes = attributes unless attributes == SKIP
119
+ @from_request = from_request unless from_request == SKIP
120
+ @expiry = expiry unless expiry == SKIP
121
+ @bin_details = bin_details unless bin_details == SKIP
122
+ @stored_credential = stored_credential unless stored_credential == SKIP
123
+ end
124
+
125
+ # Creates an instance of the object from a hash.
126
+ def self.from_hash(hash)
127
+ return nil unless hash
128
+
129
+ # Extract variables from the hash.
130
+ name = hash.key?('name') ? hash['name'] : SKIP
131
+ last_digits = hash.key?('last_digits') ? hash['last_digits'] : SKIP
132
+ brand = hash.key?('brand') ? hash['brand'] : SKIP
133
+ available_networks =
134
+ hash.key?('available_networks') ? hash['available_networks'] : SKIP
135
+ type = hash.key?('type') ? hash['type'] : SKIP
136
+ authentication_result = AuthenticationResponse.from_hash(hash['authentication_result']) if
137
+ hash['authentication_result']
138
+ attributes = CardAttributesResponse.from_hash(hash['attributes']) if hash['attributes']
139
+ from_request = CardFromRequest.from_hash(hash['from_request']) if hash['from_request']
140
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
141
+ bin_details = BinDetails.from_hash(hash['bin_details']) if hash['bin_details']
142
+ stored_credential = CardStoredCredential.from_hash(hash['stored_credential']) if
143
+ hash['stored_credential']
144
+
145
+ # Create object from extracted values.
146
+ CardResponse.new(name: name,
147
+ last_digits: last_digits,
148
+ brand: brand,
149
+ available_networks: available_networks,
150
+ type: type,
151
+ authentication_result: authentication_result,
152
+ attributes: attributes,
153
+ from_request: from_request,
154
+ expiry: expiry,
155
+ bin_details: bin_details,
156
+ stored_credential: stored_credential)
157
+ end
158
+
159
+ # Provides a human-readable string representation of the object.
160
+ def to_s
161
+ class_name = self.class.name.split('::').last
162
+ "<#{class_name} name: #{@name}, last_digits: #{@last_digits}, brand: #{@brand},"\
163
+ " available_networks: #{@available_networks}, type: #{@type}, authentication_result:"\
164
+ " #{@authentication_result}, attributes: #{@attributes}, from_request: #{@from_request},"\
165
+ " expiry: #{@expiry}, bin_details: #{@bin_details}, stored_credential:"\
166
+ " #{@stored_credential}>"
167
+ end
168
+
169
+ # Provides a debugging-friendly string with detailed object information.
170
+ def inspect
171
+ class_name = self.class.name.split('::').last
172
+ "<#{class_name} name: #{@name.inspect}, last_digits: #{@last_digits.inspect}, brand:"\
173
+ " #{@brand.inspect}, available_networks: #{@available_networks.inspect}, type:"\
174
+ " #{@type.inspect}, authentication_result: #{@authentication_result.inspect}, attributes:"\
175
+ " #{@attributes.inspect}, from_request: #{@from_request.inspect}, expiry:"\
176
+ " #{@expiry.inspect}, bin_details: #{@bin_details.inspect}, stored_credential:"\
177
+ " #{@stored_credential.inspect}>"
178
+ end
179
+ end
180
+ end