paypal-server-sdk 0.6.1 → 0.7.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 (291) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +34 -34
  3. data/README.md +19 -30
  4. data/lib/paypal_server_sdk/controllers/base_controller.rb +1 -1
  5. data/lib/paypal_server_sdk/controllers/orders_controller.rb +103 -148
  6. data/lib/paypal_server_sdk/controllers/payments_controller.rb +94 -73
  7. data/lib/paypal_server_sdk/controllers/vault_controller.rb +12 -12
  8. data/lib/paypal_server_sdk/exceptions/api_exception.rb +11 -0
  9. data/lib/paypal_server_sdk/exceptions/error_exception.rb +14 -0
  10. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +14 -0
  11. data/lib/paypal_server_sdk/models/activity_timestamps.rb +17 -6
  12. data/lib/paypal_server_sdk/models/address.rb +24 -9
  13. data/lib/paypal_server_sdk/models/amount_breakdown.rb +17 -0
  14. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +22 -9
  15. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +12 -0
  16. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +12 -0
  17. data/lib/paypal_server_sdk/models/apple_pay_card.rb +14 -0
  18. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +48 -6
  19. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +16 -0
  20. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +14 -0
  21. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +6 -2
  22. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +43 -7
  23. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +12 -0
  24. data/lib/paypal_server_sdk/models/apple_pay_request.rb +27 -13
  25. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +15 -0
  26. data/lib/paypal_server_sdk/models/assurance_details.rb +14 -0
  27. data/lib/paypal_server_sdk/models/authentication_response.rb +13 -0
  28. data/lib/paypal_server_sdk/models/authorization.rb +28 -9
  29. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +2 -2
  30. data/lib/paypal_server_sdk/models/authorization_status.rb +12 -6
  31. data/lib/paypal_server_sdk/models/authorization_status_details.rb +12 -0
  32. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +12 -0
  33. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +29 -9
  34. data/lib/paypal_server_sdk/models/avs_code.rb +102 -71
  35. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +19 -5
  36. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +18 -5
  37. data/lib/paypal_server_sdk/models/base_model.rb +76 -28
  38. data/lib/paypal_server_sdk/models/billing_cycle.rb +129 -0
  39. data/lib/paypal_server_sdk/models/bin_details.rb +18 -5
  40. data/lib/paypal_server_sdk/models/blik_experience_context.rb +17 -0
  41. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +12 -0
  42. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +12 -0
  43. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +15 -0
  44. data/lib/paypal_server_sdk/models/blik_payment_object.rb +22 -10
  45. data/lib/paypal_server_sdk/models/blik_payment_request.rb +24 -10
  46. data/lib/paypal_server_sdk/models/callback_configuration.rb +75 -0
  47. data/lib/paypal_server_sdk/models/callback_events.rb +27 -0
  48. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +22 -14
  49. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +15 -0
  50. data/lib/paypal_server_sdk/models/capture_request.rb +17 -0
  51. data/lib/paypal_server_sdk/models/capture_status.rb +10 -6
  52. data/lib/paypal_server_sdk/models/capture_status_details.rb +12 -0
  53. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +12 -0
  54. data/lib/paypal_server_sdk/models/captured_payment.rb +36 -10
  55. data/lib/paypal_server_sdk/models/card_attributes.rb +13 -0
  56. data/lib/paypal_server_sdk/models/card_attributes_response.rb +12 -0
  57. data/lib/paypal_server_sdk/models/card_authentication_response.rb +14 -2
  58. data/lib/paypal_server_sdk/models/card_brand.rb +29 -25
  59. data/lib/paypal_server_sdk/models/card_customer_information.rb +18 -5
  60. data/lib/paypal_server_sdk/models/card_experience_context.rb +12 -0
  61. data/lib/paypal_server_sdk/models/card_from_request.rb +12 -0
  62. data/lib/paypal_server_sdk/models/{card_response_entity.rb → card_payment_token_entity.rb} +37 -15
  63. data/lib/paypal_server_sdk/models/card_request.rb +32 -17
  64. data/lib/paypal_server_sdk/models/card_response.rb +43 -2
  65. data/lib/paypal_server_sdk/models/{portable_postal_address_medium_grained.rb → card_response_address.rb} +43 -23
  66. data/lib/paypal_server_sdk/models/card_stored_credential.rb +23 -7
  67. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +13 -5
  68. data/lib/paypal_server_sdk/models/card_type.rb +5 -5
  69. data/lib/paypal_server_sdk/models/card_vault_response.rb +13 -0
  70. data/lib/paypal_server_sdk/models/card_verification.rb +16 -3
  71. data/lib/paypal_server_sdk/models/card_verification_details.rb +27 -11
  72. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +12 -0
  73. data/lib/paypal_server_sdk/models/card_verification_status.rb +23 -0
  74. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +10 -2
  75. data/lib/paypal_server_sdk/models/cobranded_card.rb +13 -0
  76. data/lib/paypal_server_sdk/models/confirm_order_request.rb +15 -12
  77. data/lib/paypal_server_sdk/models/{customer_request.rb → customer.rb} +18 -4
  78. data/lib/paypal_server_sdk/models/customer_information.rb +17 -5
  79. data/lib/paypal_server_sdk/models/customer_response.rb +76 -0
  80. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +21 -4
  81. data/lib/paypal_server_sdk/models/cvv_code.rb +35 -27
  82. data/lib/paypal_server_sdk/models/disbursement_mode.rb +5 -2
  83. data/lib/paypal_server_sdk/models/dispute_category.rb +2 -2
  84. data/lib/paypal_server_sdk/models/eci_flag.rb +6 -8
  85. data/lib/paypal_server_sdk/models/enrollment_status.rb +11 -8
  86. data/lib/paypal_server_sdk/models/eps_payment_object.rb +17 -5
  87. data/lib/paypal_server_sdk/models/eps_payment_request.rb +18 -5
  88. data/lib/paypal_server_sdk/models/error_details.rb +15 -0
  89. data/lib/paypal_server_sdk/models/exchange_rate.rb +14 -0
  90. data/lib/paypal_server_sdk/models/experience_context.rb +15 -0
  91. data/lib/paypal_server_sdk/models/fulfillment_type.rb +9 -4
  92. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +17 -5
  93. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +18 -5
  94. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +8 -2
  95. data/lib/paypal_server_sdk/models/google_pay_card.rb +17 -3
  96. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +16 -0
  97. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +17 -0
  98. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +1 -1
  99. data/lib/paypal_server_sdk/models/google_pay_request.rb +22 -17
  100. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +14 -0
  101. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +18 -5
  102. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +18 -5
  103. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +18 -5
  104. data/lib/paypal_server_sdk/models/item.rb +17 -0
  105. data/lib/paypal_server_sdk/models/item_category.rb +6 -3
  106. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +12 -0
  107. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +17 -0
  108. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +3 -3
  109. data/lib/paypal_server_sdk/models/line_item.rb +21 -0
  110. data/lib/paypal_server_sdk/models/link_description.rb +12 -0
  111. data/lib/paypal_server_sdk/models/money.rb +16 -4
  112. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +18 -5
  113. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +18 -5
  114. data/lib/paypal_server_sdk/models/name.rb +12 -0
  115. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +14 -0
  116. data/lib/paypal_server_sdk/models/network_token.rb +15 -0
  117. data/lib/paypal_server_sdk/models/network_transaction_reference.rb +14 -0
  118. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +15 -3
  119. data/lib/paypal_server_sdk/models/one_time_charge.rb +118 -0
  120. data/lib/paypal_server_sdk/models/order.rb +22 -19
  121. data/lib/paypal_server_sdk/models/order_application_context.rb +40 -25
  122. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +10 -3
  123. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +14 -10
  124. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +11 -6
  125. data/lib/paypal_server_sdk/models/order_authorize_request.rb +12 -0
  126. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +20 -9
  127. data/lib/paypal_server_sdk/models/order_authorize_response.rb +22 -19
  128. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +14 -0
  129. data/lib/paypal_server_sdk/models/order_capture_request.rb +12 -0
  130. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +20 -9
  131. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +21 -8
  132. data/lib/paypal_server_sdk/models/order_request.rb +18 -4
  133. data/lib/paypal_server_sdk/models/order_status.rb +19 -6
  134. data/lib/paypal_server_sdk/models/order_tracker_item.rb +15 -0
  135. data/lib/paypal_server_sdk/models/order_tracker_request.rb +22 -5
  136. data/lib/paypal_server_sdk/models/order_tracker_response.rb +19 -6
  137. data/lib/paypal_server_sdk/models/order_tracker_status.rb +5 -2
  138. data/lib/paypal_server_sdk/models/order_update_callback_error_response.rb +89 -0
  139. data/lib/paypal_server_sdk/models/order_update_callback_error_response_details.rb +81 -0
  140. data/lib/paypal_server_sdk/models/order_update_callback_request.rb +111 -0
  141. data/lib/paypal_server_sdk/models/order_update_callback_response.rb +72 -0
  142. data/lib/paypal_server_sdk/models/order_update_callback_shipping_address.rb +107 -0
  143. data/lib/paypal_server_sdk/models/order_update_callback_shipping_option.rb +93 -0
  144. data/lib/paypal_server_sdk/models/{capture.rb → orders_capture.rb} +46 -22
  145. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +51 -0
  146. data/lib/paypal_server_sdk/models/p24_payment_object.rb +24 -10
  147. data/lib/paypal_server_sdk/models/p24_payment_request.rb +22 -10
  148. data/lib/paypal_server_sdk/models/pa_res_status.rb +16 -16
  149. data/lib/paypal_server_sdk/models/participant_metadata.rb +64 -0
  150. data/lib/paypal_server_sdk/models/patch.rb +20 -10
  151. data/lib/paypal_server_sdk/models/patch_op.rb +43 -6
  152. data/lib/paypal_server_sdk/models/payee_base.rb +17 -5
  153. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +4 -2
  154. data/lib/paypal_server_sdk/models/payer.rb +20 -5
  155. data/lib/paypal_server_sdk/models/payer_base.rb +16 -5
  156. data/lib/paypal_server_sdk/models/payment_advice_code.rb +53 -8
  157. data/lib/paypal_server_sdk/models/payment_authorization.rb +32 -11
  158. data/lib/paypal_server_sdk/models/payment_collection.rb +16 -2
  159. data/lib/paypal_server_sdk/models/payment_initiator.rb +5 -2
  160. data/lib/paypal_server_sdk/models/payment_instruction.rb +16 -0
  161. data/lib/paypal_server_sdk/models/payment_method_preference.rb +14 -0
  162. data/lib/paypal_server_sdk/models/payment_source.rb +25 -9
  163. data/lib/paypal_server_sdk/models/payment_source_response.rb +19 -0
  164. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +12 -0
  165. data/lib/paypal_server_sdk/models/payment_token_request.rb +17 -3
  166. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +17 -22
  167. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +12 -0
  168. data/lib/paypal_server_sdk/models/payment_token_response.rb +18 -3
  169. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +18 -14
  170. data/lib/paypal_server_sdk/models/payment_token_status.rb +36 -0
  171. data/lib/paypal_server_sdk/models/payments_capture.rb +252 -0
  172. data/lib/paypal_server_sdk/models/payments_payment_advice_code.rb +42 -0
  173. data/lib/paypal_server_sdk/models/payments_processor_response.rb +98 -0
  174. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +11 -3
  175. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +9 -4
  176. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +38 -8
  177. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +7 -3
  178. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +7 -3
  179. data/lib/paypal_server_sdk/models/paypal_wallet.rb +41 -11
  180. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +6 -2
  181. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +12 -0
  182. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +12 -0
  183. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +31 -0
  184. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +18 -5
  185. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +18 -5
  186. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +45 -12
  187. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +39 -7
  188. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +98 -0
  189. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +18 -1
  190. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +13 -0
  191. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +8 -3
  192. data/lib/paypal_server_sdk/models/phone.rb +14 -0
  193. data/lib/paypal_server_sdk/models/phone_number.rb +12 -0
  194. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +15 -0
  195. data/lib/paypal_server_sdk/models/phone_with_type.rb +13 -0
  196. data/lib/paypal_server_sdk/models/plan.rb +102 -0
  197. data/lib/paypal_server_sdk/models/platform_fee.rb +12 -0
  198. data/lib/paypal_server_sdk/models/pricing_model.rb +28 -0
  199. data/lib/paypal_server_sdk/models/pricing_scheme.rb +84 -0
  200. data/lib/paypal_server_sdk/models/processor_response.rb +15 -0
  201. data/lib/paypal_server_sdk/models/processor_response_code.rb +312 -308
  202. data/lib/paypal_server_sdk/models/purchase_unit.rb +43 -25
  203. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +36 -20
  204. data/lib/paypal_server_sdk/models/reauthorize_request.rb +19 -8
  205. data/lib/paypal_server_sdk/models/refund.rb +25 -6
  206. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +2 -1
  207. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +12 -0
  208. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +12 -0
  209. data/lib/paypal_server_sdk/models/refund_request.rb +17 -2
  210. data/lib/paypal_server_sdk/models/refund_status.rb +4 -4
  211. data/lib/paypal_server_sdk/models/refund_status_details.rb +12 -0
  212. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +12 -0
  213. data/lib/paypal_server_sdk/models/related_identifiers.rb +14 -0
  214. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +63 -0
  215. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +21 -0
  216. data/lib/paypal_server_sdk/models/seller_protection.rb +13 -0
  217. data/lib/paypal_server_sdk/models/seller_protection_status.rb +6 -3
  218. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +18 -0
  219. data/lib/paypal_server_sdk/models/setup_token_card_experience_context.rb +21 -5
  220. data/lib/paypal_server_sdk/models/setup_token_request.rb +17 -3
  221. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +20 -18
  222. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +13 -0
  223. data/lib/paypal_server_sdk/models/setup_token_response.rb +23 -16
  224. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +25 -3
  225. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +13 -0
  226. data/lib/paypal_server_sdk/models/shipment_carrier.rb +1377 -1402
  227. data/lib/paypal_server_sdk/models/shipping_details.rb +29 -2
  228. data/lib/paypal_server_sdk/models/shipping_name.rb +12 -0
  229. data/lib/paypal_server_sdk/models/shipping_option.rb +14 -0
  230. data/lib/paypal_server_sdk/models/shipping_options_purchase_unit.rb +102 -0
  231. data/lib/paypal_server_sdk/models/shipping_preference.rb +6 -3
  232. data/lib/paypal_server_sdk/models/shipping_type.rb +12 -4
  233. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +30 -2
  234. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +18 -5
  235. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +18 -5
  236. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +12 -4
  237. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +2 -1
  238. data/lib/paypal_server_sdk/models/stored_payment_source.rb +23 -7
  239. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +6 -3
  240. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +6 -3
  241. data/lib/paypal_server_sdk/models/supplementary_data.rb +25 -7
  242. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +13 -0
  243. data/lib/paypal_server_sdk/models/tax_id_type.rb +2 -2
  244. data/lib/paypal_server_sdk/models/tax_info.rb +12 -0
  245. data/lib/paypal_server_sdk/models/tenure_type.rb +28 -0
  246. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +14 -0
  247. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +89 -0
  248. data/lib/paypal_server_sdk/models/token.rb +12 -0
  249. data/lib/paypal_server_sdk/models/token_type.rb +2 -1
  250. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +31 -6
  251. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +30 -6
  252. data/lib/paypal_server_sdk/models/universal_product_code.rb +12 -0
  253. data/lib/paypal_server_sdk/models/upc_type.rb +14 -14
  254. data/lib/paypal_server_sdk/models/usage_pattern.rb +72 -0
  255. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +39 -0
  256. data/lib/paypal_server_sdk/models/vault_customer.rb +12 -0
  257. data/lib/paypal_server_sdk/models/vault_experience_context.rb +26 -7
  258. data/lib/paypal_server_sdk/models/vault_instruction.rb +12 -0
  259. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +26 -0
  260. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +12 -0
  261. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +43 -4
  262. data/lib/paypal_server_sdk/models/vault_response.rb +13 -0
  263. data/lib/paypal_server_sdk/models/vault_response_customer.rb +86 -0
  264. data/lib/paypal_server_sdk/models/vault_status.rb +8 -3
  265. data/lib/paypal_server_sdk/models/vault_token_request.rb +13 -1
  266. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +20 -0
  267. data/lib/paypal_server_sdk/models/vault_venmo_experience_context.rb +24 -6
  268. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +31 -3
  269. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +29 -3
  270. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +26 -1
  271. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +37 -8
  272. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +4 -2
  273. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +12 -6
  274. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +5 -2
  275. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +12 -0
  276. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +12 -0
  277. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +16 -5
  278. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +34 -5
  279. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +21 -8
  280. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +21 -5
  281. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +17 -0
  282. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +14 -2
  283. data/lib/paypal_server_sdk.rb +43 -14
  284. metadata +40 -15
  285. data/lib/paypal_server_sdk/models/address_details.rb +0 -160
  286. data/lib/paypal_server_sdk/models/card_payment_token.rb +0 -166
  287. data/lib/paypal_server_sdk/models/card_verification_method.rb +0 -29
  288. data/lib/paypal_server_sdk/models/google_pay_card_attributes.rb +0 -51
  289. data/lib/paypal_server_sdk/models/payee.rb +0 -65
  290. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_pattern.rb +0 -35
  291. data/lib/paypal_server_sdk/models/token_request_type.rb +0 -23
@@ -53,5 +53,17 @@ module PaypalServerSdk
53
53
  TaxInfo.new(tax_id: tax_id,
54
54
  tax_id_type: tax_id_type)
55
55
  end
56
+
57
+ # Provides a human-readable string representation of the object.
58
+ def to_s
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} tax_id: #{@tax_id}, tax_id_type: #{@tax_id_type}>"
61
+ end
62
+
63
+ # Provides a debugging-friendly string with detailed object information.
64
+ def inspect
65
+ class_name = self.class.name.split('::').last
66
+ "<#{class_name} tax_id: #{@tax_id.inspect}, tax_id_type: #{@tax_id_type.inspect}>"
67
+ end
56
68
  end
57
69
  end
@@ -0,0 +1,28 @@
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 tenure type of the billing cycle identifies if the billing cycle is a
8
+ # trial(free or discounted) or regular billing cycle.
9
+ class TenureType
10
+ TENURE_TYPE = [
11
+ # A regular billing cycle to identify recurring charges for the billing
12
+ # agreement.
13
+ REGULAR = 'REGULAR'.freeze,
14
+
15
+ # A trial billing cycle to identify free or discounted charge for the
16
+ # billing agreement. Free trails will not have a price object in pricing
17
+ # scheme where as a discounted trial would have a discounted price
18
+ # compared to regular billing cycle.
19
+ TRIAL = 'TRIAL'.freeze
20
+ ].freeze
21
+
22
+ def self.validate(value)
23
+ return false if value.nil?
24
+
25
+ true
26
+ end
27
+ end
28
+ end
@@ -58,5 +58,19 @@ module PaypalServerSdk
58
58
  ThreeDSecureAuthenticationResponse.new(authentication_status: authentication_status,
59
59
  enrollment_status: enrollment_status)
60
60
  end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} authentication_status: #{@authentication_status}, enrollment_status:"\
66
+ " #{@enrollment_status}>"
67
+ end
68
+
69
+ # Provides a debugging-friendly string with detailed object information.
70
+ def inspect
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} authentication_status: #{@authentication_status.inspect},"\
73
+ " enrollment_status: #{@enrollment_status.inspect}>"
74
+ end
61
75
  end
62
76
  end
@@ -0,0 +1,89 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # Results of 3D Secure Authentication.
8
+ class ThreeDSecureCardAuthenticationResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Transactions status result identifier. The outcome of the issuer's
13
+ # authentication.
14
+ # @return [PaResStatus]
15
+ attr_accessor :authentication_status
16
+
17
+ # Status of Authentication eligibility.
18
+ # @return [EnrollmentStatus]
19
+ attr_accessor :enrollment_status
20
+
21
+ # The externally received 3ds authentication id, to be returned in card
22
+ # detokenization response.
23
+ # @return [String]
24
+ attr_accessor :authentication_id
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['authentication_status'] = 'authentication_status'
30
+ @_hash['enrollment_status'] = 'enrollment_status'
31
+ @_hash['authentication_id'] = 'authentication_id'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ %w[
38
+ authentication_status
39
+ enrollment_status
40
+ authentication_id
41
+ ]
42
+ end
43
+
44
+ # An array for nullable fields
45
+ def self.nullables
46
+ []
47
+ end
48
+
49
+ def initialize(authentication_status: SKIP, enrollment_status: SKIP,
50
+ authentication_id: SKIP)
51
+ @authentication_status = authentication_status unless authentication_status == SKIP
52
+ @enrollment_status = enrollment_status unless enrollment_status == SKIP
53
+ @authentication_id = authentication_id unless authentication_id == SKIP
54
+ end
55
+
56
+ # Creates an instance of the object from a hash.
57
+ def self.from_hash(hash)
58
+ return nil unless hash
59
+
60
+ # Extract variables from the hash.
61
+ authentication_status =
62
+ hash.key?('authentication_status') ? hash['authentication_status'] : SKIP
63
+ enrollment_status =
64
+ hash.key?('enrollment_status') ? hash['enrollment_status'] : SKIP
65
+ authentication_id =
66
+ hash.key?('authentication_id') ? hash['authentication_id'] : SKIP
67
+
68
+ # Create object from extracted values.
69
+ ThreeDSecureCardAuthenticationResponse.new(authentication_status: authentication_status,
70
+ enrollment_status: enrollment_status,
71
+ authentication_id: authentication_id)
72
+ end
73
+
74
+ # Provides a human-readable string representation of the object.
75
+ def to_s
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} authentication_status: #{@authentication_status}, enrollment_status:"\
78
+ " #{@enrollment_status}, authentication_id: #{@authentication_id}>"
79
+ end
80
+
81
+ # Provides a debugging-friendly string with detailed object information.
82
+ def inspect
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} authentication_status: #{@authentication_status.inspect},"\
85
+ " enrollment_status: #{@enrollment_status.inspect}, authentication_id:"\
86
+ " #{@authentication_id.inspect}>"
87
+ end
88
+ end
89
+ end
@@ -52,5 +52,17 @@ module PaypalServerSdk
52
52
  Token.new(id: id,
53
53
  type: type)
54
54
  end
55
+
56
+ # Provides a human-readable string representation of the object.
57
+ def to_s
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} id: #{@id}, type: #{@type}>"
60
+ end
61
+
62
+ # Provides a debugging-friendly string with detailed object information.
63
+ def inspect
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} id: #{@id.inspect}, type: #{@type.inspect}>"
66
+ end
55
67
  end
56
68
  end
@@ -7,7 +7,8 @@ module PaypalServerSdk
7
7
  # The tokenization method that generated the ID.
8
8
  class TokenType
9
9
  TOKEN_TYPE = [
10
- # TODO: Write general description for BILLING_AGREEMENT
10
+ # The PayPal billing agreement ID. References an approved recurring
11
+ # payment for goods or services.
11
12
  BILLING_AGREEMENT = 'BILLING_AGREEMENT'.freeze
12
13
  ].freeze
13
14
 
@@ -14,14 +14,20 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
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>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
24
+ # The internationalized email address. Note: Up to 64 characters are allowed
25
+ # before and 255 characters are allowed after the @ sign. However, the
26
+ # generally accepted maximum length for an email address is 254 characters.
27
+ # The pattern verifies that an unquoted @ sign exists.
28
+ # @return [String]
29
+ attr_accessor :email
30
+
25
31
  # The business identification code (BIC). In payments systems, a BIC is used
26
32
  # to identify a specific business, most commonly a bank.
27
33
  # @return [String]
@@ -36,6 +42,7 @@ module PaypalServerSdk
36
42
  @_hash = {} if @_hash.nil?
37
43
  @_hash['name'] = 'name'
38
44
  @_hash['country_code'] = 'country_code'
45
+ @_hash['email'] = 'email'
39
46
  @_hash['bic'] = 'bic'
40
47
  @_hash['iban_last_chars'] = 'iban_last_chars'
41
48
  @_hash
@@ -46,6 +53,7 @@ module PaypalServerSdk
46
53
  %w[
47
54
  name
48
55
  country_code
56
+ email
49
57
  bic
50
58
  iban_last_chars
51
59
  ]
@@ -56,10 +64,11 @@ module PaypalServerSdk
56
64
  []
57
65
  end
58
66
 
59
- def initialize(name: SKIP, country_code: SKIP, bic: SKIP,
67
+ def initialize(name: SKIP, country_code: SKIP, email: SKIP, bic: SKIP,
60
68
  iban_last_chars: SKIP)
61
69
  @name = name unless name == SKIP
62
70
  @country_code = country_code unless country_code == SKIP
71
+ @email = email unless email == SKIP
63
72
  @bic = bic unless bic == SKIP
64
73
  @iban_last_chars = iban_last_chars unless iban_last_chars == SKIP
65
74
  end
@@ -71,6 +80,7 @@ module PaypalServerSdk
71
80
  # Extract variables from the hash.
72
81
  name = hash.key?('name') ? hash['name'] : SKIP
73
82
  country_code = hash.key?('country_code') ? hash['country_code'] : SKIP
83
+ email = hash.key?('email') ? hash['email'] : SKIP
74
84
  bic = hash.key?('bic') ? hash['bic'] : SKIP
75
85
  iban_last_chars =
76
86
  hash.key?('iban_last_chars') ? hash['iban_last_chars'] : SKIP
@@ -78,8 +88,23 @@ module PaypalServerSdk
78
88
  # Create object from extracted values.
79
89
  TrustlyPaymentObject.new(name: name,
80
90
  country_code: country_code,
91
+ email: email,
81
92
  bic: bic,
82
93
  iban_last_chars: iban_last_chars)
83
94
  end
95
+
96
+ # Provides a human-readable string representation of the object.
97
+ def to_s
98
+ class_name = self.class.name.split('::').last
99
+ "<#{class_name} name: #{@name}, country_code: #{@country_code}, email: #{@email}, bic:"\
100
+ " #{@bic}, iban_last_chars: #{@iban_last_chars}>"
101
+ end
102
+
103
+ # Provides a debugging-friendly string with detailed object information.
104
+ def inspect
105
+ class_name = self.class.name.split('::').last
106
+ "<#{class_name} name: #{@name.inspect}, country_code: #{@country_code.inspect}, email:"\
107
+ " #{@email.inspect}, bic: #{@bic.inspect}, iban_last_chars: #{@iban_last_chars.inspect}>"
108
+ end
84
109
  end
85
110
  end
@@ -14,14 +14,20 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
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>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
24
+ # The internationalized email address. Note: Up to 64 characters are allowed
25
+ # before and 255 characters are allowed after the @ sign. However, the
26
+ # generally accepted maximum length for an email address is 254 characters.
27
+ # The pattern verifies that an unquoted @ sign exists.
28
+ # @return [String]
29
+ attr_accessor :email
30
+
25
31
  # Customizes the payer experience during the approval process for the
26
32
  # payment.
27
33
  # @return [ExperienceContext]
@@ -32,6 +38,7 @@ module PaypalServerSdk
32
38
  @_hash = {} if @_hash.nil?
33
39
  @_hash['name'] = 'name'
34
40
  @_hash['country_code'] = 'country_code'
41
+ @_hash['email'] = 'email'
35
42
  @_hash['experience_context'] = 'experience_context'
36
43
  @_hash
37
44
  end
@@ -48,9 +55,10 @@ module PaypalServerSdk
48
55
  []
49
56
  end
50
57
 
51
- def initialize(name:, country_code:, experience_context: SKIP)
58
+ def initialize(name:, country_code:, email:, experience_context: SKIP)
52
59
  @name = name
53
60
  @country_code = country_code
61
+ @email = email
54
62
  @experience_context = experience_context unless experience_context == SKIP
55
63
  end
56
64
 
@@ -61,13 +69,29 @@ module PaypalServerSdk
61
69
  # Extract variables from the hash.
62
70
  name = hash.key?('name') ? hash['name'] : nil
63
71
  country_code = hash.key?('country_code') ? hash['country_code'] : nil
72
+ email = hash.key?('email') ? hash['email'] : nil
64
73
  experience_context = ExperienceContext.from_hash(hash['experience_context']) if
65
74
  hash['experience_context']
66
75
 
67
76
  # Create object from extracted values.
68
77
  TrustlyPaymentRequest.new(name: name,
69
78
  country_code: country_code,
79
+ email: email,
70
80
  experience_context: experience_context)
71
81
  end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} name: #{@name}, country_code: #{@country_code}, email: #{@email},"\
87
+ " experience_context: #{@experience_context}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} name: #{@name.inspect}, country_code: #{@country_code.inspect}, email:"\
94
+ " #{@email.inspect}, experience_context: #{@experience_context.inspect}>"
95
+ end
72
96
  end
73
97
  end
@@ -52,5 +52,17 @@ module PaypalServerSdk
52
52
  UniversalProductCode.new(type: type,
53
53
  code: code)
54
54
  end
55
+
56
+ # Provides a human-readable string representation of the object.
57
+ def to_s
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} type: #{@type}, code: #{@code}>"
60
+ end
61
+
62
+ # Provides a debugging-friendly string with detailed object information.
63
+ def inspect
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} type: #{@type.inspect}, code: #{@code.inspect}>"
66
+ end
55
67
  end
56
68
  end
@@ -7,26 +7,26 @@ module PaypalServerSdk
7
7
  # The Universal Product Code type.
8
8
  class UpcType
9
9
  UPC_TYPE = [
10
- # TODO: Write general description for UPCA
11
- UPCA = 'UPC-A'.freeze,
10
+ # TODO: Write general description for UPC_A
11
+ UPC_A = 'UPC-A'.freeze,
12
12
 
13
- # TODO: Write general description for UPCB
14
- UPCB = 'UPC-B'.freeze,
13
+ # TODO: Write general description for UPC_B
14
+ UPC_B = 'UPC-B'.freeze,
15
15
 
16
- # TODO: Write general description for UPCC
17
- UPCC = 'UPC-C'.freeze,
16
+ # TODO: Write general description for UPC_C
17
+ UPC_C = 'UPC-C'.freeze,
18
18
 
19
- # TODO: Write general description for UPCD
20
- UPCD = 'UPC-D'.freeze,
19
+ # TODO: Write general description for UPC_D
20
+ UPC_D = 'UPC-D'.freeze,
21
21
 
22
- # TODO: Write general description for UPCE
23
- UPCE = 'UPC-E'.freeze,
22
+ # TODO: Write general description for UPC_E
23
+ UPC_E = 'UPC-E'.freeze,
24
24
 
25
- # TODO: Write general description for UPC2
26
- UPC2 = 'UPC-2'.freeze,
25
+ # TODO: Write general description for UPC_2
26
+ UPC_2 = 'UPC-2'.freeze,
27
27
 
28
- # TODO: Write general description for UPC5
29
- UPC5 = 'UPC-5'.freeze
28
+ # TODO: Write general description for UPC_5
29
+ UPC_5 = 'UPC-5'.freeze
30
30
  ].freeze
31
31
 
32
32
  def self.validate(value)
@@ -0,0 +1,72 @@
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., Expected
8
+ # business/charge model for the billing agreement.
9
+ class UsagePattern
10
+ USAGE_PATTERN = [
11
+ # On-demand instant payments – non-recurring, pre-paid, variable amount,
12
+ # variable frequency.
13
+ IMMEDIATE = 'IMMEDIATE'.freeze,
14
+
15
+ # Pay after use, non-recurring post-paid, variable amount, irregular
16
+ # frequency.
17
+ DEFERRED = 'DEFERRED'.freeze,
18
+
19
+ # Pay upfront fixed or variable amount on a fixed date before the
20
+ # goods/service is delivered.
21
+ RECURRING_PREPAID = 'RECURRING_PREPAID'.freeze,
22
+
23
+ # Pay on a fixed date based on usage or consumption after the
24
+ # goods/service is delivered.
25
+ RECURRING_POSTPAID = 'RECURRING_POSTPAID'.freeze,
26
+
27
+ # Charge payer when the set amount is reached or monthly billing cycle,
28
+ # whichever comes first, before the goods/service is delivered.
29
+ THRESHOLD_PREPAID = 'THRESHOLD_PREPAID'.freeze,
30
+
31
+ # Charge payer when the set amount is reached or monthly billing cycle,
32
+ # whichever comes first, after the goods/service is delivered.
33
+ THRESHOLD_POSTPAID = 'THRESHOLD_POSTPAID'.freeze,
34
+
35
+ # Subscription plan where the "amount due" and the "billing frequency" are
36
+ # fixed, and there is no defined duration with the payment due before the
37
+ # good/service is delivered.
38
+ SUBSCRIPTION_PREPAID = 'SUBSCRIPTION_PREPAID'.freeze,
39
+
40
+ # Subscription plan where the "amount due" and the "billing frequency" are
41
+ # fixed, and there is no defined duration with the payment due after the
42
+ # goods/services are delivered.
43
+ SUBSCRIPTION_POSTPAID = 'SUBSCRIPTION_POSTPAID'.freeze,
44
+
45
+ # Unscheduled card on file plan where the merchant can bill buyer upfront
46
+ # based on an agreed logic, but "amount due" and "frequency" can vary.
47
+ # Inclusive of automatic reload plans.
48
+ UNSCHEDULED_PREPAID = 'UNSCHEDULED_PREPAID'.freeze,
49
+
50
+ # Unscheduled card on file plan where the merchant can bill buyer based on
51
+ # an agreed logic, but "amount due" and "frequency" can vary. Inclusive of
52
+ # automatic reload plans.
53
+ UNSCHEDULED_POSTPAID = 'UNSCHEDULED_POSTPAID'.freeze,
54
+
55
+ # Merchant-managed installment plan when the "amount" to be paid and the
56
+ # "billing frequency" are fixed, but there is a defined number of payments
57
+ # with the payment due before the good/service is delivered.
58
+ INSTALLMENT_PREPAID = 'INSTALLMENT_PREPAID'.freeze,
59
+
60
+ # Merchant-managed installment plan when the "amount" to be paid and the
61
+ # "billing frequency" are fixed, but there is a defined number of payments
62
+ # with the payment due after the goods/services are delivered.
63
+ INSTALLMENT_POSTPAID = 'INSTALLMENT_POSTPAID'.freeze
64
+ ].freeze
65
+
66
+ def self.validate(value)
67
+ return false if value.nil?
68
+
69
+ true
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,39 @@
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 verification method of the card.
8
+ class VaultCardVerificationMethod
9
+ VAULT_CARD_VERIFICATION_METHOD = [
10
+ # When an authorization or transaction is attempted this option will
11
+ # return a contingency and HATEOAS link only when local regulations
12
+ # require strong customer authentication, (e.g. 3DS in countries and use
13
+ # cases where it is mandated). The API caller should redirect the payer to
14
+ # the link so that they can authenticate themselves. In all cases, when an
15
+ # authorization is requested the AVS/CVV results will be returned in the
16
+ # response.
17
+ SCA_WHEN_REQUIRED = 'SCA_WHEN_REQUIRED'.freeze,
18
+
19
+ # Selecting this option will attempt to force a strong customer
20
+ # authentication for the authorization/transaction. In countries where SCA
21
+ # has been defined and implemented it will result in a contingency and
22
+ # HATEOAS link being returned. The API caller should redirect the payer
23
+ # to that link so that they can authenticate themselves against their
24
+ # issuing bank or other entity. As noted, the HATEOAS link is only
25
+ # available in all regions where strong authentication is supported, (e.g.
26
+ # in European countries where 3DS is live). Merchants can use this setting
27
+ # as an additional layer of security if they choose to. In all cases, when
28
+ # an authorization is requested the AVS/CVV results will be returned in
29
+ # the response.
30
+ SCA_ALWAYS = 'SCA_ALWAYS'.freeze
31
+ ].freeze
32
+
33
+ def self.validate(value)
34
+ return false if value.nil?
35
+
36
+ true
37
+ end
38
+ end
39
+ end
@@ -46,5 +46,17 @@ module PaypalServerSdk
46
46
  # Create object from extracted values.
47
47
  VaultCustomer.new(id: id)
48
48
  end
49
+
50
+ # Provides a human-readable string representation of the object.
51
+ def to_s
52
+ class_name = self.class.name.split('::').last
53
+ "<#{class_name} id: #{@id}>"
54
+ end
55
+
56
+ # Provides a debugging-friendly string with detailed object information.
57
+ def inspect
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} id: #{@id.inspect}>"
60
+ end
49
61
  end
50
62
  end
@@ -39,12 +39,12 @@ module PaypalServerSdk
39
39
  attr_accessor :cancel_url
40
40
 
41
41
  # The shipping preference. This only applies to PayPal payment source.
42
- # @return [String]
42
+ # @return [OrderApplicationContextShippingPreference]
43
43
  attr_accessor :shipping_preference
44
44
 
45
45
  # Vault Instruction on action to be performed after a successful payer
46
46
  # approval.
47
- # @return [String]
47
+ # @return [VaultInstructionAction]
48
48
  attr_accessor :vault_instruction
49
49
 
50
50
  # A mapping from model property names to API property names.
@@ -76,9 +76,11 @@ module PaypalServerSdk
76
76
  []
77
77
  end
78
78
 
79
- def initialize(brand_name: SKIP, locale: SKIP, return_url: SKIP,
80
- cancel_url: SKIP, shipping_preference: 'GET_FROM_FILE',
81
- vault_instruction: 'ON_CREATE_PAYMENT_TOKENS')
79
+ def initialize(
80
+ brand_name: SKIP, locale: SKIP, return_url: SKIP, cancel_url: SKIP,
81
+ shipping_preference: OrderApplicationContextShippingPreference::GET_FROM_FILE,
82
+ vault_instruction: VaultInstructionAction::ON_CREATE_PAYMENT_TOKENS
83
+ )
82
84
  @brand_name = brand_name unless brand_name == SKIP
83
85
  @locale = locale unless locale == SKIP
84
86
  @return_url = return_url unless return_url == SKIP
@@ -96,9 +98,10 @@ module PaypalServerSdk
96
98
  locale = hash.key?('locale') ? hash['locale'] : SKIP
97
99
  return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
98
100
  cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
99
- shipping_preference = hash['shipping_preference'] ||= 'GET_FROM_FILE'
101
+ shipping_preference =
102
+ hash['shipping_preference'] ||= OrderApplicationContextShippingPreference::GET_FROM_FILE
100
103
  vault_instruction =
101
- hash['vault_instruction'] ||= 'ON_CREATE_PAYMENT_TOKENS'
104
+ hash['vault_instruction'] ||= VaultInstructionAction::ON_CREATE_PAYMENT_TOKENS
102
105
 
103
106
  # Create object from extracted values.
104
107
  VaultExperienceContext.new(brand_name: brand_name,
@@ -108,5 +111,21 @@ module PaypalServerSdk
108
111
  shipping_preference: shipping_preference,
109
112
  vault_instruction: vault_instruction)
110
113
  end
114
+
115
+ # Provides a human-readable string representation of the object.
116
+ def to_s
117
+ class_name = self.class.name.split('::').last
118
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, return_url: #{@return_url},"\
119
+ " cancel_url: #{@cancel_url}, shipping_preference: #{@shipping_preference},"\
120
+ " vault_instruction: #{@vault_instruction}>"
121
+ end
122
+
123
+ # Provides a debugging-friendly string with detailed object information.
124
+ def inspect
125
+ class_name = self.class.name.split('::').last
126
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect}, return_url:"\
127
+ " #{@return_url.inspect}, cancel_url: #{@cancel_url.inspect}, shipping_preference:"\
128
+ " #{@shipping_preference.inspect}, vault_instruction: #{@vault_instruction.inspect}>"
129
+ end
111
130
  end
112
131
  end
@@ -46,5 +46,17 @@ module PaypalServerSdk
46
46
  # Create object from extracted values.
47
47
  VaultInstruction.new(store_in_vault: store_in_vault)
48
48
  end
49
+
50
+ # Provides a human-readable string representation of the object.
51
+ def to_s
52
+ class_name = self.class.name.split('::').last
53
+ "<#{class_name} store_in_vault: #{@store_in_vault}>"
54
+ end
55
+
56
+ # Provides a debugging-friendly string with detailed object information.
57
+ def inspect
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} store_in_vault: #{@store_in_vault.inspect}>"
60
+ end
49
61
  end
50
62
  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
+ # Vault Instruction on action to be performed after a successful payer
8
+ # approval.
9
+ class VaultInstructionAction
10
+ VAULT_INSTRUCTION_ACTION = [
11
+ # Vault the payment method after API caller performs a successful POST on
12
+ # Payment Tokens.
13
+ ON_CREATE_PAYMENT_TOKENS = 'ON_CREATE_PAYMENT_TOKENS'.freeze,
14
+
15
+ # Vault the payment method on successful payer authentication and
16
+ # approval.
17
+ ON_PAYER_APPROVAL = 'ON_PAYER_APPROVAL'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ true
24
+ end
25
+ end
26
+ end
@@ -48,5 +48,17 @@ module PaypalServerSdk
48
48
  # Create object from extracted values.
49
49
  VaultInstructionBase.new(store_in_vault: store_in_vault)
50
50
  end
51
+
52
+ # Provides a human-readable string representation of the object.
53
+ def to_s
54
+ class_name = self.class.name.split('::').last
55
+ "<#{class_name} store_in_vault: #{@store_in_vault}>"
56
+ end
57
+
58
+ # Provides a debugging-friendly string with detailed object information.
59
+ def inspect
60
+ class_name = self.class.name.split('::').last
61
+ "<#{class_name} store_in_vault: #{@store_in_vault.inspect}>"
62
+ end
51
63
  end
52
64
  end