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,134 @@
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 items to be purchased.
8
+ class Item < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The item name or title.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The currency and amount for a financial transaction, such as a balance or
17
+ # payment due.
18
+ # @return [Money]
19
+ attr_accessor :unit_amount
20
+
21
+ # The currency and amount for a financial transaction, such as a balance or
22
+ # payment due.
23
+ # @return [Money]
24
+ attr_accessor :tax
25
+
26
+ # The item quantity. Must be a whole number.
27
+ # @return [String]
28
+ attr_accessor :quantity
29
+
30
+ # The detailed item description.
31
+ # @return [String]
32
+ attr_accessor :description
33
+
34
+ # The stock keeping unit (SKU) for the item.
35
+ # @return [String]
36
+ attr_accessor :sku
37
+
38
+ # The URL to the item being purchased. Visible to buyer and used in buyer
39
+ # experiences.
40
+ # @return [String]
41
+ attr_accessor :url
42
+
43
+ # The item category type.
44
+ # @return [ItemCategory]
45
+ attr_accessor :category
46
+
47
+ # The URL of the item's image. File type and size restrictions apply. An
48
+ # image that violates these restrictions will not be honored.
49
+ # @return [String]
50
+ attr_accessor :image_url
51
+
52
+ # The Universal Product Code of the item.
53
+ # @return [UniversalProductCode]
54
+ attr_accessor :upc
55
+
56
+ # A mapping from model property names to API property names.
57
+ def self.names
58
+ @_hash = {} if @_hash.nil?
59
+ @_hash['name'] = 'name'
60
+ @_hash['unit_amount'] = 'unit_amount'
61
+ @_hash['tax'] = 'tax'
62
+ @_hash['quantity'] = 'quantity'
63
+ @_hash['description'] = 'description'
64
+ @_hash['sku'] = 'sku'
65
+ @_hash['url'] = 'url'
66
+ @_hash['category'] = 'category'
67
+ @_hash['image_url'] = 'image_url'
68
+ @_hash['upc'] = 'upc'
69
+ @_hash
70
+ end
71
+
72
+ # An array for optional fields
73
+ def self.optionals
74
+ %w[
75
+ tax
76
+ description
77
+ sku
78
+ url
79
+ category
80
+ image_url
81
+ upc
82
+ ]
83
+ end
84
+
85
+ # An array for nullable fields
86
+ def self.nullables
87
+ []
88
+ end
89
+
90
+ def initialize(name:, unit_amount:, quantity:, tax: SKIP, description: SKIP,
91
+ sku: SKIP, url: SKIP, category: SKIP, image_url: SKIP,
92
+ upc: SKIP)
93
+ @name = name
94
+ @unit_amount = unit_amount
95
+ @tax = tax unless tax == SKIP
96
+ @quantity = quantity
97
+ @description = description unless description == SKIP
98
+ @sku = sku unless sku == SKIP
99
+ @url = url unless url == SKIP
100
+ @category = category unless category == SKIP
101
+ @image_url = image_url unless image_url == SKIP
102
+ @upc = upc unless upc == SKIP
103
+ end
104
+
105
+ # Creates an instance of the object from a hash.
106
+ def self.from_hash(hash)
107
+ return nil unless hash
108
+
109
+ # Extract variables from the hash.
110
+ name = hash.key?('name') ? hash['name'] : nil
111
+ unit_amount = Money.from_hash(hash['unit_amount']) if hash['unit_amount']
112
+ quantity = hash.key?('quantity') ? hash['quantity'] : nil
113
+ tax = Money.from_hash(hash['tax']) if hash['tax']
114
+ description = hash.key?('description') ? hash['description'] : SKIP
115
+ sku = hash.key?('sku') ? hash['sku'] : SKIP
116
+ url = hash.key?('url') ? hash['url'] : SKIP
117
+ category = hash.key?('category') ? hash['category'] : SKIP
118
+ image_url = hash.key?('image_url') ? hash['image_url'] : SKIP
119
+ upc = UniversalProductCode.from_hash(hash['upc']) if hash['upc']
120
+
121
+ # Create object from extracted values.
122
+ Item.new(name: name,
123
+ unit_amount: unit_amount,
124
+ quantity: quantity,
125
+ tax: tax,
126
+ description: description,
127
+ sku: sku,
128
+ url: url,
129
+ category: category,
130
+ image_url: image_url,
131
+ upc: upc)
132
+ end
133
+ end
134
+ 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 item category type.
8
+ class ItemCategory
9
+ ITEM_CATEGORY = [
10
+ # TODO: Write general description for DIGITAL_GOODS
11
+ DIGITAL_GOODS = 'DIGITAL_GOODS'.freeze,
12
+
13
+ # TODO: Write general description for PHYSICAL_GOODS
14
+ PHYSICAL_GOODS = 'PHYSICAL_GOODS'.freeze,
15
+
16
+ # TODO: Write general description for DONATION
17
+ DONATION = 'DONATION'.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,66 @@
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 level 2 card processing data collections. If your merchant account has
8
+ # been configured for Level 2 processing this field will be passed to the
9
+ # processor on your behalf. Please contact your PayPal Technical Account
10
+ # Manager to define level 2 data for your business.
11
+ class Level2CardProcessingData < BaseModel
12
+ SKIP = Object.new
13
+ private_constant :SKIP
14
+
15
+ # Use this field to pass a purchase identification value of up to 127 ASCII
16
+ # characters. The length of this field will be adjusted to meet network
17
+ # specifications (25chars for Visa and Mastercard, 17chars for Amex), and
18
+ # the original invoice ID will still be displayed in your existing reports.
19
+ # @return [String]
20
+ attr_accessor :invoice_id
21
+
22
+ # The currency and amount for a financial transaction, such as a balance or
23
+ # payment due.
24
+ # @return [Money]
25
+ attr_accessor :tax_total
26
+
27
+ # A mapping from model property names to API property names.
28
+ def self.names
29
+ @_hash = {} if @_hash.nil?
30
+ @_hash['invoice_id'] = 'invoice_id'
31
+ @_hash['tax_total'] = 'tax_total'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ %w[
38
+ invoice_id
39
+ tax_total
40
+ ]
41
+ end
42
+
43
+ # An array for nullable fields
44
+ def self.nullables
45
+ []
46
+ end
47
+
48
+ def initialize(invoice_id: SKIP, tax_total: SKIP)
49
+ @invoice_id = invoice_id unless invoice_id == SKIP
50
+ @tax_total = tax_total unless tax_total == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
59
+ tax_total = Money.from_hash(hash['tax_total']) if hash['tax_total']
60
+
61
+ # Create object from extracted values.
62
+ Level2CardProcessingData.new(invoice_id: invoice_id,
63
+ tax_total: tax_total)
64
+ end
65
+ end
66
+ 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
+ # The level 3 card processing data collections, If your merchant account has
8
+ # been configured for Level 3 processing this field will be passed to the
9
+ # processor on your behalf. Please contact your PayPal Technical Account
10
+ # Manager to define level 3 data for your business.
11
+ class Level3CardProcessingData < BaseModel
12
+ SKIP = Object.new
13
+ private_constant :SKIP
14
+
15
+ # The currency and amount for a financial transaction, such as a balance or
16
+ # payment due.
17
+ # @return [Money]
18
+ attr_accessor :shipping_amount
19
+
20
+ # The currency and amount for a financial transaction, such as a balance or
21
+ # payment due.
22
+ # @return [Money]
23
+ attr_accessor :duty_amount
24
+
25
+ # The currency and amount for a financial transaction, such as a balance or
26
+ # payment due.
27
+ # @return [Money]
28
+ attr_accessor :discount_amount
29
+
30
+ # The portable international postal address. Maps to
31
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
32
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
33
+ # the autocomplete
34
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
35
+ # ntrols-the-autocomplete-attribute).
36
+ # @return [Address]
37
+ attr_accessor :shipping_address
38
+
39
+ # Use this field to specify the postal code of the shipping location.
40
+ # @return [String]
41
+ attr_accessor :ships_from_postal_code
42
+
43
+ # A list of the items that were purchased with this payment. If your
44
+ # merchant account has been configured for Level 3 processing this field
45
+ # will be passed to the processor on your behalf.
46
+ # @return [Array[LineItem]]
47
+ attr_accessor :line_items
48
+
49
+ # A mapping from model property names to API property names.
50
+ def self.names
51
+ @_hash = {} if @_hash.nil?
52
+ @_hash['shipping_amount'] = 'shipping_amount'
53
+ @_hash['duty_amount'] = 'duty_amount'
54
+ @_hash['discount_amount'] = 'discount_amount'
55
+ @_hash['shipping_address'] = 'shipping_address'
56
+ @_hash['ships_from_postal_code'] = 'ships_from_postal_code'
57
+ @_hash['line_items'] = 'line_items'
58
+ @_hash
59
+ end
60
+
61
+ # An array for optional fields
62
+ def self.optionals
63
+ %w[
64
+ shipping_amount
65
+ duty_amount
66
+ discount_amount
67
+ shipping_address
68
+ ships_from_postal_code
69
+ line_items
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(shipping_amount: SKIP, duty_amount: SKIP,
79
+ discount_amount: SKIP, shipping_address: SKIP,
80
+ ships_from_postal_code: SKIP, line_items: SKIP)
81
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
82
+ @duty_amount = duty_amount unless duty_amount == SKIP
83
+ @discount_amount = discount_amount unless discount_amount == SKIP
84
+ @shipping_address = shipping_address unless shipping_address == SKIP
85
+ @ships_from_postal_code = ships_from_postal_code unless ships_from_postal_code == SKIP
86
+ @line_items = line_items unless line_items == SKIP
87
+ end
88
+
89
+ # Creates an instance of the object from a hash.
90
+ def self.from_hash(hash)
91
+ return nil unless hash
92
+
93
+ # Extract variables from the hash.
94
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
95
+ duty_amount = Money.from_hash(hash['duty_amount']) if hash['duty_amount']
96
+ discount_amount = Money.from_hash(hash['discount_amount']) if hash['discount_amount']
97
+ shipping_address = Address.from_hash(hash['shipping_address']) if hash['shipping_address']
98
+ ships_from_postal_code =
99
+ hash.key?('ships_from_postal_code') ? hash['ships_from_postal_code'] : SKIP
100
+ # Parameter is an array, so we need to iterate through it
101
+ line_items = nil
102
+ unless hash['line_items'].nil?
103
+ line_items = []
104
+ hash['line_items'].each do |structure|
105
+ line_items << (LineItem.from_hash(structure) if structure)
106
+ end
107
+ end
108
+
109
+ line_items = SKIP unless hash.key?('line_items')
110
+
111
+ # Create object from extracted values.
112
+ Level3CardProcessingData.new(shipping_amount: shipping_amount,
113
+ duty_amount: duty_amount,
114
+ discount_amount: discount_amount,
115
+ shipping_address: shipping_address,
116
+ ships_from_postal_code: ships_from_postal_code,
117
+ line_items: line_items)
118
+ end
119
+ end
120
+ 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
+ # Liability shift indicator. The outcome of the issuer's authentication.
8
+ class LiabilityShiftIndicator
9
+ LIABILITY_SHIFT_INDICATOR = [
10
+ # TODO: Write general description for NO
11
+ NO = 'NO'.freeze,
12
+
13
+ # TODO: Write general description for POSSIBLE
14
+ POSSIBLE = 'POSSIBLE'.freeze,
15
+
16
+ # TODO: Write general description for UNKNOWN
17
+ UNKNOWN = 'UNKNOWN'.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,177 @@
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 line items for this purchase. If your merchant account has been
8
+ # configured for Level 3 processing this field will be passed to the processor
9
+ # on your behalf.
10
+ class LineItem < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # The item name or title.
15
+ # @return [String]
16
+ attr_accessor :name
17
+
18
+ # The item quantity. Must be a whole number.
19
+ # @return [String]
20
+ attr_accessor :quantity
21
+
22
+ # The detailed item description.
23
+ # @return [String]
24
+ attr_accessor :description
25
+
26
+ # The stock keeping unit (SKU) for the item.
27
+ # @return [String]
28
+ attr_accessor :sku
29
+
30
+ # The URL to the item being purchased. Visible to buyer and used in buyer
31
+ # experiences.
32
+ # @return [String]
33
+ attr_accessor :url
34
+
35
+ # The URL of the item's image. File type and size restrictions apply. An
36
+ # image that violates these restrictions will not be honored.
37
+ # @return [String]
38
+ attr_accessor :image_url
39
+
40
+ # The Universal Product Code of the item.
41
+ # @return [UniversalProductCode]
42
+ attr_accessor :upc
43
+
44
+ # The currency and amount for a financial transaction, such as a balance or
45
+ # payment due.
46
+ # @return [Money]
47
+ attr_accessor :unit_amount
48
+
49
+ # The currency and amount for a financial transaction, such as a balance or
50
+ # payment due.
51
+ # @return [Money]
52
+ attr_accessor :tax
53
+
54
+ # Code used to classify items purchased and track the total amount spent
55
+ # across various categories of products and services. Different corporate
56
+ # purchasing organizations may use different standards, but the United
57
+ # Nations Standard Products and Services Code (UNSPSC) is frequently used.
58
+ # @return [String]
59
+ attr_accessor :commodity_code
60
+
61
+ # The currency and amount for a financial transaction, such as a balance or
62
+ # payment due.
63
+ # @return [Money]
64
+ attr_accessor :discount_amount
65
+
66
+ # The currency and amount for a financial transaction, such as a balance or
67
+ # payment due.
68
+ # @return [Money]
69
+ attr_accessor :total_amount
70
+
71
+ # Unit of measure is a standard used to express the magnitude of a quantity
72
+ # in international trade. Most commonly used (but not limited to) examples
73
+ # are: Acre (ACR), Ampere (AMP), Centigram (CGM), Centimetre (CMT), Cubic
74
+ # inch (INQ), Cubic metre (MTQ), Fluid ounce (OZA), Foot (FOT), Hour (HUR),
75
+ # Item (ITM), Kilogram (KGM), Kilometre (KMT), Kilowatt (KWT), Liquid gallon
76
+ # (GLL), Liter (LTR), Pounds (LBS), Square foot (FTK).
77
+ # @return [String]
78
+ attr_accessor :unit_of_measure
79
+
80
+ # A mapping from model property names to API property names.
81
+ def self.names
82
+ @_hash = {} if @_hash.nil?
83
+ @_hash['name'] = 'name'
84
+ @_hash['quantity'] = 'quantity'
85
+ @_hash['description'] = 'description'
86
+ @_hash['sku'] = 'sku'
87
+ @_hash['url'] = 'url'
88
+ @_hash['image_url'] = 'image_url'
89
+ @_hash['upc'] = 'upc'
90
+ @_hash['unit_amount'] = 'unit_amount'
91
+ @_hash['tax'] = 'tax'
92
+ @_hash['commodity_code'] = 'commodity_code'
93
+ @_hash['discount_amount'] = 'discount_amount'
94
+ @_hash['total_amount'] = 'total_amount'
95
+ @_hash['unit_of_measure'] = 'unit_of_measure'
96
+ @_hash
97
+ end
98
+
99
+ # An array for optional fields
100
+ def self.optionals
101
+ %w[
102
+ description
103
+ sku
104
+ url
105
+ image_url
106
+ upc
107
+ unit_amount
108
+ tax
109
+ commodity_code
110
+ discount_amount
111
+ total_amount
112
+ unit_of_measure
113
+ ]
114
+ end
115
+
116
+ # An array for nullable fields
117
+ def self.nullables
118
+ []
119
+ end
120
+
121
+ def initialize(name:, quantity:, description: SKIP, sku: SKIP, url: SKIP,
122
+ image_url: SKIP, upc: SKIP, unit_amount: SKIP, tax: SKIP,
123
+ commodity_code: SKIP, discount_amount: SKIP,
124
+ total_amount: SKIP, unit_of_measure: SKIP)
125
+ @name = name
126
+ @quantity = quantity
127
+ @description = description unless description == SKIP
128
+ @sku = sku unless sku == SKIP
129
+ @url = url unless url == SKIP
130
+ @image_url = image_url unless image_url == SKIP
131
+ @upc = upc unless upc == SKIP
132
+ @unit_amount = unit_amount unless unit_amount == SKIP
133
+ @tax = tax unless tax == SKIP
134
+ @commodity_code = commodity_code unless commodity_code == SKIP
135
+ @discount_amount = discount_amount unless discount_amount == SKIP
136
+ @total_amount = total_amount unless total_amount == SKIP
137
+ @unit_of_measure = unit_of_measure unless unit_of_measure == SKIP
138
+ end
139
+
140
+ # Creates an instance of the object from a hash.
141
+ def self.from_hash(hash)
142
+ return nil unless hash
143
+
144
+ # Extract variables from the hash.
145
+ name = hash.key?('name') ? hash['name'] : nil
146
+ quantity = hash.key?('quantity') ? hash['quantity'] : nil
147
+ description = hash.key?('description') ? hash['description'] : SKIP
148
+ sku = hash.key?('sku') ? hash['sku'] : SKIP
149
+ url = hash.key?('url') ? hash['url'] : SKIP
150
+ image_url = hash.key?('image_url') ? hash['image_url'] : SKIP
151
+ upc = UniversalProductCode.from_hash(hash['upc']) if hash['upc']
152
+ unit_amount = Money.from_hash(hash['unit_amount']) if hash['unit_amount']
153
+ tax = Money.from_hash(hash['tax']) if hash['tax']
154
+ commodity_code =
155
+ hash.key?('commodity_code') ? hash['commodity_code'] : SKIP
156
+ discount_amount = Money.from_hash(hash['discount_amount']) if hash['discount_amount']
157
+ total_amount = Money.from_hash(hash['total_amount']) if hash['total_amount']
158
+ unit_of_measure =
159
+ hash.key?('unit_of_measure') ? hash['unit_of_measure'] : SKIP
160
+
161
+ # Create object from extracted values.
162
+ LineItem.new(name: name,
163
+ quantity: quantity,
164
+ description: description,
165
+ sku: sku,
166
+ url: url,
167
+ image_url: image_url,
168
+ upc: upc,
169
+ unit_amount: unit_amount,
170
+ tax: tax,
171
+ commodity_code: commodity_code,
172
+ discount_amount: discount_amount,
173
+ total_amount: total_amount,
174
+ unit_of_measure: unit_of_measure)
175
+ end
176
+ end
177
+ 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 request-related [HATEOAS link](/api/rest/responses/#hateoas-links)
8
+ # information.
9
+ class LinkDescription < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The complete target URL. To make the related call, combine the method with
14
+ # this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link.
15
+ # For pre-processing, include the `$`, `(`, and `)` characters. The `href`
16
+ # is the key HATEOAS component that links a completed call with a subsequent
17
+ # call.
18
+ # @return [String]
19
+ attr_accessor :href
20
+
21
+ # The [link relation type](https://tools.ietf.org/html/rfc5988#section-4),
22
+ # which serves as an ID for a link that unambiguously describes the
23
+ # semantics of the link. See [Link
24
+ # Relations](https://www.iana.org/assignments/link-relations/link-relations.
25
+ # xhtml).
26
+ # @return [String]
27
+ attr_accessor :rel
28
+
29
+ # The HTTP method required to make the related call.
30
+ # @return [LinkHTTPMethod]
31
+ attr_accessor :method
32
+
33
+ # A mapping from model property names to API property names.
34
+ def self.names
35
+ @_hash = {} if @_hash.nil?
36
+ @_hash['href'] = 'href'
37
+ @_hash['rel'] = 'rel'
38
+ @_hash['method'] = 'method'
39
+ @_hash
40
+ end
41
+
42
+ # An array for optional fields
43
+ def self.optionals
44
+ %w[
45
+ method
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(href:, rel:, method: SKIP)
55
+ @href = href
56
+ @rel = rel
57
+ @method = method unless method == 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
+ href = hash.key?('href') ? hash['href'] : nil
66
+ rel = hash.key?('rel') ? hash['rel'] : nil
67
+ method = hash.key?('method') ? hash['method'] : SKIP
68
+
69
+ # Create object from extracted values.
70
+ LinkDescription.new(href: href,
71
+ rel: rel,
72
+ method: method)
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,41 @@
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 HTTP method required to make the related call.
8
+ class LinkHTTPMethod
9
+ LINK_HTTP_METHOD = [
10
+ # TODO: Write general description for GET
11
+ GET = 'GET'.freeze,
12
+
13
+ # TODO: Write general description for POST
14
+ POST = 'POST'.freeze,
15
+
16
+ # TODO: Write general description for PUT
17
+ PUT = 'PUT'.freeze,
18
+
19
+ # TODO: Write general description for DELETE
20
+ DELETE = 'DELETE'.freeze,
21
+
22
+ # TODO: Write general description for HEAD
23
+ HEAD = 'HEAD'.freeze,
24
+
25
+ # TODO: Write general description for CONNECT
26
+ CONNECT = 'CONNECT'.freeze,
27
+
28
+ # TODO: Write general description for OPTIONS
29
+ OPTIONS = 'OPTIONS'.freeze,
30
+
31
+ # TODO: Write general description for PATCH
32
+ PATCH = 'PATCH'.freeze
33
+ ].freeze
34
+
35
+ def self.validate(value)
36
+ return false if value.nil?
37
+
38
+ true
39
+ end
40
+ end
41
+ end