paypal-server-sdk 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +35 -0
  3. data/README.md +112 -0
  4. data/lib/paypal_server_sdk/api_helper.rb +10 -0
  5. data/lib/paypal_server_sdk/client.rb +85 -0
  6. data/lib/paypal_server_sdk/configuration.rb +109 -0
  7. data/lib/paypal_server_sdk/controllers/base_controller.rb +71 -0
  8. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -0
  9. data/lib/paypal_server_sdk/controllers/orders_controller.rb +517 -0
  10. data/lib/paypal_server_sdk/controllers/payments_controller.rb +404 -0
  11. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -0
  12. data/lib/paypal_server_sdk/exceptions/api_exception.rb +10 -0
  13. data/lib/paypal_server_sdk/exceptions/error_exception.rb +71 -0
  14. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +48 -0
  15. data/lib/paypal_server_sdk/http/api_response.rb +21 -0
  16. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +136 -0
  17. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -0
  18. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -0
  19. data/lib/paypal_server_sdk/http/http_request.rb +10 -0
  20. data/lib/paypal_server_sdk/http/http_response.rb +10 -0
  21. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +114 -0
  22. data/lib/paypal_server_sdk/logging/sdk_logger.rb +17 -0
  23. data/lib/paypal_server_sdk/models/activity_timestamps.rb +68 -0
  24. data/lib/paypal_server_sdk/models/address.rb +116 -0
  25. data/lib/paypal_server_sdk/models/address_details.rb +160 -0
  26. data/lib/paypal_server_sdk/models/amount_breakdown.rb +115 -0
  27. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +80 -0
  28. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +60 -0
  29. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +50 -0
  30. data/lib/paypal_server_sdk/models/apple_pay_card.rb +94 -0
  31. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +167 -0
  32. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +95 -0
  33. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +83 -0
  34. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +24 -0
  35. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +114 -0
  36. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +51 -0
  37. data/lib/paypal_server_sdk/models/apple_pay_request.rb +137 -0
  38. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +113 -0
  39. data/lib/paypal_server_sdk/models/assurance_details.rb +68 -0
  40. data/lib/paypal_server_sdk/models/authentication_response.rb +61 -0
  41. data/lib/paypal_server_sdk/models/authorization.rb +192 -0
  42. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +23 -0
  43. data/lib/paypal_server_sdk/models/authorization_status.rb +35 -0
  44. data/lib/paypal_server_sdk/models/authorization_status_details.rb +50 -0
  45. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +60 -0
  46. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +205 -0
  47. data/lib/paypal_server_sdk/models/avs_code.rb +90 -0
  48. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +95 -0
  49. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +73 -0
  50. data/lib/paypal_server_sdk/models/base_model.rb +62 -0
  51. data/lib/paypal_server_sdk/models/bin_details.rb +88 -0
  52. data/lib/paypal_server_sdk/models/blik_experience_context.rb +122 -0
  53. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +48 -0
  54. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +52 -0
  55. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +82 -0
  56. data/lib/paypal_server_sdk/models/blik_payment_object.rb +86 -0
  57. data/lib/paypal_server_sdk/models/blik_payment_request.rb +105 -0
  58. data/lib/paypal_server_sdk/models/capture.rb +228 -0
  59. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +55 -0
  60. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +89 -0
  61. data/lib/paypal_server_sdk/models/capture_request.rb +108 -0
  62. data/lib/paypal_server_sdk/models/capture_status.rb +35 -0
  63. data/lib/paypal_server_sdk/models/capture_status_details.rb +50 -0
  64. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +60 -0
  65. data/lib/paypal_server_sdk/models/captured_payment.rb +248 -0
  66. data/lib/paypal_server_sdk/models/card_attributes.rb +70 -0
  67. data/lib/paypal_server_sdk/models/card_attributes_response.rb +50 -0
  68. data/lib/paypal_server_sdk/models/card_authentication_response.rb +51 -0
  69. data/lib/paypal_server_sdk/models/card_brand.rb +93 -0
  70. data/lib/paypal_server_sdk/models/card_customer_information.rb +85 -0
  71. data/lib/paypal_server_sdk/models/card_experience_context.rb +59 -0
  72. data/lib/paypal_server_sdk/models/card_from_request.rb +60 -0
  73. data/lib/paypal_server_sdk/models/card_payment_token.rb +166 -0
  74. data/lib/paypal_server_sdk/models/card_request.rb +176 -0
  75. data/lib/paypal_server_sdk/models/card_response.rb +139 -0
  76. data/lib/paypal_server_sdk/models/card_response_entity.rb +156 -0
  77. data/lib/paypal_server_sdk/models/card_stored_credential.rb +95 -0
  78. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +71 -0
  79. data/lib/paypal_server_sdk/models/card_type.rb +32 -0
  80. data/lib/paypal_server_sdk/models/card_vault_response.rb +86 -0
  81. data/lib/paypal_server_sdk/models/card_verification.rb +51 -0
  82. data/lib/paypal_server_sdk/models/card_verification_details.rb +111 -0
  83. data/lib/paypal_server_sdk/models/card_verification_method.rb +29 -0
  84. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +62 -0
  85. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +24 -0
  86. data/lib/paypal_server_sdk/models/cobranded_card.rb +70 -0
  87. data/lib/paypal_server_sdk/models/confirm_order_request.rb +74 -0
  88. data/lib/paypal_server_sdk/models/customer_information.rb +72 -0
  89. data/lib/paypal_server_sdk/models/customer_request.rb +62 -0
  90. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +105 -0
  91. data/lib/paypal_server_sdk/models/cvv_code.rb +60 -0
  92. data/lib/paypal_server_sdk/models/disbursement_mode.rb +23 -0
  93. data/lib/paypal_server_sdk/models/dispute_category.rb +23 -0
  94. data/lib/paypal_server_sdk/models/eci_flag.rb +39 -0
  95. data/lib/paypal_server_sdk/models/enrollment_status.rb +29 -0
  96. data/lib/paypal_server_sdk/models/eps_payment_object.rb +74 -0
  97. data/lib/paypal_server_sdk/models/eps_payment_request.rb +73 -0
  98. data/lib/paypal_server_sdk/models/error_details.rb +110 -0
  99. data/lib/paypal_server_sdk/models/exchange_rate.rb +75 -0
  100. data/lib/paypal_server_sdk/models/experience_context.rb +98 -0
  101. data/lib/paypal_server_sdk/models/fullfillment_type.rb +31 -0
  102. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +74 -0
  103. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +73 -0
  104. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +23 -0
  105. data/lib/paypal_server_sdk/models/google_pay_card_attributes.rb +51 -0
  106. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +104 -0
  107. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +105 -0
  108. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +20 -0
  109. data/lib/paypal_server_sdk/models/google_pay_request.rb +118 -0
  110. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +84 -0
  111. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +85 -0
  112. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +85 -0
  113. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +83 -0
  114. data/lib/paypal_server_sdk/models/item.rb +134 -0
  115. data/lib/paypal_server_sdk/models/item_category.rb +26 -0
  116. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +66 -0
  117. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +120 -0
  118. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +26 -0
  119. data/lib/paypal_server_sdk/models/line_item.rb +177 -0
  120. data/lib/paypal_server_sdk/models/link_description.rb +75 -0
  121. data/lib/paypal_server_sdk/models/link_http_method.rb +41 -0
  122. data/lib/paypal_server_sdk/models/money.rb +62 -0
  123. data/lib/paypal_server_sdk/models/my_bank_payment_object.rb +85 -0
  124. data/lib/paypal_server_sdk/models/my_bank_payment_request.rb +73 -0
  125. data/lib/paypal_server_sdk/models/name.rb +61 -0
  126. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +73 -0
  127. data/lib/paypal_server_sdk/models/network_token.rb +95 -0
  128. data/lib/paypal_server_sdk/models/network_transaction_reference.rb +90 -0
  129. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +88 -0
  130. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +45 -0
  131. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -0
  132. data/lib/paypal_server_sdk/models/order.rb +178 -0
  133. data/lib/paypal_server_sdk/models/order_application_context.rb +193 -0
  134. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +32 -0
  135. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +34 -0
  136. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +29 -0
  137. data/lib/paypal_server_sdk/models/order_authorize_request.rb +51 -0
  138. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +104 -0
  139. data/lib/paypal_server_sdk/models/order_authorize_response.rb +171 -0
  140. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +88 -0
  141. data/lib/paypal_server_sdk/models/order_capture_request.rb +51 -0
  142. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +104 -0
  143. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +109 -0
  144. data/lib/paypal_server_sdk/models/order_request.rb +103 -0
  145. data/lib/paypal_server_sdk/models/order_status.rb +35 -0
  146. data/lib/paypal_server_sdk/models/order_tracker_item.rb +99 -0
  147. data/lib/paypal_server_sdk/models/order_tracker_request.rb +116 -0
  148. data/lib/paypal_server_sdk/models/order_tracker_response.rb +122 -0
  149. data/lib/paypal_server_sdk/models/order_tracker_status.rb +23 -0
  150. data/lib/paypal_server_sdk/models/p24_payment_object.rb +108 -0
  151. data/lib/paypal_server_sdk/models/p24_payment_request.rb +85 -0
  152. data/lib/paypal_server_sdk/models/pa_res_status.rb +42 -0
  153. data/lib/paypal_server_sdk/models/patch.rb +83 -0
  154. data/lib/paypal_server_sdk/models/patch_op.rb +35 -0
  155. data/lib/paypal_server_sdk/models/pay_pal_experience_landing_page.rb +26 -0
  156. data/lib/paypal_server_sdk/models/pay_pal_experience_user_action.rb +24 -0
  157. data/lib/paypal_server_sdk/models/pay_pal_payment_token.rb +180 -0
  158. data/lib/paypal_server_sdk/models/pay_pal_payment_token_customer_type.rb +25 -0
  159. data/lib/paypal_server_sdk/models/pay_pal_payment_token_usage_pattern.rb +35 -0
  160. data/lib/paypal_server_sdk/models/pay_pal_payment_token_usage_type.rb +23 -0
  161. data/lib/paypal_server_sdk/models/pay_pal_wallet.rb +158 -0
  162. data/lib/paypal_server_sdk/models/pay_pal_wallet_account_verification_status.rb +24 -0
  163. data/lib/paypal_server_sdk/models/pay_pal_wallet_attributes.rb +59 -0
  164. data/lib/paypal_server_sdk/models/pay_pal_wallet_attributes_response.rb +70 -0
  165. data/lib/paypal_server_sdk/models/pay_pal_wallet_customer.rb +85 -0
  166. data/lib/paypal_server_sdk/models/pay_pal_wallet_customer_request.rb +85 -0
  167. data/lib/paypal_server_sdk/models/pay_pal_wallet_experience_context.rb +140 -0
  168. data/lib/paypal_server_sdk/models/pay_pal_wallet_response.rb +166 -0
  169. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_instruction.rb +115 -0
  170. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_response.rb +86 -0
  171. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_status.rb +26 -0
  172. data/lib/paypal_server_sdk/models/payee.rb +65 -0
  173. data/lib/paypal_server_sdk/models/payee_base.rb +64 -0
  174. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +23 -0
  175. data/lib/paypal_server_sdk/models/payer.rb +120 -0
  176. data/lib/paypal_server_sdk/models/payer_base.rb +64 -0
  177. data/lib/paypal_server_sdk/models/payment_advice_code.rb +30 -0
  178. data/lib/paypal_server_sdk/models/payment_authorization.rb +212 -0
  179. data/lib/paypal_server_sdk/models/payment_collection.rb +99 -0
  180. data/lib/paypal_server_sdk/models/payment_initiator.rb +23 -0
  181. data/lib/paypal_server_sdk/models/payment_instruction.rb +105 -0
  182. data/lib/paypal_server_sdk/models/payment_method_preference.rb +72 -0
  183. data/lib/paypal_server_sdk/models/payment_source.rb +187 -0
  184. data/lib/paypal_server_sdk/models/payment_source_response.rb +171 -0
  185. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +50 -0
  186. data/lib/paypal_server_sdk/models/payment_token_request.rb +60 -0
  187. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +125 -0
  188. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +59 -0
  189. data/lib/paypal_server_sdk/models/payment_token_response.rb +87 -0
  190. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +87 -0
  191. data/lib/paypal_server_sdk/models/phone.rb +77 -0
  192. data/lib/paypal_server_sdk/models/phone_number.rb +54 -0
  193. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +66 -0
  194. data/lib/paypal_server_sdk/models/phone_type.rb +32 -0
  195. data/lib/paypal_server_sdk/models/phone_with_type.rb +59 -0
  196. data/lib/paypal_server_sdk/models/platform_fee.rb +63 -0
  197. data/lib/paypal_server_sdk/models/processing_instruction.rb +23 -0
  198. data/lib/paypal_server_sdk/models/processor_response.rb +83 -0
  199. data/lib/paypal_server_sdk/models/processor_response_code.rb +479 -0
  200. data/lib/paypal_server_sdk/models/purchase_unit.rb +227 -0
  201. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +193 -0
  202. data/lib/paypal_server_sdk/models/reauthorize_request.rb +62 -0
  203. data/lib/paypal_server_sdk/models/refund.rb +195 -0
  204. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +20 -0
  205. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +68 -0
  206. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +52 -0
  207. data/lib/paypal_server_sdk/models/refund_request.rb +100 -0
  208. data/lib/paypal_server_sdk/models/refund_status.rb +29 -0
  209. data/lib/paypal_server_sdk/models/refund_status_details.rb +50 -0
  210. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +60 -0
  211. data/lib/paypal_server_sdk/models/related_identifiers.rb +69 -0
  212. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +156 -0
  213. data/lib/paypal_server_sdk/models/seller_protection.rb +65 -0
  214. data/lib/paypal_server_sdk/models/seller_protection_status.rb +29 -0
  215. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +129 -0
  216. data/lib/paypal_server_sdk/models/setup_token_card_experience_context.rb +103 -0
  217. data/lib/paypal_server_sdk/models/setup_token_request.rb +60 -0
  218. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +141 -0
  219. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +77 -0
  220. data/lib/paypal_server_sdk/models/setup_token_response.rb +106 -0
  221. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +156 -0
  222. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +68 -0
  223. data/lib/paypal_server_sdk/models/shipment_carrier.rb +3852 -0
  224. data/lib/paypal_server_sdk/models/shipping_details.rb +106 -0
  225. data/lib/paypal_server_sdk/models/shipping_name.rb +50 -0
  226. data/lib/paypal_server_sdk/models/shipping_option.rb +94 -0
  227. data/lib/paypal_server_sdk/models/shipping_preference.rb +26 -0
  228. data/lib/paypal_server_sdk/models/shipping_type.rb +29 -0
  229. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +124 -0
  230. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +85 -0
  231. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +73 -0
  232. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +36 -0
  233. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +20 -0
  234. data/lib/paypal_server_sdk/models/stored_payment_source.rb +95 -0
  235. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +26 -0
  236. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +27 -0
  237. data/lib/paypal_server_sdk/models/supplementary_data.rb +58 -0
  238. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +63 -0
  239. data/lib/paypal_server_sdk/models/tax_id_type.rb +23 -0
  240. data/lib/paypal_server_sdk/models/tax_info.rb +57 -0
  241. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +62 -0
  242. data/lib/paypal_server_sdk/models/token.rb +56 -0
  243. data/lib/paypal_server_sdk/models/token_request_type.rb +23 -0
  244. data/lib/paypal_server_sdk/models/token_type.rb +20 -0
  245. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +85 -0
  246. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +73 -0
  247. data/lib/paypal_server_sdk/models/universal_product_code.rb +56 -0
  248. data/lib/paypal_server_sdk/models/upc_type.rb +38 -0
  249. data/lib/paypal_server_sdk/models/vault_customer.rb +50 -0
  250. data/lib/paypal_server_sdk/models/vault_experience_context.rb +112 -0
  251. data/lib/paypal_server_sdk/models/vault_instruction.rb +50 -0
  252. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +52 -0
  253. data/lib/paypal_server_sdk/models/vault_pay_pal_wallet_request.rb +115 -0
  254. data/lib/paypal_server_sdk/models/vault_response.rb +86 -0
  255. data/lib/paypal_server_sdk/models/vault_status.rb +26 -0
  256. data/lib/paypal_server_sdk/models/vault_token_request.rb +56 -0
  257. data/lib/paypal_server_sdk/models/vault_venmo_experience_context.rb +73 -0
  258. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +115 -0
  259. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +106 -0
  260. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +75 -0
  261. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +169 -0
  262. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +25 -0
  263. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +35 -0
  264. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +23 -0
  265. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +60 -0
  266. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +50 -0
  267. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +63 -0
  268. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +65 -0
  269. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +89 -0
  270. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +120 -0
  271. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +114 -0
  272. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +11 -0
  273. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +16 -0
  274. data/lib/paypal_server_sdk.rb +306 -0
  275. metadata +357 -0
@@ -0,0 +1,59 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Additional attributes associated with the use of this PayPal Wallet.
8
+ class PayPalWalletAttributes < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [PayPalWalletCustomerRequest]
14
+ attr_accessor :customer
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [PayPalWalletVaultInstruction]
18
+ attr_accessor :vault
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['customer'] = 'customer'
24
+ @_hash['vault'] = 'vault'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ customer
32
+ vault
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(customer: SKIP, vault: SKIP)
42
+ @customer = customer unless customer == SKIP
43
+ @vault = vault unless vault == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ customer = PayPalWalletCustomerRequest.from_hash(hash['customer']) if hash['customer']
52
+ vault = PayPalWalletVaultInstruction.from_hash(hash['vault']) if hash['vault']
53
+
54
+ # Create object from extracted values.
55
+ PayPalWalletAttributes.new(customer: customer,
56
+ vault: vault)
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,70 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Additional attributes associated with the use of a PayPal Wallet.
8
+ class PayPalWalletAttributesResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The details about a saved PayPal Wallet payment source.
13
+ # @return [PayPalWalletVaultResponse]
14
+ attr_accessor :vault
15
+
16
+ # An array of merchant cobranded cards used by buyer to complete an order.
17
+ # This array will be present if a merchant has onboarded their cobranded
18
+ # card with PayPal and provided corresponding label(s).
19
+ # @return [Array[CobrandedCard]]
20
+ attr_accessor :cobranded_cards
21
+
22
+ # A mapping from model property names to API property names.
23
+ def self.names
24
+ @_hash = {} if @_hash.nil?
25
+ @_hash['vault'] = 'vault'
26
+ @_hash['cobranded_cards'] = 'cobranded_cards'
27
+ @_hash
28
+ end
29
+
30
+ # An array for optional fields
31
+ def self.optionals
32
+ %w[
33
+ vault
34
+ cobranded_cards
35
+ ]
36
+ end
37
+
38
+ # An array for nullable fields
39
+ def self.nullables
40
+ []
41
+ end
42
+
43
+ def initialize(vault: SKIP, cobranded_cards: SKIP)
44
+ @vault = vault unless vault == SKIP
45
+ @cobranded_cards = cobranded_cards unless cobranded_cards == SKIP
46
+ end
47
+
48
+ # Creates an instance of the object from a hash.
49
+ def self.from_hash(hash)
50
+ return nil unless hash
51
+
52
+ # Extract variables from the hash.
53
+ vault = PayPalWalletVaultResponse.from_hash(hash['vault']) if hash['vault']
54
+ # Parameter is an array, so we need to iterate through it
55
+ cobranded_cards = nil
56
+ unless hash['cobranded_cards'].nil?
57
+ cobranded_cards = []
58
+ hash['cobranded_cards'].each do |structure|
59
+ cobranded_cards << (CobrandedCard.from_hash(structure) if structure)
60
+ end
61
+ end
62
+
63
+ cobranded_cards = SKIP unless hash.key?('cobranded_cards')
64
+
65
+ # Create object from extracted values.
66
+ PayPalWalletAttributesResponse.new(vault: vault,
67
+ cobranded_cards: cobranded_cards)
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,85 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The details about a customer in PayPal's system of record.
8
+ class PayPalWalletCustomer < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The unique ID for a customer generated by PayPal.
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
17
+ # to 64 characters are allowed before and 255 characters are allowed after
18
+ # the <code>@</code> sign. However, the generally accepted maximum length
19
+ # for an email address is 254 characters. The pattern verifies that an
20
+ # unquoted <code>@</code> sign exists.</blockquote>
21
+ # @return [String]
22
+ attr_accessor :email_address
23
+
24
+ # The phone information.
25
+ # @return [PhoneWithType]
26
+ attr_accessor :phone
27
+
28
+ # Merchants and partners may already have a data-store where their customer
29
+ # information is persisted. Use merchant_customer_id to associate the
30
+ # PayPal-generated customer.id to your representation of a customer.
31
+ # @return [String]
32
+ attr_accessor :merchant_customer_id
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['id'] = 'id'
38
+ @_hash['email_address'] = 'email_address'
39
+ @_hash['phone'] = 'phone'
40
+ @_hash['merchant_customer_id'] = 'merchant_customer_id'
41
+ @_hash
42
+ end
43
+
44
+ # An array for optional fields
45
+ def self.optionals
46
+ %w[
47
+ id
48
+ email_address
49
+ phone
50
+ merchant_customer_id
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(id: SKIP, email_address: SKIP, phone: SKIP,
60
+ merchant_customer_id: SKIP)
61
+ @id = id unless id == SKIP
62
+ @email_address = email_address unless email_address == SKIP
63
+ @phone = phone unless phone == SKIP
64
+ @merchant_customer_id = merchant_customer_id unless merchant_customer_id == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ id = hash.key?('id') ? hash['id'] : SKIP
73
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
74
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
75
+ merchant_customer_id =
76
+ hash.key?('merchant_customer_id') ? hash['merchant_customer_id'] : SKIP
77
+
78
+ # Create object from extracted values.
79
+ PayPalWalletCustomer.new(id: id,
80
+ email_address: email_address,
81
+ phone: phone,
82
+ merchant_customer_id: merchant_customer_id)
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,85 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # PayPalWalletCustomerRequest Model.
8
+ class PayPalWalletCustomerRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The unique ID for a customer generated by PayPal.
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
17
+ # to 64 characters are allowed before and 255 characters are allowed after
18
+ # the <code>@</code> sign. However, the generally accepted maximum length
19
+ # for an email address is 254 characters. The pattern verifies that an
20
+ # unquoted <code>@</code> sign exists.</blockquote>
21
+ # @return [String]
22
+ attr_accessor :email_address
23
+
24
+ # The phone information.
25
+ # @return [PhoneWithType]
26
+ attr_accessor :phone
27
+
28
+ # Merchants and partners may already have a data-store where their customer
29
+ # information is persisted. Use merchant_customer_id to associate the
30
+ # PayPal-generated customer.id to your representation of a customer.
31
+ # @return [String]
32
+ attr_accessor :merchant_customer_id
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['id'] = 'id'
38
+ @_hash['email_address'] = 'email_address'
39
+ @_hash['phone'] = 'phone'
40
+ @_hash['merchant_customer_id'] = 'merchant_customer_id'
41
+ @_hash
42
+ end
43
+
44
+ # An array for optional fields
45
+ def self.optionals
46
+ %w[
47
+ id
48
+ email_address
49
+ phone
50
+ merchant_customer_id
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(id: SKIP, email_address: SKIP, phone: SKIP,
60
+ merchant_customer_id: SKIP)
61
+ @id = id unless id == SKIP
62
+ @email_address = email_address unless email_address == SKIP
63
+ @phone = phone unless phone == SKIP
64
+ @merchant_customer_id = merchant_customer_id unless merchant_customer_id == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ id = hash.key?('id') ? hash['id'] : SKIP
73
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
74
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
75
+ merchant_customer_id =
76
+ hash.key?('merchant_customer_id') ? hash['merchant_customer_id'] : SKIP
77
+
78
+ # Create object from extracted values.
79
+ PayPalWalletCustomerRequest.new(id: id,
80
+ email_address: email_address,
81
+ phone: phone,
82
+ merchant_customer_id: merchant_customer_id)
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,140 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Customizes the payer experience during the approval process for payment with
8
+ # PayPal.<blockquote><strong>Note:</strong> Partners and Marketplaces might
9
+ # configure <code>brand_name</code> and <code>shipping_preference</code>
10
+ # during partner account setup, which overrides the request
11
+ # values.</blockquote>
12
+ class PayPalWalletExperienceContext < BaseModel
13
+ SKIP = Object.new
14
+ private_constant :SKIP
15
+
16
+ # The label that overrides the business name in the PayPal account on the
17
+ # PayPal site. The pattern is defined by an external party and supports
18
+ # Unicode.
19
+ # @return [String]
20
+ attr_accessor :brand_name
21
+
22
+ # The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the
23
+ # language in which to localize the error-related strings, such as messages,
24
+ # issues, and suggested actions. The tag is made up of the [ISO 639-2
25
+ # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
26
+ # the optional [ISO-15924 script
27
+ # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
28
+ # alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region
29
+ # code](https://unstats.un.org/unsd/methodology/m49/).
30
+ # @return [String]
31
+ attr_accessor :locale
32
+
33
+ # The location from which the shipping address is derived.
34
+ # @return [ShippingPreference]
35
+ attr_accessor :shipping_preference
36
+
37
+ # Describes the URL.
38
+ # @return [String]
39
+ attr_accessor :return_url
40
+
41
+ # Describes the URL.
42
+ # @return [String]
43
+ attr_accessor :cancel_url
44
+
45
+ # The type of landing page to show on the PayPal site for customer checkout.
46
+ # @return [PayPalExperienceLandingPage]
47
+ attr_accessor :landing_page
48
+
49
+ # Configures a <strong>Continue</strong> or <strong>Pay Now</strong>
50
+ # checkout flow.
51
+ # @return [PayPalExperienceUserAction]
52
+ attr_accessor :user_action
53
+
54
+ # The merchant-preferred payment methods.
55
+ # @return [PayeePaymentMethodPreference]
56
+ attr_accessor :payment_method_preference
57
+
58
+ # A mapping from model property names to API property names.
59
+ def self.names
60
+ @_hash = {} if @_hash.nil?
61
+ @_hash['brand_name'] = 'brand_name'
62
+ @_hash['locale'] = 'locale'
63
+ @_hash['shipping_preference'] = 'shipping_preference'
64
+ @_hash['return_url'] = 'return_url'
65
+ @_hash['cancel_url'] = 'cancel_url'
66
+ @_hash['landing_page'] = 'landing_page'
67
+ @_hash['user_action'] = 'user_action'
68
+ @_hash['payment_method_preference'] = 'payment_method_preference'
69
+ @_hash
70
+ end
71
+
72
+ # An array for optional fields
73
+ def self.optionals
74
+ %w[
75
+ brand_name
76
+ locale
77
+ shipping_preference
78
+ return_url
79
+ cancel_url
80
+ landing_page
81
+ user_action
82
+ payment_method_preference
83
+ ]
84
+ end
85
+
86
+ # An array for nullable fields
87
+ def self.nullables
88
+ []
89
+ end
90
+
91
+ def initialize(
92
+ brand_name: SKIP, locale: SKIP,
93
+ shipping_preference: ShippingPreference::GET_FROM_FILE, return_url: SKIP,
94
+ cancel_url: SKIP,
95
+ landing_page: PayPalExperienceLandingPage::NO_PREFERENCE,
96
+ user_action: PayPalExperienceUserAction::CONTINUE,
97
+ payment_method_preference: PayeePaymentMethodPreference::UNRESTRICTED
98
+ )
99
+ @brand_name = brand_name unless brand_name == SKIP
100
+ @locale = locale unless locale == SKIP
101
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
102
+ @return_url = return_url unless return_url == SKIP
103
+ @cancel_url = cancel_url unless cancel_url == SKIP
104
+ @landing_page = landing_page unless landing_page == SKIP
105
+ @user_action = user_action unless user_action == SKIP
106
+ unless payment_method_preference == SKIP
107
+ @payment_method_preference =
108
+ payment_method_preference
109
+ end
110
+ end
111
+
112
+ # Creates an instance of the object from a hash.
113
+ def self.from_hash(hash)
114
+ return nil unless hash
115
+
116
+ # Extract variables from the hash.
117
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
118
+ locale = hash.key?('locale') ? hash['locale'] : SKIP
119
+ shipping_preference =
120
+ hash['shipping_preference'] ||= ShippingPreference::GET_FROM_FILE
121
+ return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
122
+ cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
123
+ landing_page =
124
+ hash['landing_page'] ||= PayPalExperienceLandingPage::NO_PREFERENCE
125
+ user_action = hash['user_action'] ||= PayPalExperienceUserAction::CONTINUE
126
+ payment_method_preference =
127
+ hash['payment_method_preference'] ||= PayeePaymentMethodPreference::UNRESTRICTED
128
+
129
+ # Create object from extracted values.
130
+ PayPalWalletExperienceContext.new(brand_name: brand_name,
131
+ locale: locale,
132
+ shipping_preference: shipping_preference,
133
+ return_url: return_url,
134
+ cancel_url: cancel_url,
135
+ landing_page: landing_page,
136
+ user_action: user_action,
137
+ payment_method_preference: payment_method_preference)
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,166 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The PayPal Wallet response.
8
+ class PayPalWalletResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
13
+ # to 64 characters are allowed before and 255 characters are allowed after
14
+ # the <code>@</code> sign. However, the generally accepted maximum length
15
+ # for an email address is 254 characters. The pattern verifies that an
16
+ # unquoted <code>@</code> sign exists.</blockquote>
17
+ # @return [String]
18
+ attr_accessor :email_address
19
+
20
+ # The PayPal payer ID, which is a masked version of the PayPal account
21
+ # number intended for use with third parties. The account number is
22
+ # reversibly encrypted and a proprietary variant of Base32 is used to encode
23
+ # the result.
24
+ # @return [String]
25
+ attr_accessor :account_id
26
+
27
+ # The account status indicates whether the buyer has verified the financial
28
+ # details associated with their PayPal account.
29
+ # @return [PayPalWalletAccountVerificationStatus]
30
+ attr_accessor :account_status
31
+
32
+ # The name of the party.
33
+ # @return [Name]
34
+ attr_accessor :name
35
+
36
+ # The phone type.
37
+ # @return [PhoneType]
38
+ attr_accessor :phone_type
39
+
40
+ # The phone number in its canonical international [E.164 numbering plan
41
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
42
+ # @return [PhoneNumber]
43
+ attr_accessor :phone_number
44
+
45
+ # The stand-alone date, in [Internet date and time
46
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). To represent
47
+ # special legal values, such as a date of birth, you should use dates with
48
+ # no associated time or time-zone data. Whenever possible, use the standard
49
+ # `date_time` type. This regular expression does not validate all dates. For
50
+ # example, February 31 is valid and nothing is known about leap years.
51
+ # @return [String]
52
+ attr_accessor :birth_date
53
+
54
+ # The business name of the PayPal account holder (populated for business
55
+ # accounts only)
56
+ # @return [String]
57
+ attr_accessor :business_name
58
+
59
+ # The tax ID of the customer. The customer is also known as the payer. Both
60
+ # `tax_id` and `tax_id_type` are required.
61
+ # @return [TaxInfo]
62
+ attr_accessor :tax_info
63
+
64
+ # The portable international postal address. Maps to
65
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
66
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
67
+ # the autocomplete
68
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
69
+ # ntrols-the-autocomplete-attribute).
70
+ # @return [Address]
71
+ attr_accessor :address
72
+
73
+ # Additional attributes associated with the use of a PayPal Wallet.
74
+ # @return [PayPalWalletAttributesResponse]
75
+ attr_accessor :attributes
76
+
77
+ # A mapping from model property names to API property names.
78
+ def self.names
79
+ @_hash = {} if @_hash.nil?
80
+ @_hash['email_address'] = 'email_address'
81
+ @_hash['account_id'] = 'account_id'
82
+ @_hash['account_status'] = 'account_status'
83
+ @_hash['name'] = 'name'
84
+ @_hash['phone_type'] = 'phone_type'
85
+ @_hash['phone_number'] = 'phone_number'
86
+ @_hash['birth_date'] = 'birth_date'
87
+ @_hash['business_name'] = 'business_name'
88
+ @_hash['tax_info'] = 'tax_info'
89
+ @_hash['address'] = 'address'
90
+ @_hash['attributes'] = 'attributes'
91
+ @_hash
92
+ end
93
+
94
+ # An array for optional fields
95
+ def self.optionals
96
+ %w[
97
+ email_address
98
+ account_id
99
+ account_status
100
+ name
101
+ phone_type
102
+ phone_number
103
+ birth_date
104
+ business_name
105
+ tax_info
106
+ address
107
+ attributes
108
+ ]
109
+ end
110
+
111
+ # An array for nullable fields
112
+ def self.nullables
113
+ []
114
+ end
115
+
116
+ def initialize(email_address: SKIP, account_id: SKIP, account_status: SKIP,
117
+ name: SKIP, phone_type: SKIP, phone_number: SKIP,
118
+ birth_date: SKIP, business_name: SKIP, tax_info: SKIP,
119
+ address: SKIP, attributes: SKIP)
120
+ @email_address = email_address unless email_address == SKIP
121
+ @account_id = account_id unless account_id == SKIP
122
+ @account_status = account_status unless account_status == SKIP
123
+ @name = name unless name == SKIP
124
+ @phone_type = phone_type unless phone_type == SKIP
125
+ @phone_number = phone_number unless phone_number == SKIP
126
+ @birth_date = birth_date unless birth_date == SKIP
127
+ @business_name = business_name unless business_name == SKIP
128
+ @tax_info = tax_info unless tax_info == SKIP
129
+ @address = address unless address == SKIP
130
+ @attributes = attributes unless attributes == SKIP
131
+ end
132
+
133
+ # Creates an instance of the object from a hash.
134
+ def self.from_hash(hash)
135
+ return nil unless hash
136
+
137
+ # Extract variables from the hash.
138
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
139
+ account_id = hash.key?('account_id') ? hash['account_id'] : SKIP
140
+ account_status =
141
+ hash.key?('account_status') ? hash['account_status'] : SKIP
142
+ name = Name.from_hash(hash['name']) if hash['name']
143
+ phone_type = hash.key?('phone_type') ? hash['phone_type'] : SKIP
144
+ phone_number = PhoneNumber.from_hash(hash['phone_number']) if hash['phone_number']
145
+ birth_date = hash.key?('birth_date') ? hash['birth_date'] : SKIP
146
+ business_name = hash.key?('business_name') ? hash['business_name'] : SKIP
147
+ tax_info = TaxInfo.from_hash(hash['tax_info']) if hash['tax_info']
148
+ address = Address.from_hash(hash['address']) if hash['address']
149
+ attributes = PayPalWalletAttributesResponse.from_hash(hash['attributes']) if
150
+ hash['attributes']
151
+
152
+ # Create object from extracted values.
153
+ PayPalWalletResponse.new(email_address: email_address,
154
+ account_id: account_id,
155
+ account_status: account_status,
156
+ name: name,
157
+ phone_type: phone_type,
158
+ phone_number: phone_number,
159
+ birth_date: birth_date,
160
+ business_name: business_name,
161
+ tax_info: tax_info,
162
+ address: address,
163
+ attributes: attributes)
164
+ end
165
+ end
166
+ end