cli-sdk 1.0.0 → 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,41 @@
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
+ # Indicates the type of payment data passed, in case of Non China the payment
8
+ # data is 3DSECURE and for China it is EMV.
9
+ class ApplePayPaymentDataType
10
+ APPLE_PAY_PAYMENT_DATA_TYPE = [
11
+ # The card was authenticated using 3D Secure (3DS) authentication scheme.
12
+ # While using this value make sure to populate cryptogram and
13
+ # eci_indicator as part of payment data..
14
+ ENUM_3DSECURE = '3DSECURE'.freeze,
15
+
16
+ # The card was authenticated using EMV method, which is applicable for
17
+ # China. While using this value make sure to pass emv_data and pin as part
18
+ # of payment data.
19
+ EMV = 'EMV'.freeze
20
+ ].freeze
21
+
22
+ def self.validate(value)
23
+ return false if value.nil?
24
+
25
+ true
26
+ end
27
+
28
+ def self.from_value(value, default_value = ENUM_3DSECURE)
29
+ return default_value if value.nil?
30
+
31
+ str = value.to_s.strip
32
+
33
+ case str.downcase
34
+ when 'enum_3dsecure' then ENUM_3DSECURE
35
+ when 'emv' then EMV
36
+ else
37
+ default_value
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,150 @@
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
+ # Information needed to pay using ApplePay.
8
+ class ApplePayPaymentObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # ApplePay transaction identifier, this will be the unique identifier for
13
+ # this transaction provided by Apple. The pattern is defined by an external
14
+ # party and supports Unicode.
15
+ # @return [String]
16
+ attr_accessor :id
17
+
18
+ # Encrypted ApplePay token, containing card information. This token would be
19
+ # base64encoded. The pattern is defined by an external party and supports
20
+ # Unicode.
21
+ # @return [String]
22
+ attr_accessor :token
23
+
24
+ # The full name representation like Mr J Smith.
25
+ # @return [String]
26
+ attr_accessor :name
27
+
28
+ # The internationalized email address. Note: Up to 64 characters are allowed
29
+ # before and 255 characters are allowed after the @ sign. However, the
30
+ # generally accepted maximum length for an email address is 254 characters.
31
+ # The pattern verifies that an unquoted @ sign exists.
32
+ # @return [String]
33
+ attr_accessor :email_address
34
+
35
+ # The phone number in its canonical international [E.164 numbering plan
36
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
37
+ # @return [PhoneNumber]
38
+ attr_accessor :phone_number
39
+
40
+ # The Card from Apple Pay Wallet used to fund the payment.
41
+ # @return [ApplePayCardResponse]
42
+ attr_accessor :card
43
+
44
+ # Additional attributes associated with the use of Apple Pay.
45
+ # @return [ApplePayAttributesResponse]
46
+ attr_accessor :attributes
47
+
48
+ # Provides additional details to process a payment using a `card` that has
49
+ # been stored or is intended to be stored (also referred to as
50
+ # stored_credential or card-on-file). Parameter compatibility:
51
+ # `payment_type=ONE_TIME` is compatible only with
52
+ # `payment_initiator=CUSTOMER`. `usage=FIRST` is compatible only with
53
+ # `payment_initiator=CUSTOMER`. `previous_transaction_reference` or
54
+ # `previous_network_transaction_reference` is compatible only with
55
+ # `payment_initiator=MERCHANT`. Only one of the parameters -
56
+ # `previous_transaction_reference` and
57
+ # `previous_network_transaction_reference` - can be present in the request.
58
+ # @return [CardStoredCredential]
59
+ attr_accessor :stored_credential
60
+
61
+ # A mapping from model property names to API property names.
62
+ def self.names
63
+ @_hash = {} if @_hash.nil?
64
+ @_hash['id'] = 'id'
65
+ @_hash['token'] = 'token'
66
+ @_hash['name'] = 'name'
67
+ @_hash['email_address'] = 'email_address'
68
+ @_hash['phone_number'] = 'phone_number'
69
+ @_hash['card'] = 'card'
70
+ @_hash['attributes'] = 'attributes'
71
+ @_hash['stored_credential'] = 'stored_credential'
72
+ @_hash
73
+ end
74
+
75
+ # An array for optional fields
76
+ def self.optionals
77
+ %w[
78
+ id
79
+ token
80
+ name
81
+ email_address
82
+ phone_number
83
+ card
84
+ attributes
85
+ stored_credential
86
+ ]
87
+ end
88
+
89
+ # An array for nullable fields
90
+ def self.nullables
91
+ []
92
+ end
93
+
94
+ def initialize(id: SKIP, token: SKIP, name: SKIP, email_address: SKIP,
95
+ phone_number: SKIP, card: SKIP, attributes: SKIP,
96
+ stored_credential: SKIP)
97
+ @id = id unless id == SKIP
98
+ @token = token unless token == SKIP
99
+ @name = name unless name == SKIP
100
+ @email_address = email_address unless email_address == SKIP
101
+ @phone_number = phone_number unless phone_number == SKIP
102
+ @card = card unless card == SKIP
103
+ @attributes = attributes unless attributes == SKIP
104
+ @stored_credential = stored_credential unless stored_credential == SKIP
105
+ end
106
+
107
+ # Creates an instance of the object from a hash.
108
+ def self.from_hash(hash)
109
+ return nil unless hash
110
+
111
+ # Extract variables from the hash.
112
+ id = hash.key?('id') ? hash['id'] : SKIP
113
+ token = hash.key?('token') ? hash['token'] : SKIP
114
+ name = hash.key?('name') ? hash['name'] : SKIP
115
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
116
+ phone_number = PhoneNumber.from_hash(hash['phone_number']) if hash['phone_number']
117
+ card = ApplePayCardResponse.from_hash(hash['card']) if hash['card']
118
+ attributes = ApplePayAttributesResponse.from_hash(hash['attributes']) if hash['attributes']
119
+ stored_credential = CardStoredCredential.from_hash(hash['stored_credential']) if
120
+ hash['stored_credential']
121
+
122
+ # Create object from extracted values.
123
+ ApplePayPaymentObject.new(id: id,
124
+ token: token,
125
+ name: name,
126
+ email_address: email_address,
127
+ phone_number: phone_number,
128
+ card: card,
129
+ attributes: attributes,
130
+ stored_credential: stored_credential)
131
+ end
132
+
133
+ # Provides a human-readable string representation of the object.
134
+ def to_s
135
+ class_name = self.class.name.split('::').last
136
+ "<#{class_name} id: #{@id}, token: #{@token}, name: #{@name}, email_address:"\
137
+ " #{@email_address}, phone_number: #{@phone_number}, card: #{@card}, attributes:"\
138
+ " #{@attributes}, stored_credential: #{@stored_credential}>"
139
+ end
140
+
141
+ # Provides a debugging-friendly string with detailed object information.
142
+ def inspect
143
+ class_name = self.class.name.split('::').last
144
+ "<#{class_name} id: #{@id.inspect}, token: #{@token.inspect}, name: #{@name.inspect},"\
145
+ " email_address: #{@email_address.inspect}, phone_number: #{@phone_number.inspect}, card:"\
146
+ " #{@card.inspect}, attributes: #{@attributes.inspect}, stored_credential:"\
147
+ " #{@stored_credential.inspect}>"
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,63 @@
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 resource representing a response for Apple Pay.
8
+ class ApplePayPaymentToken < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The payment card to be used to fund a payment. Can be a credit or debit
13
+ # card.
14
+ # @return [ApplePayCard]
15
+ attr_accessor :card
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['card'] = 'card'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ %w[
27
+ card
28
+ ]
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ []
34
+ end
35
+
36
+ def initialize(card: SKIP)
37
+ @card = card unless card == SKIP
38
+ end
39
+
40
+ # Creates an instance of the object from a hash.
41
+ def self.from_hash(hash)
42
+ return nil unless hash
43
+
44
+ # Extract variables from the hash.
45
+ card = ApplePayCard.from_hash(hash['card']) if hash['card']
46
+
47
+ # Create object from extracted values.
48
+ ApplePayPaymentToken.new(card: card)
49
+ end
50
+
51
+ # Provides a human-readable string representation of the object.
52
+ def to_s
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} card: #{@card}>"
55
+ end
56
+
57
+ # Provides a debugging-friendly string with detailed object information.
58
+ def inspect
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} card: #{@card.inspect}>"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,165 @@
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
+ # Information needed to pay using ApplePay.
8
+ class ApplePayRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # ApplePay transaction identifier, this will be the unique identifier for
13
+ # this transaction provided by Apple. The pattern is defined by an external
14
+ # party and supports Unicode.
15
+ # @return [String]
16
+ attr_accessor :id
17
+
18
+ # The full name representation like Mr J Smith.
19
+ # @return [String]
20
+ attr_accessor :name
21
+
22
+ # The internationalized email address. Note: Up to 64 characters are allowed
23
+ # before and 255 characters are allowed after the @ sign. However, the
24
+ # generally accepted maximum length for an email address is 254 characters.
25
+ # The pattern verifies that an unquoted @ sign exists.
26
+ # @return [String]
27
+ attr_accessor :email_address
28
+
29
+ # The phone number in its canonical international [E.164 numbering plan
30
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
31
+ # @return [PhoneNumber]
32
+ attr_accessor :phone_number
33
+
34
+ # Information about the Payment data obtained by decrypting Apple Pay token.
35
+ # @return [ApplePayDecryptedTokenData]
36
+ attr_accessor :decrypted_token
37
+
38
+ # Provides additional details to process a payment using a `card` that has
39
+ # been stored or is intended to be stored (also referred to as
40
+ # stored_credential or card-on-file). Parameter compatibility:
41
+ # `payment_type=ONE_TIME` is compatible only with
42
+ # `payment_initiator=CUSTOMER`. `usage=FIRST` is compatible only with
43
+ # `payment_initiator=CUSTOMER`. `previous_transaction_reference` or
44
+ # `previous_network_transaction_reference` is compatible only with
45
+ # `payment_initiator=MERCHANT`. Only one of the parameters -
46
+ # `previous_transaction_reference` and
47
+ # `previous_network_transaction_reference` - can be present in the request.
48
+ # @return [CardStoredCredential]
49
+ attr_accessor :stored_credential
50
+
51
+ # The PayPal-generated ID for the vaulted payment source. This ID should be
52
+ # stored on the merchant's server so the saved payment source can be used
53
+ # for future transactions.
54
+ # @return [String]
55
+ attr_accessor :vault_id
56
+
57
+ # Additional attributes associated with apple pay.
58
+ # @return [ApplePayAttributes]
59
+ attr_accessor :attributes
60
+
61
+ # Customizes the payer experience during the approval process for the
62
+ # payment.
63
+ # @return [ApplePayExperienceContext]
64
+ attr_accessor :experience_context
65
+
66
+ # A mapping from model property names to API property names.
67
+ def self.names
68
+ @_hash = {} if @_hash.nil?
69
+ @_hash['id'] = 'id'
70
+ @_hash['name'] = 'name'
71
+ @_hash['email_address'] = 'email_address'
72
+ @_hash['phone_number'] = 'phone_number'
73
+ @_hash['decrypted_token'] = 'decrypted_token'
74
+ @_hash['stored_credential'] = 'stored_credential'
75
+ @_hash['vault_id'] = 'vault_id'
76
+ @_hash['attributes'] = 'attributes'
77
+ @_hash['experience_context'] = 'experience_context'
78
+ @_hash
79
+ end
80
+
81
+ # An array for optional fields
82
+ def self.optionals
83
+ %w[
84
+ id
85
+ name
86
+ email_address
87
+ phone_number
88
+ decrypted_token
89
+ stored_credential
90
+ vault_id
91
+ attributes
92
+ experience_context
93
+ ]
94
+ end
95
+
96
+ # An array for nullable fields
97
+ def self.nullables
98
+ []
99
+ end
100
+
101
+ def initialize(id: SKIP, name: SKIP, email_address: SKIP,
102
+ phone_number: SKIP, decrypted_token: SKIP,
103
+ stored_credential: SKIP, vault_id: SKIP, attributes: SKIP,
104
+ experience_context: SKIP)
105
+ @id = id unless id == SKIP
106
+ @name = name unless name == SKIP
107
+ @email_address = email_address unless email_address == SKIP
108
+ @phone_number = phone_number unless phone_number == SKIP
109
+ @decrypted_token = decrypted_token unless decrypted_token == SKIP
110
+ @stored_credential = stored_credential unless stored_credential == SKIP
111
+ @vault_id = vault_id unless vault_id == SKIP
112
+ @attributes = attributes unless attributes == SKIP
113
+ @experience_context = experience_context unless experience_context == SKIP
114
+ end
115
+
116
+ # Creates an instance of the object from a hash.
117
+ def self.from_hash(hash)
118
+ return nil unless hash
119
+
120
+ # Extract variables from the hash.
121
+ id = hash.key?('id') ? hash['id'] : SKIP
122
+ name = hash.key?('name') ? hash['name'] : SKIP
123
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
124
+ phone_number = PhoneNumber.from_hash(hash['phone_number']) if hash['phone_number']
125
+ decrypted_token = ApplePayDecryptedTokenData.from_hash(hash['decrypted_token']) if
126
+ hash['decrypted_token']
127
+ stored_credential = CardStoredCredential.from_hash(hash['stored_credential']) if
128
+ hash['stored_credential']
129
+ vault_id = hash.key?('vault_id') ? hash['vault_id'] : SKIP
130
+ attributes = ApplePayAttributes.from_hash(hash['attributes']) if hash['attributes']
131
+ experience_context = ApplePayExperienceContext.from_hash(hash['experience_context']) if
132
+ hash['experience_context']
133
+
134
+ # Create object from extracted values.
135
+ ApplePayRequest.new(id: id,
136
+ name: name,
137
+ email_address: email_address,
138
+ phone_number: phone_number,
139
+ decrypted_token: decrypted_token,
140
+ stored_credential: stored_credential,
141
+ vault_id: vault_id,
142
+ attributes: attributes,
143
+ experience_context: experience_context)
144
+ end
145
+
146
+ # Provides a human-readable string representation of the object.
147
+ def to_s
148
+ class_name = self.class.name.split('::').last
149
+ "<#{class_name} id: #{@id}, name: #{@name}, email_address: #{@email_address}, phone_number:"\
150
+ " #{@phone_number}, decrypted_token: #{@decrypted_token}, stored_credential:"\
151
+ " #{@stored_credential}, vault_id: #{@vault_id}, attributes: #{@attributes},"\
152
+ " experience_context: #{@experience_context}>"
153
+ end
154
+
155
+ # Provides a debugging-friendly string with detailed object information.
156
+ def inspect
157
+ class_name = self.class.name.split('::').last
158
+ "<#{class_name} id: #{@id.inspect}, name: #{@name.inspect}, email_address:"\
159
+ " #{@email_address.inspect}, phone_number: #{@phone_number.inspect}, decrypted_token:"\
160
+ " #{@decrypted_token.inspect}, stored_credential: #{@stored_credential.inspect}, vault_id:"\
161
+ " #{@vault_id.inspect}, attributes: #{@attributes.inspect}, experience_context:"\
162
+ " #{@experience_context.inspect}>"
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,88 @@
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 be used to fund a payment. Can be a credit or debit
8
+ # card.
9
+ class ApplePayRequestCard < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Type of card. i.e Credit, Debit and so on.
14
+ # @return [CardType]
15
+ attr_accessor :type
16
+
17
+ # The card network or brand. Applies to credit, debit, gift, and payment
18
+ # cards.
19
+ # @return [CardBrand]
20
+ attr_accessor :brand
21
+
22
+ # The portable international postal address. Maps to
23
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
24
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
25
+ # the autocomplete
26
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
27
+ # ntrols-the-autocomplete-attribute).
28
+ # @return [Address]
29
+ attr_accessor :billing_address
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['type'] = 'type'
35
+ @_hash['brand'] = 'brand'
36
+ @_hash['billing_address'] = 'billing_address'
37
+ @_hash
38
+ end
39
+
40
+ # An array for optional fields
41
+ def self.optionals
42
+ %w[
43
+ type
44
+ brand
45
+ billing_address
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(type: SKIP, brand: SKIP, billing_address: SKIP)
55
+ @type = type unless type == SKIP
56
+ @brand = brand unless brand == SKIP
57
+ @billing_address = billing_address unless billing_address == SKIP
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ type = hash.key?('type') ? hash['type'] : SKIP
66
+ brand = hash.key?('brand') ? hash['brand'] : SKIP
67
+ billing_address = Address.from_hash(hash['billing_address']) if hash['billing_address']
68
+
69
+ # Create object from extracted values.
70
+ ApplePayRequestCard.new(type: type,
71
+ brand: brand,
72
+ billing_address: billing_address)
73
+ end
74
+
75
+ # Provides a human-readable string representation of the object.
76
+ def to_s
77
+ class_name = self.class.name.split('::').last
78
+ "<#{class_name} type: #{@type}, brand: #{@brand}, billing_address: #{@billing_address}>"
79
+ end
80
+
81
+ # Provides a debugging-friendly string with detailed object information.
82
+ def inspect
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} type: #{@type.inspect}, brand: #{@brand.inspect}, billing_address:"\
85
+ " #{@billing_address.inspect}>"
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,127 @@
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
+ class ApplePayTokenizedCard < 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 primary account number (PAN) for the payment card.
17
+ # @return [String]
18
+ attr_accessor :number
19
+
20
+ # The year and month, in ISO-8601 `YYYY-MM` date format. See [Internet date
21
+ # and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
22
+ # @return [String]
23
+ attr_accessor :expiry
24
+
25
+ # The card brand or network. Typically used in the response.
26
+ # @return [CardBrand]
27
+ attr_accessor :card_type
28
+
29
+ # Type of card. i.e Credit, Debit and so on.
30
+ # @return [CardType]
31
+ attr_accessor :type
32
+
33
+ # The card network or brand. Applies to credit, debit, gift, and payment
34
+ # cards.
35
+ # @return [CardBrand]
36
+ attr_accessor :brand
37
+
38
+ # The portable international postal address. Maps to
39
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
40
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
41
+ # the autocomplete
42
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
43
+ # ntrols-the-autocomplete-attribute).
44
+ # @return [Address]
45
+ attr_accessor :billing_address
46
+
47
+ # A mapping from model property names to API property names.
48
+ def self.names
49
+ @_hash = {} if @_hash.nil?
50
+ @_hash['name'] = 'name'
51
+ @_hash['number'] = 'number'
52
+ @_hash['expiry'] = 'expiry'
53
+ @_hash['card_type'] = 'card_type'
54
+ @_hash['type'] = 'type'
55
+ @_hash['brand'] = 'brand'
56
+ @_hash['billing_address'] = 'billing_address'
57
+ @_hash
58
+ end
59
+
60
+ # An array for optional fields
61
+ def self.optionals
62
+ %w[
63
+ name
64
+ number
65
+ expiry
66
+ card_type
67
+ type
68
+ brand
69
+ billing_address
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(name: SKIP, number: SKIP, expiry: SKIP, card_type: SKIP,
79
+ type: SKIP, brand: SKIP, billing_address: SKIP)
80
+ @name = name unless name == SKIP
81
+ @number = number unless number == SKIP
82
+ @expiry = expiry unless expiry == SKIP
83
+ @card_type = card_type unless card_type == SKIP
84
+ @type = type unless type == SKIP
85
+ @brand = brand unless brand == SKIP
86
+ @billing_address = billing_address unless billing_address == SKIP
87
+ end
88
+
89
+ # Creates an instance of the object from a hash.
90
+ def self.from_hash(hash)
91
+ return nil unless hash
92
+
93
+ # Extract variables from the hash.
94
+ name = hash.key?('name') ? hash['name'] : SKIP
95
+ number = hash.key?('number') ? hash['number'] : SKIP
96
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
97
+ card_type = hash.key?('card_type') ? hash['card_type'] : SKIP
98
+ type = hash.key?('type') ? hash['type'] : SKIP
99
+ brand = hash.key?('brand') ? hash['brand'] : SKIP
100
+ billing_address = Address.from_hash(hash['billing_address']) if hash['billing_address']
101
+
102
+ # Create object from extracted values.
103
+ ApplePayTokenizedCard.new(name: name,
104
+ number: number,
105
+ expiry: expiry,
106
+ card_type: card_type,
107
+ type: type,
108
+ brand: brand,
109
+ billing_address: billing_address)
110
+ end
111
+
112
+ # Provides a human-readable string representation of the object.
113
+ def to_s
114
+ class_name = self.class.name.split('::').last
115
+ "<#{class_name} name: #{@name}, number: #{@number}, expiry: #{@expiry}, card_type:"\
116
+ " #{@card_type}, type: #{@type}, brand: #{@brand}, billing_address: #{@billing_address}>"
117
+ end
118
+
119
+ # Provides a debugging-friendly string with detailed object information.
120
+ def inspect
121
+ class_name = self.class.name.split('::').last
122
+ "<#{class_name} name: #{@name.inspect}, number: #{@number.inspect}, expiry:"\
123
+ " #{@expiry.inspect}, card_type: #{@card_type.inspect}, type: #{@type.inspect}, brand:"\
124
+ " #{@brand.inspect}, billing_address: #{@billing_address.inspect}>"
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,42 @@
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
+ # Configures the label name to `Continue` or `Subscribe Now` for subscription
8
+ # consent experience.
9
+ class ApplicationContextUserAction
10
+ APPLICATION_CONTEXT_USER_ACTION = [
11
+ # After you redirect the customer to the PayPal subscription consent page,
12
+ # a Continue button appears. Use this option when you want to control the
13
+ # activation of the subscription and do not want PayPal to activate the
14
+ # subscription.
15
+ CONTINUE = 'CONTINUE'.freeze,
16
+
17
+ # After you redirect the customer to the PayPal subscription consent page,
18
+ # a Subscribe Now button appears. Use this option when you want PayPal to
19
+ # activate the subscription.
20
+ SUBSCRIBE_NOW = 'SUBSCRIBE_NOW'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ true
27
+ end
28
+
29
+ def self.from_value(value, default_value = CONTINUE)
30
+ return default_value if value.nil?
31
+
32
+ str = value.to_s.strip
33
+
34
+ case str.downcase
35
+ when 'continue' then CONTINUE
36
+ when 'subscribe_now' then SUBSCRIBE_NOW
37
+ else
38
+ default_value
39
+ end
40
+ end
41
+ end
42
+ end