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,115 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # PayPalWalletVaultInstruction Model.
8
+ class PayPalWalletVaultInstruction < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Defines how and when the payment source gets vaulted.
13
+ # @return [StoreInVaultInstruction]
14
+ attr_accessor :store_in_vault
15
+
16
+ # The description displayed to PayPal consumer on the approval flow for
17
+ # PayPal, as well as on the PayPal payment token management experience on
18
+ # PayPal.com.
19
+ # @return [String]
20
+ attr_accessor :description
21
+
22
+ # Expected business/pricing model for the billing agreement.
23
+ # @return [PayPalPaymentTokenUsagePattern]
24
+ attr_accessor :usage_pattern
25
+
26
+ # The usage type associated with the PayPal payment token.
27
+ # @return [PayPalPaymentTokenUsageType]
28
+ attr_accessor :usage_type
29
+
30
+ # The customer type associated with the PayPal payment token. This is to
31
+ # indicate whether the customer acting on the merchant / platform is either
32
+ # a business or a consumer.
33
+ # @return [PayPalPaymentTokenCustomerType]
34
+ attr_accessor :customer_type
35
+
36
+ # Create multiple payment tokens for the same payer, merchant/platform
37
+ # combination. Use this when the customer has not logged in at
38
+ # merchant/platform. The payment token thus generated, can then also be used
39
+ # to create the customer account at merchant/platform. Use this also when
40
+ # multiple payment tokens are required for the same payer, different
41
+ # customer at merchant/platform. This helps to identify customers distinctly
42
+ # even though they may share the same PayPal account. This only applies to
43
+ # PayPal payment source.
44
+ # @return [TrueClass | FalseClass]
45
+ attr_accessor :permit_multiple_payment_tokens
46
+
47
+ # A mapping from model property names to API property names.
48
+ def self.names
49
+ @_hash = {} if @_hash.nil?
50
+ @_hash['store_in_vault'] = 'store_in_vault'
51
+ @_hash['description'] = 'description'
52
+ @_hash['usage_pattern'] = 'usage_pattern'
53
+ @_hash['usage_type'] = 'usage_type'
54
+ @_hash['customer_type'] = 'customer_type'
55
+ @_hash['permit_multiple_payment_tokens'] =
56
+ 'permit_multiple_payment_tokens'
57
+ @_hash
58
+ end
59
+
60
+ # An array for optional fields
61
+ def self.optionals
62
+ %w[
63
+ store_in_vault
64
+ description
65
+ usage_pattern
66
+ customer_type
67
+ permit_multiple_payment_tokens
68
+ ]
69
+ end
70
+
71
+ # An array for nullable fields
72
+ def self.nullables
73
+ []
74
+ end
75
+
76
+ def initialize(usage_type:, store_in_vault: SKIP, description: SKIP,
77
+ usage_pattern: SKIP,
78
+ customer_type: PayPalPaymentTokenCustomerType::CONSUMER,
79
+ permit_multiple_payment_tokens: false)
80
+ @store_in_vault = store_in_vault unless store_in_vault == SKIP
81
+ @description = description unless description == SKIP
82
+ @usage_pattern = usage_pattern unless usage_pattern == SKIP
83
+ @usage_type = usage_type
84
+ @customer_type = customer_type unless customer_type == SKIP
85
+ unless permit_multiple_payment_tokens == SKIP
86
+ @permit_multiple_payment_tokens =
87
+ permit_multiple_payment_tokens
88
+ end
89
+ end
90
+
91
+ # Creates an instance of the object from a hash.
92
+ def self.from_hash(hash)
93
+ return nil unless hash
94
+
95
+ # Extract variables from the hash.
96
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : nil
97
+ store_in_vault =
98
+ hash.key?('store_in_vault') ? hash['store_in_vault'] : SKIP
99
+ description = hash.key?('description') ? hash['description'] : SKIP
100
+ usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
101
+ customer_type =
102
+ hash['customer_type'] ||= PayPalPaymentTokenCustomerType::CONSUMER
103
+ permit_multiple_payment_tokens =
104
+ hash['permit_multiple_payment_tokens'] ||= false
105
+
106
+ # Create object from extracted values.
107
+ PayPalWalletVaultInstruction.new(usage_type: usage_type,
108
+ store_in_vault: store_in_vault,
109
+ description: description,
110
+ usage_pattern: usage_pattern,
111
+ customer_type: customer_type,
112
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens)
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,86 @@
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 saved PayPal Wallet payment source.
8
+ class PayPalWalletVaultResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The PayPal-generated ID for the saved payment source.
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # The vault status.
17
+ # @return [PayPalWalletVaultStatus]
18
+ attr_accessor :status
19
+
20
+ # An array of request-related HATEOAS links.
21
+ # @return [Array[LinkDescription]]
22
+ attr_accessor :links
23
+
24
+ # The details about a customer in PayPal's system of record.
25
+ # @return [PayPalWalletCustomer]
26
+ attr_accessor :customer
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['id'] = 'id'
32
+ @_hash['status'] = 'status'
33
+ @_hash['links'] = 'links'
34
+ @_hash['customer'] = 'customer'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ id
42
+ status
43
+ links
44
+ customer
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(id: SKIP, status: SKIP, links: SKIP, customer: SKIP)
54
+ @id = id unless id == SKIP
55
+ @status = status unless status == SKIP
56
+ @links = links unless links == SKIP
57
+ @customer = customer unless customer == 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
+ id = hash.key?('id') ? hash['id'] : SKIP
66
+ status = hash.key?('status') ? hash['status'] : SKIP
67
+ # Parameter is an array, so we need to iterate through it
68
+ links = nil
69
+ unless hash['links'].nil?
70
+ links = []
71
+ hash['links'].each do |structure|
72
+ links << (LinkDescription.from_hash(structure) if structure)
73
+ end
74
+ end
75
+
76
+ links = SKIP unless hash.key?('links')
77
+ customer = PayPalWalletCustomer.from_hash(hash['customer']) if hash['customer']
78
+
79
+ # Create object from extracted values.
80
+ PayPalWalletVaultResponse.new(id: id,
81
+ status: status,
82
+ links: links,
83
+ customer: customer)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,26 @@
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 vault status.
8
+ class PayPalWalletVaultStatus
9
+ PAY_PAL_WALLET_VAULT_STATUS = [
10
+ # TODO: Write general description for VAULTED
11
+ VAULTED = 'VAULTED'.freeze,
12
+
13
+ # TODO: Write general description for CREATED
14
+ CREATED = 'CREATED'.freeze,
15
+
16
+ # TODO: Write general description for APPROVED
17
+ APPROVED = 'APPROVED'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ true
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,65 @@
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 merchant who receives the funds and fulfills the order. The merchant is
8
+ # also known as the payee., The details for the merchant who receives the
9
+ # funds and fulfills the order. The merchant is also known as the payee.
10
+ class Payee < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
15
+ # to 64 characters are allowed before and 255 characters are allowed after
16
+ # the <code>@</code> sign. However, the generally accepted maximum length
17
+ # for an email address is 254 characters. The pattern verifies that an
18
+ # unquoted <code>@</code> sign exists.</blockquote>
19
+ # @return [String]
20
+ attr_accessor :email_address
21
+
22
+ # The account identifier for a PayPal account.
23
+ # @return [String]
24
+ attr_accessor :merchant_id
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['email_address'] = 'email_address'
30
+ @_hash['merchant_id'] = 'merchant_id'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ %w[
37
+ email_address
38
+ merchant_id
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(email_address: SKIP, merchant_id: SKIP)
48
+ @email_address = email_address unless email_address == SKIP
49
+ @merchant_id = merchant_id unless merchant_id == SKIP
50
+ end
51
+
52
+ # Creates an instance of the object from a hash.
53
+ def self.from_hash(hash)
54
+ return nil unless hash
55
+
56
+ # Extract variables from the hash.
57
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
58
+ merchant_id = hash.key?('merchant_id') ? hash['merchant_id'] : SKIP
59
+
60
+ # Create object from extracted values.
61
+ Payee.new(email_address: email_address,
62
+ merchant_id: merchant_id)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,64 @@
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 for the merchant who receives the funds and fulfills the order.
8
+ # The merchant is also known as the payee.
9
+ class PayeeBase < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
14
+ # to 64 characters are allowed before and 255 characters are allowed after
15
+ # the <code>@</code> sign. However, the generally accepted maximum length
16
+ # for an email address is 254 characters. The pattern verifies that an
17
+ # unquoted <code>@</code> sign exists.</blockquote>
18
+ # @return [String]
19
+ attr_accessor :email_address
20
+
21
+ # The account identifier for a PayPal account.
22
+ # @return [String]
23
+ attr_accessor :merchant_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['email_address'] = 'email_address'
29
+ @_hash['merchant_id'] = 'merchant_id'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ email_address
37
+ merchant_id
38
+ ]
39
+ end
40
+
41
+ # An array for nullable fields
42
+ def self.nullables
43
+ []
44
+ end
45
+
46
+ def initialize(email_address: SKIP, merchant_id: SKIP)
47
+ @email_address = email_address unless email_address == SKIP
48
+ @merchant_id = merchant_id unless merchant_id == SKIP
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
57
+ merchant_id = hash.key?('merchant_id') ? hash['merchant_id'] : SKIP
58
+
59
+ # Create object from extracted values.
60
+ PayeeBase.new(email_address: email_address,
61
+ merchant_id: merchant_id)
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,23 @@
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 merchant-preferred payment methods.
8
+ class PayeePaymentMethodPreference
9
+ PAYEE_PAYMENT_METHOD_PREFERENCE = [
10
+ # TODO: Write general description for UNRESTRICTED
11
+ UNRESTRICTED = 'UNRESTRICTED'.freeze,
12
+
13
+ # TODO: Write general description for IMMEDIATE_PAYMENT_REQUIRED
14
+ IMMEDIATE_PAYMENT_REQUIRED = 'IMMEDIATE_PAYMENT_REQUIRED'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ true
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,120 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Payer Model.
8
+ class Payer < 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 account identifier for a PayPal account.
21
+ # @return [String]
22
+ attr_accessor :payer_id
23
+
24
+ # The name of the party.
25
+ # @return [Name]
26
+ attr_accessor :name
27
+
28
+ # The phone information.
29
+ # @return [PhoneWithType]
30
+ attr_accessor :phone
31
+
32
+ # The stand-alone date, in [Internet date and time
33
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). To represent
34
+ # special legal values, such as a date of birth, you should use dates with
35
+ # no associated time or time-zone data. Whenever possible, use the standard
36
+ # `date_time` type. This regular expression does not validate all dates. For
37
+ # example, February 31 is valid and nothing is known about leap years.
38
+ # @return [String]
39
+ attr_accessor :birth_date
40
+
41
+ # The tax ID of the customer. The customer is also known as the payer. Both
42
+ # `tax_id` and `tax_id_type` are required.
43
+ # @return [TaxInfo]
44
+ attr_accessor :tax_info
45
+
46
+ # The portable international postal address. Maps to
47
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
48
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
49
+ # the autocomplete
50
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
51
+ # ntrols-the-autocomplete-attribute).
52
+ # @return [Address]
53
+ attr_accessor :address
54
+
55
+ # A mapping from model property names to API property names.
56
+ def self.names
57
+ @_hash = {} if @_hash.nil?
58
+ @_hash['email_address'] = 'email_address'
59
+ @_hash['payer_id'] = 'payer_id'
60
+ @_hash['name'] = 'name'
61
+ @_hash['phone'] = 'phone'
62
+ @_hash['birth_date'] = 'birth_date'
63
+ @_hash['tax_info'] = 'tax_info'
64
+ @_hash['address'] = 'address'
65
+ @_hash
66
+ end
67
+
68
+ # An array for optional fields
69
+ def self.optionals
70
+ %w[
71
+ email_address
72
+ payer_id
73
+ name
74
+ phone
75
+ birth_date
76
+ tax_info
77
+ address
78
+ ]
79
+ end
80
+
81
+ # An array for nullable fields
82
+ def self.nullables
83
+ []
84
+ end
85
+
86
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP, phone: SKIP,
87
+ birth_date: SKIP, tax_info: SKIP, address: SKIP)
88
+ @email_address = email_address unless email_address == SKIP
89
+ @payer_id = payer_id unless payer_id == SKIP
90
+ @name = name unless name == SKIP
91
+ @phone = phone unless phone == SKIP
92
+ @birth_date = birth_date unless birth_date == SKIP
93
+ @tax_info = tax_info unless tax_info == SKIP
94
+ @address = address unless address == SKIP
95
+ end
96
+
97
+ # Creates an instance of the object from a hash.
98
+ def self.from_hash(hash)
99
+ return nil unless hash
100
+
101
+ # Extract variables from the hash.
102
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
103
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
104
+ name = Name.from_hash(hash['name']) if hash['name']
105
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
106
+ birth_date = hash.key?('birth_date') ? hash['birth_date'] : SKIP
107
+ tax_info = TaxInfo.from_hash(hash['tax_info']) if hash['tax_info']
108
+ address = Address.from_hash(hash['address']) if hash['address']
109
+
110
+ # Create object from extracted values.
111
+ Payer.new(email_address: email_address,
112
+ payer_id: payer_id,
113
+ name: name,
114
+ phone: phone,
115
+ birth_date: birth_date,
116
+ tax_info: tax_info,
117
+ address: address)
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,64 @@
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 customer who approves and pays for the order. The customer is also known
8
+ # as the payer.
9
+ class PayerBase < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
14
+ # to 64 characters are allowed before and 255 characters are allowed after
15
+ # the <code>@</code> sign. However, the generally accepted maximum length
16
+ # for an email address is 254 characters. The pattern verifies that an
17
+ # unquoted <code>@</code> sign exists.</blockquote>
18
+ # @return [String]
19
+ attr_accessor :email_address
20
+
21
+ # The account identifier for a PayPal account.
22
+ # @return [String]
23
+ attr_accessor :payer_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['email_address'] = 'email_address'
29
+ @_hash['payer_id'] = 'payer_id'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ email_address
37
+ payer_id
38
+ ]
39
+ end
40
+
41
+ # An array for nullable fields
42
+ def self.nullables
43
+ []
44
+ end
45
+
46
+ def initialize(email_address: SKIP, payer_id: SKIP)
47
+ @email_address = email_address unless email_address == SKIP
48
+ @payer_id = payer_id unless payer_id == SKIP
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
57
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
58
+
59
+ # Create object from extracted values.
60
+ PayerBase.new(email_address: email_address,
61
+ payer_id: payer_id)
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,30 @@
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 declined payment transactions might have payment advice codes. The card
8
+ # networks, like Visa and Mastercard, return payment advice codes.
9
+ class PaymentAdviceCode
10
+ PAYMENT_ADVICE_CODE = [
11
+ # TODO: Write general description for ENUM_01
12
+ ENUM_01 = '01'.freeze,
13
+
14
+ # TODO: Write general description for ENUM_02
15
+ ENUM_02 = '02'.freeze,
16
+
17
+ # TODO: Write general description for ENUM_03
18
+ ENUM_03 = '03'.freeze,
19
+
20
+ # TODO: Write general description for ENUM_21
21
+ ENUM_21 = '21'.freeze
22
+ ].freeze
23
+
24
+ def self.validate(value)
25
+ return false if value.nil?
26
+
27
+ true
28
+ end
29
+ end
30
+ end