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,105 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Details shared by Google for the merchant to be shared with PayPal. This is
8
+ # required to process the transaction using the Google Pay payment method.
9
+ class GooglePayDecryptedTokenData < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # A unique ID that identifies the message in case it needs to be revoked or
14
+ # located at a later time.
15
+ # @return [String]
16
+ attr_accessor :message_id
17
+
18
+ # Date and time at which the message expires as UTC milliseconds since
19
+ # epoch. Integrators should reject any message that's expired.
20
+ # @return [String]
21
+ attr_accessor :message_expiration
22
+
23
+ # The type of the payment credential. Currently, only CARD is supported.
24
+ # @return [GooglePayPaymentMethod]
25
+ attr_accessor :payment_method
26
+
27
+ # Authentication Method which is used for the card transaction.
28
+ # @return [GooglePayAuthenticationMethod]
29
+ attr_accessor :authentication_method
30
+
31
+ # Base-64 cryptographic identifier used by card schemes to validate the
32
+ # token verification result. This is a conditionally required field if
33
+ # authentication_method is CRYPTOGRAM_3DS.
34
+ # @return [String]
35
+ attr_accessor :cryptogram
36
+
37
+ # Electronic Commerce Indicator may not always be present. It is only
38
+ # returned for tokens on the Visa card network. This value is passed through
39
+ # in the payment authorization request.
40
+ # @return [String]
41
+ attr_accessor :eci_indicator
42
+
43
+ # A mapping from model property names to API property names.
44
+ def self.names
45
+ @_hash = {} if @_hash.nil?
46
+ @_hash['message_id'] = 'message_id'
47
+ @_hash['message_expiration'] = 'message_expiration'
48
+ @_hash['payment_method'] = 'payment_method'
49
+ @_hash['authentication_method'] = 'authentication_method'
50
+ @_hash['cryptogram'] = 'cryptogram'
51
+ @_hash['eci_indicator'] = 'eci_indicator'
52
+ @_hash
53
+ end
54
+
55
+ # An array for optional fields
56
+ def self.optionals
57
+ %w[
58
+ message_id
59
+ message_expiration
60
+ cryptogram
61
+ eci_indicator
62
+ ]
63
+ end
64
+
65
+ # An array for nullable fields
66
+ def self.nullables
67
+ []
68
+ end
69
+
70
+ def initialize(payment_method:, authentication_method:, message_id: SKIP,
71
+ message_expiration: SKIP, cryptogram: SKIP,
72
+ eci_indicator: SKIP)
73
+ @message_id = message_id unless message_id == SKIP
74
+ @message_expiration = message_expiration unless message_expiration == SKIP
75
+ @payment_method = payment_method
76
+ @authentication_method = authentication_method
77
+ @cryptogram = cryptogram unless cryptogram == SKIP
78
+ @eci_indicator = eci_indicator unless eci_indicator == SKIP
79
+ end
80
+
81
+ # Creates an instance of the object from a hash.
82
+ def self.from_hash(hash)
83
+ return nil unless hash
84
+
85
+ # Extract variables from the hash.
86
+ payment_method =
87
+ hash.key?('payment_method') ? hash['payment_method'] : nil
88
+ authentication_method =
89
+ hash.key?('authentication_method') ? hash['authentication_method'] : nil
90
+ message_id = hash.key?('message_id') ? hash['message_id'] : SKIP
91
+ message_expiration =
92
+ hash.key?('message_expiration') ? hash['message_expiration'] : SKIP
93
+ cryptogram = hash.key?('cryptogram') ? hash['cryptogram'] : SKIP
94
+ eci_indicator = hash.key?('eci_indicator') ? hash['eci_indicator'] : SKIP
95
+
96
+ # Create object from extracted values.
97
+ GooglePayDecryptedTokenData.new(payment_method: payment_method,
98
+ authentication_method: authentication_method,
99
+ message_id: message_id,
100
+ message_expiration: message_expiration,
101
+ cryptogram: cryptogram,
102
+ eci_indicator: eci_indicator)
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,20 @@
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 type of the payment credential. Currently, only CARD is supported.
8
+ class GooglePayPaymentMethod
9
+ GOOGLE_PAY_PAYMENT_METHOD = [
10
+ # TODO: Write general description for CARD
11
+ CARD = 'CARD'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ true
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,118 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Information needed to pay using Google Pay.
8
+ class GooglePayRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The full name representation like Mr J Smith.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
17
+ # to 64 characters are allowed before and 255 characters are allowed after
18
+ # the <code>@</code> sign. However, the generally accepted maximum length
19
+ # for an email address is 254 characters. The pattern verifies that an
20
+ # unquoted <code>@</code> sign exists.</blockquote>
21
+ # @return [String]
22
+ attr_accessor :email_address
23
+
24
+ # The phone number in its canonical international [E.164 numbering plan
25
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
26
+ # @return [PhoneNumberWithCountryCode]
27
+ attr_accessor :phone_number
28
+
29
+ # The payment card used to fund a Google Pay payment. Can be a credit or
30
+ # debit card.
31
+ # @return [GooglePayRequestCard]
32
+ attr_accessor :card
33
+
34
+ # Details shared by Google for the merchant to be shared with PayPal. This
35
+ # is required to process the transaction using the Google Pay payment
36
+ # method.
37
+ # @return [GooglePayDecryptedTokenData]
38
+ attr_accessor :decrypted_token
39
+
40
+ # Information about cardholder possession validation and cardholder
41
+ # identification and verifications (ID&V).
42
+ # @return [AssuranceDetails]
43
+ attr_accessor :assurance_details
44
+
45
+ # Additional attributes associated with the use of this card.
46
+ # @return [GooglePayCardAttributes]
47
+ attr_accessor :attributes
48
+
49
+ # A mapping from model property names to API property names.
50
+ def self.names
51
+ @_hash = {} if @_hash.nil?
52
+ @_hash['name'] = 'name'
53
+ @_hash['email_address'] = 'email_address'
54
+ @_hash['phone_number'] = 'phone_number'
55
+ @_hash['card'] = 'card'
56
+ @_hash['decrypted_token'] = 'decrypted_token'
57
+ @_hash['assurance_details'] = 'assurance_details'
58
+ @_hash['attributes'] = 'attributes'
59
+ @_hash
60
+ end
61
+
62
+ # An array for optional fields
63
+ def self.optionals
64
+ %w[
65
+ name
66
+ email_address
67
+ phone_number
68
+ card
69
+ decrypted_token
70
+ assurance_details
71
+ attributes
72
+ ]
73
+ end
74
+
75
+ # An array for nullable fields
76
+ def self.nullables
77
+ []
78
+ end
79
+
80
+ def initialize(name: SKIP, email_address: SKIP, phone_number: SKIP,
81
+ card: SKIP, decrypted_token: SKIP, assurance_details: SKIP,
82
+ attributes: SKIP)
83
+ @name = name unless name == SKIP
84
+ @email_address = email_address unless email_address == SKIP
85
+ @phone_number = phone_number unless phone_number == SKIP
86
+ @card = card unless card == SKIP
87
+ @decrypted_token = decrypted_token unless decrypted_token == SKIP
88
+ @assurance_details = assurance_details unless assurance_details == SKIP
89
+ @attributes = attributes unless attributes == SKIP
90
+ end
91
+
92
+ # Creates an instance of the object from a hash.
93
+ def self.from_hash(hash)
94
+ return nil unless hash
95
+
96
+ # Extract variables from the hash.
97
+ name = hash.key?('name') ? hash['name'] : SKIP
98
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
99
+ phone_number = PhoneNumberWithCountryCode.from_hash(hash['phone_number']) if
100
+ hash['phone_number']
101
+ card = GooglePayRequestCard.from_hash(hash['card']) if hash['card']
102
+ decrypted_token = GooglePayDecryptedTokenData.from_hash(hash['decrypted_token']) if
103
+ hash['decrypted_token']
104
+ assurance_details = AssuranceDetails.from_hash(hash['assurance_details']) if
105
+ hash['assurance_details']
106
+ attributes = GooglePayCardAttributes.from_hash(hash['attributes']) if hash['attributes']
107
+
108
+ # Create object from extracted values.
109
+ GooglePayRequest.new(name: name,
110
+ email_address: email_address,
111
+ phone_number: phone_number,
112
+ card: card,
113
+ decrypted_token: decrypted_token,
114
+ assurance_details: assurance_details,
115
+ attributes: attributes)
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,84 @@
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 payment card used to fund a Google Pay payment. Can be a credit or debit
8
+ # card.
9
+ class GooglePayRequestCard < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The card holder's name as it appears on the card.
14
+ # @return [String]
15
+ attr_accessor :name
16
+
17
+ # Type of card. i.e Credit, Debit and so on.
18
+ # @return [CardType]
19
+ attr_accessor :type
20
+
21
+ # The card network or brand. Applies to credit, debit, gift, and payment
22
+ # cards.
23
+ # @return [CardBrand]
24
+ attr_accessor :brand
25
+
26
+ # The portable international postal address. Maps to
27
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
28
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
29
+ # the autocomplete
30
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
31
+ # ntrols-the-autocomplete-attribute).
32
+ # @return [Address]
33
+ attr_accessor :billing_address
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['name'] = 'name'
39
+ @_hash['type'] = 'type'
40
+ @_hash['brand'] = 'brand'
41
+ @_hash['billing_address'] = 'billing_address'
42
+ @_hash
43
+ end
44
+
45
+ # An array for optional fields
46
+ def self.optionals
47
+ %w[
48
+ name
49
+ type
50
+ brand
51
+ billing_address
52
+ ]
53
+ end
54
+
55
+ # An array for nullable fields
56
+ def self.nullables
57
+ []
58
+ end
59
+
60
+ def initialize(name: SKIP, type: SKIP, brand: SKIP, billing_address: SKIP)
61
+ @name = name unless name == SKIP
62
+ @type = type unless type == SKIP
63
+ @brand = brand unless brand == SKIP
64
+ @billing_address = billing_address unless billing_address == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ name = hash.key?('name') ? hash['name'] : SKIP
73
+ type = hash.key?('type') ? hash['type'] : SKIP
74
+ brand = hash.key?('brand') ? hash['brand'] : SKIP
75
+ billing_address = Address.from_hash(hash['billing_address']) if hash['billing_address']
76
+
77
+ # Create object from extracted values.
78
+ GooglePayRequestCard.new(name: name,
79
+ type: type,
80
+ brand: brand,
81
+ billing_address: billing_address)
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,85 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Google Pay Wallet payment data.
8
+ class GooglePayWalletResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The full name representation like Mr J Smith.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
17
+ # to 64 characters are allowed before and 255 characters are allowed after
18
+ # the <code>@</code> sign. However, the generally accepted maximum length
19
+ # for an email address is 254 characters. The pattern verifies that an
20
+ # unquoted <code>@</code> sign exists.</blockquote>
21
+ # @return [String]
22
+ attr_accessor :email_address
23
+
24
+ # The phone number in its canonical international [E.164 numbering plan
25
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
26
+ # @return [PhoneNumberWithCountryCode]
27
+ attr_accessor :phone_number
28
+
29
+ # The payment card to use to fund a Google Pay payment response. Can be a
30
+ # credit or debit card.
31
+ # @return [GooglePayCardResponse]
32
+ attr_accessor :card
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['name'] = 'name'
38
+ @_hash['email_address'] = 'email_address'
39
+ @_hash['phone_number'] = 'phone_number'
40
+ @_hash['card'] = 'card'
41
+ @_hash
42
+ end
43
+
44
+ # An array for optional fields
45
+ def self.optionals
46
+ %w[
47
+ name
48
+ email_address
49
+ phone_number
50
+ card
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(name: SKIP, email_address: SKIP, phone_number: SKIP,
60
+ card: SKIP)
61
+ @name = name unless name == SKIP
62
+ @email_address = email_address unless email_address == SKIP
63
+ @phone_number = phone_number unless phone_number == SKIP
64
+ @card = card unless card == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ name = hash.key?('name') ? hash['name'] : SKIP
73
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
74
+ phone_number = PhoneNumberWithCountryCode.from_hash(hash['phone_number']) if
75
+ hash['phone_number']
76
+ card = GooglePayCardResponse.from_hash(hash['card']) if hash['card']
77
+
78
+ # Create object from extracted values.
79
+ GooglePayWalletResponse.new(name: name,
80
+ email_address: email_address,
81
+ phone_number: phone_number,
82
+ card: card)
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,85 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Information used to pay using iDEAL.
8
+ class IDEALPaymentObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The full name representation like Mr J Smith.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
+ # that identifies the country or region.<blockquote><strong>Note:</strong>
18
+ # The country code for Great Britain is <code>GB</code> and not
19
+ # <code>UK</code> as used in the top-level domain names for that country.
20
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
21
+ # price (CUP) method, bank card, and cross-border transactions.</blockquote>
22
+ # @return [String]
23
+ attr_accessor :country_code
24
+
25
+ # The business identification code (BIC). In payments systems, a BIC is used
26
+ # to identify a specific business, most commonly a bank.
27
+ # @return [String]
28
+ attr_accessor :bic
29
+
30
+ # The last characters of the IBAN used to pay.
31
+ # @return [String]
32
+ attr_accessor :iban_last_chars
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['name'] = 'name'
38
+ @_hash['country_code'] = 'country_code'
39
+ @_hash['bic'] = 'bic'
40
+ @_hash['iban_last_chars'] = 'iban_last_chars'
41
+ @_hash
42
+ end
43
+
44
+ # An array for optional fields
45
+ def self.optionals
46
+ %w[
47
+ name
48
+ country_code
49
+ bic
50
+ iban_last_chars
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(name: SKIP, country_code: SKIP, bic: SKIP,
60
+ iban_last_chars: SKIP)
61
+ @name = name unless name == SKIP
62
+ @country_code = country_code unless country_code == SKIP
63
+ @bic = bic unless bic == SKIP
64
+ @iban_last_chars = iban_last_chars unless iban_last_chars == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ name = hash.key?('name') ? hash['name'] : SKIP
73
+ country_code = hash.key?('country_code') ? hash['country_code'] : SKIP
74
+ bic = hash.key?('bic') ? hash['bic'] : SKIP
75
+ iban_last_chars =
76
+ hash.key?('iban_last_chars') ? hash['iban_last_chars'] : SKIP
77
+
78
+ # Create object from extracted values.
79
+ IDEALPaymentObject.new(name: name,
80
+ country_code: country_code,
81
+ bic: bic,
82
+ iban_last_chars: iban_last_chars)
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,83 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Information needed to pay using iDEAL.
8
+ class IDEALPaymentRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The full name representation like Mr J Smith.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
+ # that identifies the country or region.<blockquote><strong>Note:</strong>
18
+ # The country code for Great Britain is <code>GB</code> and not
19
+ # <code>UK</code> as used in the top-level domain names for that country.
20
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
21
+ # price (CUP) method, bank card, and cross-border transactions.</blockquote>
22
+ # @return [String]
23
+ attr_accessor :country_code
24
+
25
+ # The business identification code (BIC). In payments systems, a BIC is used
26
+ # to identify a specific business, most commonly a bank.
27
+ # @return [String]
28
+ attr_accessor :bic
29
+
30
+ # Customizes the payer experience during the approval process for the
31
+ # payment.
32
+ # @return [ExperienceContext]
33
+ attr_accessor :experience_context
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['name'] = 'name'
39
+ @_hash['country_code'] = 'country_code'
40
+ @_hash['bic'] = 'bic'
41
+ @_hash['experience_context'] = 'experience_context'
42
+ @_hash
43
+ end
44
+
45
+ # An array for optional fields
46
+ def self.optionals
47
+ %w[
48
+ bic
49
+ experience_context
50
+ ]
51
+ end
52
+
53
+ # An array for nullable fields
54
+ def self.nullables
55
+ []
56
+ end
57
+
58
+ def initialize(name:, country_code:, bic: SKIP, experience_context: SKIP)
59
+ @name = name
60
+ @country_code = country_code
61
+ @bic = bic unless bic == SKIP
62
+ @experience_context = experience_context unless experience_context == SKIP
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ name = hash.key?('name') ? hash['name'] : nil
71
+ country_code = hash.key?('country_code') ? hash['country_code'] : nil
72
+ bic = hash.key?('bic') ? hash['bic'] : SKIP
73
+ experience_context = ExperienceContext.from_hash(hash['experience_context']) if
74
+ hash['experience_context']
75
+
76
+ # Create object from extracted values.
77
+ IDEALPaymentRequest.new(name: name,
78
+ country_code: country_code,
79
+ bic: bic,
80
+ experience_context: experience_context)
81
+ end
82
+ end
83
+ end