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,73 @@
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 Vault creation flow experience for your customers.
8
+ class VaultVenmoExperienceContext < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The label that overrides the business name in the PayPal account on the
13
+ # PayPal site. The pattern is defined by an external party and supports
14
+ # Unicode.
15
+ # @return [String]
16
+ attr_accessor :brand_name
17
+
18
+ # The shipping preference. This only applies to PayPal payment source.
19
+ # @return [String]
20
+ attr_accessor :shipping_preference
21
+
22
+ # Vault Instruction on action to be performed after a successful payer
23
+ # approval.
24
+ # @return [String]
25
+ attr_accessor :vault_instruction
26
+
27
+ # A mapping from model property names to API property names.
28
+ def self.names
29
+ @_hash = {} if @_hash.nil?
30
+ @_hash['brand_name'] = 'brand_name'
31
+ @_hash['shipping_preference'] = 'shipping_preference'
32
+ @_hash['vault_instruction'] = 'vault_instruction'
33
+ @_hash
34
+ end
35
+
36
+ # An array for optional fields
37
+ def self.optionals
38
+ %w[
39
+ brand_name
40
+ shipping_preference
41
+ vault_instruction
42
+ ]
43
+ end
44
+
45
+ # An array for nullable fields
46
+ def self.nullables
47
+ []
48
+ end
49
+
50
+ def initialize(brand_name: SKIP, shipping_preference: 'GET_FROM_FILE',
51
+ vault_instruction: 'ON_CREATE_PAYMENT_TOKENS')
52
+ @brand_name = brand_name unless brand_name == SKIP
53
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
54
+ @vault_instruction = vault_instruction unless vault_instruction == SKIP
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
63
+ shipping_preference = hash['shipping_preference'] ||= 'GET_FROM_FILE'
64
+ vault_instruction =
65
+ hash['vault_instruction'] ||= 'ON_CREATE_PAYMENT_TOKENS'
66
+
67
+ # Create object from extracted values.
68
+ VaultVenmoExperienceContext.new(brand_name: brand_name,
69
+ shipping_preference: shipping_preference,
70
+ vault_instruction: vault_instruction)
71
+ end
72
+ end
73
+ end
@@ -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
+ # VaultVenmoRequest Model.
8
+ class VaultVenmoRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The description displayed to the consumer on the approval flow for a
13
+ # digital wallet, as well as on the merchant view of the payment token
14
+ # management experience. exp: PayPal.com.
15
+ # @return [String]
16
+ attr_accessor :description
17
+
18
+ # The shipping details.
19
+ # @return [VaultedDigitalWalletShippingDetails]
20
+ attr_accessor :shipping
21
+
22
+ # Create multiple payment tokens for the same payer, merchant/platform
23
+ # combination. Use this when the customer has not logged in at
24
+ # merchant/platform. The payment token thus generated, can then also be used
25
+ # to create the customer account at merchant/platform. Use this also when
26
+ # multiple payment tokens are required for the same payer, different
27
+ # customer at merchant/platform. This helps to identify customers distinctly
28
+ # even though they may share the same PayPal account. This only applies to
29
+ # PayPal payment source.
30
+ # @return [TrueClass | FalseClass]
31
+ attr_accessor :permit_multiple_payment_tokens
32
+
33
+ # The usage type associated with a digital wallet payment token.
34
+ # @return [String]
35
+ attr_accessor :usage_type
36
+
37
+ # The customer type associated with a digital wallet payment token. This is
38
+ # to indicate whether the customer acting on the merchant / platform is
39
+ # either a business or a consumer.
40
+ # @return [String]
41
+ attr_accessor :customer_type
42
+
43
+ # Customizes the Vault creation flow experience for your customers.
44
+ # @return [VaultVenmoExperienceContext]
45
+ attr_accessor :experience_context
46
+
47
+ # A mapping from model property names to API property names.
48
+ def self.names
49
+ @_hash = {} if @_hash.nil?
50
+ @_hash['description'] = 'description'
51
+ @_hash['shipping'] = 'shipping'
52
+ @_hash['permit_multiple_payment_tokens'] =
53
+ 'permit_multiple_payment_tokens'
54
+ @_hash['usage_type'] = 'usage_type'
55
+ @_hash['customer_type'] = 'customer_type'
56
+ @_hash['experience_context'] = 'experience_context'
57
+ @_hash
58
+ end
59
+
60
+ # An array for optional fields
61
+ def self.optionals
62
+ %w[
63
+ description
64
+ shipping
65
+ permit_multiple_payment_tokens
66
+ usage_type
67
+ customer_type
68
+ experience_context
69
+ ]
70
+ end
71
+
72
+ # An array for nullable fields
73
+ def self.nullables
74
+ []
75
+ end
76
+
77
+ def initialize(description: SKIP, shipping: SKIP,
78
+ permit_multiple_payment_tokens: false, usage_type: SKIP,
79
+ customer_type: SKIP, experience_context: SKIP)
80
+ @description = description unless description == SKIP
81
+ @shipping = shipping unless shipping == SKIP
82
+ unless permit_multiple_payment_tokens == SKIP
83
+ @permit_multiple_payment_tokens =
84
+ permit_multiple_payment_tokens
85
+ end
86
+ @usage_type = usage_type unless usage_type == SKIP
87
+ @customer_type = customer_type unless customer_type == SKIP
88
+ @experience_context = experience_context unless experience_context == SKIP
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
+ description = hash.key?('description') ? hash['description'] : SKIP
97
+ shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
98
+ hash['shipping']
99
+ permit_multiple_payment_tokens =
100
+ hash['permit_multiple_payment_tokens'] ||= false
101
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
102
+ customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
103
+ experience_context = VaultVenmoExperienceContext.from_hash(hash['experience_context']) if
104
+ hash['experience_context']
105
+
106
+ # Create object from extracted values.
107
+ VaultVenmoRequest.new(description: description,
108
+ shipping: shipping,
109
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens,
110
+ usage_type: usage_type,
111
+ customer_type: customer_type,
112
+ experience_context: experience_context)
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,106 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Resource consolidating common request and response attributes for vaulting a
8
+ # Digital Wallet.
9
+ class VaultedDigitalWallet < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The description displayed to the consumer on the approval flow for a
14
+ # digital wallet, as well as on the merchant view of the payment token
15
+ # management experience. exp: PayPal.com.
16
+ # @return [String]
17
+ attr_accessor :description
18
+
19
+ # The shipping details.
20
+ # @return [VaultedDigitalWalletShippingDetails]
21
+ attr_accessor :shipping
22
+
23
+ # Create multiple payment tokens for the same payer, merchant/platform
24
+ # combination. Use this when the customer has not logged in at
25
+ # merchant/platform. The payment token thus generated, can then also be used
26
+ # to create the customer account at merchant/platform. Use this also when
27
+ # multiple payment tokens are required for the same payer, different
28
+ # customer at merchant/platform. This helps to identify customers distinctly
29
+ # even though they may share the same PayPal account. This only applies to
30
+ # PayPal payment source.
31
+ # @return [TrueClass | FalseClass]
32
+ attr_accessor :permit_multiple_payment_tokens
33
+
34
+ # The usage type associated with a digital wallet payment token.
35
+ # @return [String]
36
+ attr_accessor :usage_type
37
+
38
+ # The customer type associated with a digital wallet payment token. This is
39
+ # to indicate whether the customer acting on the merchant / platform is
40
+ # either a business or a consumer.
41
+ # @return [String]
42
+ attr_accessor :customer_type
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['description'] = 'description'
48
+ @_hash['shipping'] = 'shipping'
49
+ @_hash['permit_multiple_payment_tokens'] =
50
+ 'permit_multiple_payment_tokens'
51
+ @_hash['usage_type'] = 'usage_type'
52
+ @_hash['customer_type'] = 'customer_type'
53
+ @_hash
54
+ end
55
+
56
+ # An array for optional fields
57
+ def self.optionals
58
+ %w[
59
+ description
60
+ shipping
61
+ permit_multiple_payment_tokens
62
+ usage_type
63
+ customer_type
64
+ ]
65
+ end
66
+
67
+ # An array for nullable fields
68
+ def self.nullables
69
+ []
70
+ end
71
+
72
+ def initialize(description: SKIP, shipping: SKIP,
73
+ permit_multiple_payment_tokens: false, usage_type: SKIP,
74
+ customer_type: SKIP)
75
+ @description = description unless description == SKIP
76
+ @shipping = shipping unless shipping == SKIP
77
+ unless permit_multiple_payment_tokens == SKIP
78
+ @permit_multiple_payment_tokens =
79
+ permit_multiple_payment_tokens
80
+ end
81
+ @usage_type = usage_type unless usage_type == SKIP
82
+ @customer_type = customer_type unless customer_type == SKIP
83
+ end
84
+
85
+ # Creates an instance of the object from a hash.
86
+ def self.from_hash(hash)
87
+ return nil unless hash
88
+
89
+ # Extract variables from the hash.
90
+ description = hash.key?('description') ? hash['description'] : SKIP
91
+ shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
92
+ hash['shipping']
93
+ permit_multiple_payment_tokens =
94
+ hash['permit_multiple_payment_tokens'] ||= false
95
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
96
+ customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
97
+
98
+ # Create object from extracted values.
99
+ VaultedDigitalWallet.new(description: description,
100
+ shipping: shipping,
101
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens,
102
+ usage_type: usage_type,
103
+ customer_type: customer_type)
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,75 @@
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 shipping details.
8
+ class VaultedDigitalWalletShippingDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The name of the party.
13
+ # @return [ShippingName]
14
+ attr_accessor :name
15
+
16
+ # A classification for the method of purchase fulfillment (e.g shipping,
17
+ # in-store pickup, etc). Either `type` or `options` may be present, but not
18
+ # both.
19
+ # @return [FullfillmentType]
20
+ attr_accessor :type
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 :address
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['name'] = 'name'
35
+ @_hash['type'] = 'type'
36
+ @_hash['address'] = 'address'
37
+ @_hash
38
+ end
39
+
40
+ # An array for optional fields
41
+ def self.optionals
42
+ %w[
43
+ name
44
+ type
45
+ address
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(name: SKIP, type: SKIP, address: SKIP)
55
+ @name = name unless name == SKIP
56
+ @type = type unless type == SKIP
57
+ @address = address unless 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
+ name = ShippingName.from_hash(hash['name']) if hash['name']
66
+ type = hash.key?('type') ? hash['type'] : SKIP
67
+ address = Address.from_hash(hash['address']) if hash['address']
68
+
69
+ # Create object from extracted values.
70
+ VaultedDigitalWalletShippingDetails.new(name: name,
71
+ type: type,
72
+ address: address)
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,169 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # VenmoPaymentToken Model.
8
+ class VenmoPaymentToken < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The description displayed to the consumer on the approval flow for a
13
+ # digital wallet, as well as on the merchant view of the payment token
14
+ # management experience. exp: PayPal.com.
15
+ # @return [String]
16
+ attr_accessor :description
17
+
18
+ # The shipping details.
19
+ # @return [VaultedDigitalWalletShippingDetails]
20
+ attr_accessor :shipping
21
+
22
+ # Create multiple payment tokens for the same payer, merchant/platform
23
+ # combination. Use this when the customer has not logged in at
24
+ # merchant/platform. The payment token thus generated, can then also be used
25
+ # to create the customer account at merchant/platform. Use this also when
26
+ # multiple payment tokens are required for the same payer, different
27
+ # customer at merchant/platform. This helps to identify customers distinctly
28
+ # even though they may share the same PayPal account. This only applies to
29
+ # PayPal payment source.
30
+ # @return [TrueClass | FalseClass]
31
+ attr_accessor :permit_multiple_payment_tokens
32
+
33
+ # The usage type associated with a digital wallet payment token.
34
+ # @return [String]
35
+ attr_accessor :usage_type
36
+
37
+ # The customer type associated with a digital wallet payment token. This is
38
+ # to indicate whether the customer acting on the merchant / platform is
39
+ # either a business or a consumer.
40
+ # @return [String]
41
+ attr_accessor :customer_type
42
+
43
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
44
+ # to 64 characters are allowed before and 255 characters are allowed after
45
+ # the <code>@</code> sign. However, the generally accepted maximum length
46
+ # for an email address is 254 characters. The pattern verifies that an
47
+ # unquoted <code>@</code> sign exists.</blockquote>
48
+ # @return [String]
49
+ attr_accessor :email_address
50
+
51
+ # The account identifier for a PayPal account.
52
+ # @return [String]
53
+ attr_accessor :payer_id
54
+
55
+ # The name of the party.
56
+ # @return [Name]
57
+ attr_accessor :name
58
+
59
+ # The phone information.
60
+ # @return [PhoneWithType]
61
+ attr_accessor :phone
62
+
63
+ # The portable international postal address. Maps to
64
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
65
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
66
+ # the autocomplete
67
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
68
+ # ntrols-the-autocomplete-attribute).
69
+ # @return [Address]
70
+ attr_accessor :address
71
+
72
+ # The Venmo username, as chosen by the user.
73
+ # @return [String]
74
+ attr_accessor :user_name
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['description'] = 'description'
80
+ @_hash['shipping'] = 'shipping'
81
+ @_hash['permit_multiple_payment_tokens'] =
82
+ 'permit_multiple_payment_tokens'
83
+ @_hash['usage_type'] = 'usage_type'
84
+ @_hash['customer_type'] = 'customer_type'
85
+ @_hash['email_address'] = 'email_address'
86
+ @_hash['payer_id'] = 'payer_id'
87
+ @_hash['name'] = 'name'
88
+ @_hash['phone'] = 'phone'
89
+ @_hash['address'] = 'address'
90
+ @_hash['user_name'] = 'user_name'
91
+ @_hash
92
+ end
93
+
94
+ # An array for optional fields
95
+ def self.optionals
96
+ %w[
97
+ description
98
+ shipping
99
+ permit_multiple_payment_tokens
100
+ usage_type
101
+ customer_type
102
+ email_address
103
+ payer_id
104
+ name
105
+ phone
106
+ address
107
+ user_name
108
+ ]
109
+ end
110
+
111
+ # An array for nullable fields
112
+ def self.nullables
113
+ []
114
+ end
115
+
116
+ def initialize(description: SKIP, shipping: SKIP,
117
+ permit_multiple_payment_tokens: false, usage_type: SKIP,
118
+ customer_type: SKIP, email_address: SKIP, payer_id: SKIP,
119
+ name: SKIP, phone: SKIP, address: SKIP, user_name: SKIP)
120
+ @description = description unless description == SKIP
121
+ @shipping = shipping unless shipping == SKIP
122
+ unless permit_multiple_payment_tokens == SKIP
123
+ @permit_multiple_payment_tokens =
124
+ permit_multiple_payment_tokens
125
+ end
126
+ @usage_type = usage_type unless usage_type == SKIP
127
+ @customer_type = customer_type unless customer_type == SKIP
128
+ @email_address = email_address unless email_address == SKIP
129
+ @payer_id = payer_id unless payer_id == SKIP
130
+ @name = name unless name == SKIP
131
+ @phone = phone unless phone == SKIP
132
+ @address = address unless address == SKIP
133
+ @user_name = user_name unless user_name == SKIP
134
+ end
135
+
136
+ # Creates an instance of the object from a hash.
137
+ def self.from_hash(hash)
138
+ return nil unless hash
139
+
140
+ # Extract variables from the hash.
141
+ description = hash.key?('description') ? hash['description'] : SKIP
142
+ shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
143
+ hash['shipping']
144
+ permit_multiple_payment_tokens =
145
+ hash['permit_multiple_payment_tokens'] ||= false
146
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
147
+ customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
148
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
149
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
150
+ name = Name.from_hash(hash['name']) if hash['name']
151
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
152
+ address = Address.from_hash(hash['address']) if hash['address']
153
+ user_name = hash.key?('user_name') ? hash['user_name'] : SKIP
154
+
155
+ # Create object from extracted values.
156
+ VenmoPaymentToken.new(description: description,
157
+ shipping: shipping,
158
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens,
159
+ usage_type: usage_type,
160
+ customer_type: customer_type,
161
+ email_address: email_address,
162
+ payer_id: payer_id,
163
+ name: name,
164
+ phone: phone,
165
+ address: address,
166
+ user_name: user_name)
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,25 @@
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 type associated with the Venmo payment token. This is to
8
+ # indicate whether the customer acting on the merchant / platform is either a
9
+ # business or a consumer.
10
+ class VenmoPaymentTokenCustomerType
11
+ VENMO_PAYMENT_TOKEN_CUSTOMER_TYPE = [
12
+ # TODO: Write general description for CONSUMER
13
+ CONSUMER = 'CONSUMER'.freeze,
14
+
15
+ # TODO: Write general description for BUSINESS
16
+ BUSINESS = 'BUSINESS'.freeze
17
+ ].freeze
18
+
19
+ def self.validate(value)
20
+ return false if value.nil?
21
+
22
+ true
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Expected business/pricing model for the billing agreement.
8
+ class VenmoPaymentTokenUsagePattern
9
+ VENMO_PAYMENT_TOKEN_USAGE_PATTERN = [
10
+ # TODO: Write general description for IMMEDIATE
11
+ IMMEDIATE = 'IMMEDIATE'.freeze,
12
+
13
+ # TODO: Write general description for DEFERRED
14
+ DEFERRED = 'DEFERRED'.freeze,
15
+
16
+ # TODO: Write general description for RECURRING_PREPAID
17
+ RECURRING_PREPAID = 'RECURRING_PREPAID'.freeze,
18
+
19
+ # TODO: Write general description for RECURRING_POSTPAID
20
+ RECURRING_POSTPAID = 'RECURRING_POSTPAID'.freeze,
21
+
22
+ # TODO: Write general description for THRESHOLD_PREPAID
23
+ THRESHOLD_PREPAID = 'THRESHOLD_PREPAID'.freeze,
24
+
25
+ # TODO: Write general description for THRESHOLD_POSTPAID
26
+ THRESHOLD_POSTPAID = 'THRESHOLD_POSTPAID'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ true
33
+ end
34
+ end
35
+ 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 usage type associated with the Venmo payment token.
8
+ class VenmoPaymentTokenUsageType
9
+ VENMO_PAYMENT_TOKEN_USAGE_TYPE = [
10
+ # TODO: Write general description for MERCHANT
11
+ MERCHANT = 'MERCHANT'.freeze,
12
+
13
+ # TODO: Write general description for PLATFORM
14
+ PLATFORM = 'PLATFORM'.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,60 @@
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 Venmo Wallet.
8
+ class VenmoWalletAdditionalAttributes < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The details about a customer in PayPal's system of record.
13
+ # @return [VenmoWalletCustomerInformation]
14
+ attr_accessor :customer
15
+
16
+ # Resource consolidating common request and response attirbutes for vaulting
17
+ # Venmo Wallet.
18
+ # @return [VenmoWalletVaultAttributes]
19
+ attr_accessor :vault
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['customer'] = 'customer'
25
+ @_hash['vault'] = 'vault'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ %w[
32
+ customer
33
+ vault
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(customer: SKIP, vault: SKIP)
43
+ @customer = customer unless customer == SKIP
44
+ @vault = vault unless vault == SKIP
45
+ end
46
+
47
+ # Creates an instance of the object from a hash.
48
+ def self.from_hash(hash)
49
+ return nil unless hash
50
+
51
+ # Extract variables from the hash.
52
+ customer = VenmoWalletCustomerInformation.from_hash(hash['customer']) if hash['customer']
53
+ vault = VenmoWalletVaultAttributes.from_hash(hash['vault']) if hash['vault']
54
+
55
+ # Create object from extracted values.
56
+ VenmoWalletAdditionalAttributes.new(customer: customer,
57
+ vault: vault)
58
+ end
59
+ end
60
+ end