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
@@ -40,7 +40,7 @@ module PaypalServerSdk
40
40
 
41
41
  # Vault Instruction on action to be performed after a successful payer
42
42
  # approval.
43
- # @return [String]
43
+ # @return [VaultInstructionAction]
44
44
  attr_accessor :vault_instruction
45
45
 
46
46
  # A mapping from model property names to API property names.
@@ -70,9 +70,10 @@ module PaypalServerSdk
70
70
  []
71
71
  end
72
72
 
73
- def initialize(brand_name: SKIP, locale: SKIP, return_url: SKIP,
74
- cancel_url: SKIP,
75
- vault_instruction: 'ON_CREATE_PAYMENT_TOKENS')
73
+ def initialize(
74
+ brand_name: SKIP, locale: SKIP, return_url: SKIP, cancel_url: SKIP,
75
+ vault_instruction: VaultInstructionAction::ON_CREATE_PAYMENT_TOKENS
76
+ )
76
77
  @brand_name = brand_name unless brand_name == SKIP
77
78
  @locale = locale unless locale == SKIP
78
79
  @return_url = return_url unless return_url == SKIP
@@ -90,7 +91,7 @@ module PaypalServerSdk
90
91
  return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
91
92
  cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
92
93
  vault_instruction =
93
- hash['vault_instruction'] ||= 'ON_CREATE_PAYMENT_TOKENS'
94
+ hash['vault_instruction'] ||= VaultInstructionAction::ON_CREATE_PAYMENT_TOKENS
94
95
 
95
96
  # Create object from extracted values.
96
97
  SetupTokenCardExperienceContext.new(brand_name: brand_name,
@@ -99,5 +100,20 @@ module PaypalServerSdk
99
100
  cancel_url: cancel_url,
100
101
  vault_instruction: vault_instruction)
101
102
  end
103
+
104
+ # Provides a human-readable string representation of the object.
105
+ def to_s
106
+ class_name = self.class.name.split('::').last
107
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, return_url: #{@return_url},"\
108
+ " cancel_url: #{@cancel_url}, vault_instruction: #{@vault_instruction}>"
109
+ end
110
+
111
+ # Provides a debugging-friendly string with detailed object information.
112
+ def inspect
113
+ class_name = self.class.name.split('::').last
114
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect}, return_url:"\
115
+ " #{@return_url.inspect}, cancel_url: #{@cancel_url.inspect}, vault_instruction:"\
116
+ " #{@vault_instruction.inspect}>"
117
+ end
102
118
  end
103
119
  end
@@ -10,8 +10,9 @@ module PaypalServerSdk
10
10
  SKIP = Object.new
11
11
  private_constant :SKIP
12
12
 
13
- # Customer in merchant's or partner's system of records.
14
- # @return [CustomerRequest]
13
+ # This object defines a customer in your system. Use it to manage customer
14
+ # profiles, save payment methods and contact details.
15
+ # @return [Customer]
15
16
  attr_accessor :customer
16
17
 
17
18
  # The payment method to vault with the instrument details.
@@ -50,11 +51,24 @@ module PaypalServerSdk
50
51
  # Extract variables from the hash.
51
52
  payment_source = SetupTokenRequestPaymentSource.from_hash(hash['payment_source']) if
52
53
  hash['payment_source']
53
- customer = CustomerRequest.from_hash(hash['customer']) if hash['customer']
54
+ customer = Customer.from_hash(hash['customer']) if hash['customer']
54
55
 
55
56
  # Create object from extracted values.
56
57
  SetupTokenRequest.new(payment_source: payment_source,
57
58
  customer: customer)
58
59
  end
60
+
61
+ # Provides a human-readable string representation of the object.
62
+ def to_s
63
+ class_name = self.class.name.split('::').last
64
+ "<#{class_name} customer: #{@customer}, payment_source: #{@payment_source}>"
65
+ end
66
+
67
+ # Provides a debugging-friendly string with detailed object information.
68
+ def inspect
69
+ class_name = self.class.name.split('::').last
70
+ "<#{class_name} customer: #{@customer.inspect}, payment_source:"\
71
+ " #{@payment_source.inspect}>"
72
+ end
59
73
  end
60
74
  end
@@ -43,17 +43,13 @@ module PaypalServerSdk
43
43
  attr_accessor :billing_address
44
44
 
45
45
  # The verification method of the card.
46
- # @return [String]
46
+ # @return [VaultCardVerificationMethod]
47
47
  attr_accessor :verification_method
48
48
 
49
49
  # Customizes the Vault creation flow experience for your customers.
50
50
  # @return [SetupTokenCardExperienceContext]
51
51
  attr_accessor :experience_context
52
52
 
53
- # Customizes the Vault creation flow experience for your customers.
54
- # @return [Object]
55
- attr_accessor :network_transaction_reference
56
-
57
53
  # A mapping from model property names to API property names.
58
54
  def self.names
59
55
  @_hash = {} if @_hash.nil?
@@ -65,8 +61,6 @@ module PaypalServerSdk
65
61
  @_hash['billing_address'] = 'billing_address'
66
62
  @_hash['verification_method'] = 'verification_method'
67
63
  @_hash['experience_context'] = 'experience_context'
68
- @_hash['network_transaction_reference'] =
69
- 'network_transaction_reference'
70
64
  @_hash
71
65
  end
72
66
 
@@ -81,7 +75,6 @@ module PaypalServerSdk
81
75
  billing_address
82
76
  verification_method
83
77
  experience_context
84
- network_transaction_reference
85
78
  ]
86
79
  end
87
80
 
@@ -92,8 +85,7 @@ module PaypalServerSdk
92
85
 
93
86
  def initialize(name: SKIP, number: SKIP, expiry: SKIP, security_code: SKIP,
94
87
  brand: SKIP, billing_address: SKIP,
95
- verification_method: SKIP, experience_context: SKIP,
96
- network_transaction_reference: SKIP)
88
+ verification_method: SKIP, experience_context: SKIP)
97
89
  @name = name unless name == SKIP
98
90
  @number = number unless number == SKIP
99
91
  @expiry = expiry unless expiry == SKIP
@@ -102,10 +94,6 @@ module PaypalServerSdk
102
94
  @billing_address = billing_address unless billing_address == SKIP
103
95
  @verification_method = verification_method unless verification_method == SKIP
104
96
  @experience_context = experience_context unless experience_context == SKIP
105
- unless network_transaction_reference == SKIP
106
- @network_transaction_reference =
107
- network_transaction_reference
108
- end
109
97
  end
110
98
 
111
99
  # Creates an instance of the object from a hash.
@@ -123,8 +111,6 @@ module PaypalServerSdk
123
111
  hash.key?('verification_method') ? hash['verification_method'] : SKIP
124
112
  experience_context = SetupTokenCardExperienceContext.from_hash(hash['experience_context']) if
125
113
  hash['experience_context']
126
- network_transaction_reference =
127
- hash.key?('network_transaction_reference') ? hash['network_transaction_reference'] : SKIP
128
114
 
129
115
  # Create object from extracted values.
130
116
  SetupTokenRequestCard.new(name: name,
@@ -134,8 +120,24 @@ module PaypalServerSdk
134
120
  brand: brand,
135
121
  billing_address: billing_address,
136
122
  verification_method: verification_method,
137
- experience_context: experience_context,
138
- network_transaction_reference: network_transaction_reference)
123
+ experience_context: experience_context)
124
+ end
125
+
126
+ # Provides a human-readable string representation of the object.
127
+ def to_s
128
+ class_name = self.class.name.split('::').last
129
+ "<#{class_name} name: #{@name}, number: #{@number}, expiry: #{@expiry}, security_code:"\
130
+ " #{@security_code}, brand: #{@brand}, billing_address: #{@billing_address},"\
131
+ " verification_method: #{@verification_method}, experience_context: #{@experience_context}>"
132
+ end
133
+
134
+ # Provides a debugging-friendly string with detailed object information.
135
+ def inspect
136
+ class_name = self.class.name.split('::').last
137
+ "<#{class_name} name: #{@name.inspect}, number: #{@number.inspect}, expiry:"\
138
+ " #{@expiry.inspect}, security_code: #{@security_code.inspect}, brand: #{@brand.inspect},"\
139
+ " billing_address: #{@billing_address.inspect}, verification_method:"\
140
+ " #{@verification_method.inspect}, experience_context: #{@experience_context.inspect}>"
139
141
  end
140
142
  end
141
143
  end
@@ -73,5 +73,18 @@ module PaypalServerSdk
73
73
  venmo: venmo,
74
74
  token: token)
75
75
  end
76
+
77
+ # Provides a human-readable string representation of the object.
78
+ def to_s
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} card: #{@card}, paypal: #{@paypal}, venmo: #{@venmo}, token: #{@token}>"
81
+ end
82
+
83
+ # Provides a debugging-friendly string with detailed object information.
84
+ def inspect
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} card: #{@card.inspect}, paypal: #{@paypal.inspect}, venmo:"\
87
+ " #{@venmo.inspect}, token: #{@token.inspect}>"
88
+ end
76
89
  end
77
90
  end
@@ -13,16 +13,13 @@ module PaypalServerSdk
13
13
  # @return [String]
14
14
  attr_accessor :id
15
15
 
16
- # Ordinal number for sorting.
17
- # @return [Integer]
18
- attr_accessor :ordinal
19
-
20
- # Customer in merchant's or partner's system of records.
21
- # @return [CustomerRequest]
16
+ # This object defines a customer in your system. Use it to manage customer
17
+ # profiles, save payment methods and contact details.
18
+ # @return [Customer]
22
19
  attr_accessor :customer
23
20
 
24
21
  # The status of the payment token.
25
- # @return [String]
22
+ # @return [PaymentTokenStatus]
26
23
  attr_accessor :status
27
24
 
28
25
  # The setup payment method details.
@@ -37,7 +34,6 @@ module PaypalServerSdk
37
34
  def self.names
38
35
  @_hash = {} if @_hash.nil?
39
36
  @_hash['id'] = 'id'
40
- @_hash['ordinal'] = 'ordinal'
41
37
  @_hash['customer'] = 'customer'
42
38
  @_hash['status'] = 'status'
43
39
  @_hash['payment_source'] = 'payment_source'
@@ -49,7 +45,6 @@ module PaypalServerSdk
49
45
  def self.optionals
50
46
  %w[
51
47
  id
52
- ordinal
53
48
  customer
54
49
  status
55
50
  payment_source
@@ -62,10 +57,10 @@ module PaypalServerSdk
62
57
  []
63
58
  end
64
59
 
65
- def initialize(id: SKIP, ordinal: SKIP, customer: SKIP, status: 'CREATED',
66
- payment_source: SKIP, links: SKIP)
60
+ def initialize(id: SKIP, customer: SKIP,
61
+ status: PaymentTokenStatus::CREATED, payment_source: SKIP,
62
+ links: SKIP)
67
63
  @id = id unless id == SKIP
68
- @ordinal = ordinal unless ordinal == SKIP
69
64
  @customer = customer unless customer == SKIP
70
65
  @status = status unless status == SKIP
71
66
  @payment_source = payment_source unless payment_source == SKIP
@@ -78,9 +73,8 @@ module PaypalServerSdk
78
73
 
79
74
  # Extract variables from the hash.
80
75
  id = hash.key?('id') ? hash['id'] : SKIP
81
- ordinal = hash.key?('ordinal') ? hash['ordinal'] : SKIP
82
- customer = CustomerRequest.from_hash(hash['customer']) if hash['customer']
83
- status = hash['status'] ||= 'CREATED'
76
+ customer = Customer.from_hash(hash['customer']) if hash['customer']
77
+ status = hash['status'] ||= PaymentTokenStatus::CREATED
84
78
  payment_source = SetupTokenResponsePaymentSource.from_hash(hash['payment_source']) if
85
79
  hash['payment_source']
86
80
  # Parameter is an array, so we need to iterate through it
@@ -96,11 +90,24 @@ module PaypalServerSdk
96
90
 
97
91
  # Create object from extracted values.
98
92
  SetupTokenResponse.new(id: id,
99
- ordinal: ordinal,
100
93
  customer: customer,
101
94
  status: status,
102
95
  payment_source: payment_source,
103
96
  links: links)
104
97
  end
98
+
99
+ # Provides a human-readable string representation of the object.
100
+ def to_s
101
+ class_name = self.class.name.split('::').last
102
+ "<#{class_name} id: #{@id}, customer: #{@customer}, status: #{@status}, payment_source:"\
103
+ " #{@payment_source}, links: #{@links}>"
104
+ end
105
+
106
+ # Provides a debugging-friendly string with detailed object information.
107
+ def inspect
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} id: #{@id.inspect}, customer: #{@customer.inspect}, status:"\
110
+ " #{@status.inspect}, payment_source: #{@payment_source.inspect}, links: #{@links.inspect}>"
111
+ end
105
112
  end
106
113
  end
@@ -28,11 +28,11 @@ module PaypalServerSdk
28
28
  attr_accessor :expiry
29
29
 
30
30
  # Address request details.
31
- # @return [AddressDetails]
31
+ # @return [CardResponseAddress]
32
32
  attr_accessor :billing_address
33
33
 
34
34
  # Verification status of Card.
35
- # @return [String]
35
+ # @return [CardVerificationStatus]
36
36
  attr_accessor :verification_status
37
37
 
38
38
  # Card Verification details including the authorization details and 3D
@@ -125,7 +125,7 @@ module PaypalServerSdk
125
125
  last_digits = hash.key?('last_digits') ? hash['last_digits'] : SKIP
126
126
  brand = hash.key?('brand') ? hash['brand'] : SKIP
127
127
  expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
128
- billing_address = AddressDetails.from_hash(hash['billing_address']) if
128
+ billing_address = CardResponseAddress.from_hash(hash['billing_address']) if
129
129
  hash['billing_address']
130
130
  verification_status =
131
131
  hash.key?('verification_status') ? hash['verification_status'] : SKIP
@@ -152,5 +152,27 @@ module PaypalServerSdk
152
152
  bin_details: bin_details,
153
153
  type: type)
154
154
  end
155
+
156
+ # Provides a human-readable string representation of the object.
157
+ def to_s
158
+ class_name = self.class.name.split('::').last
159
+ "<#{class_name} name: #{@name}, last_digits: #{@last_digits}, brand: #{@brand}, expiry:"\
160
+ " #{@expiry}, billing_address: #{@billing_address}, verification_status:"\
161
+ " #{@verification_status}, verification: #{@verification}, network_transaction_reference:"\
162
+ " #{@network_transaction_reference}, authentication_result: #{@authentication_result},"\
163
+ " bin_details: #{@bin_details}, type: #{@type}>"
164
+ end
165
+
166
+ # Provides a debugging-friendly string with detailed object information.
167
+ def inspect
168
+ class_name = self.class.name.split('::').last
169
+ "<#{class_name} name: #{@name.inspect}, last_digits: #{@last_digits.inspect}, brand:"\
170
+ " #{@brand.inspect}, expiry: #{@expiry.inspect}, billing_address:"\
171
+ " #{@billing_address.inspect}, verification_status: #{@verification_status.inspect},"\
172
+ " verification: #{@verification.inspect}, network_transaction_reference:"\
173
+ " #{@network_transaction_reference.inspect}, authentication_result:"\
174
+ " #{@authentication_result.inspect}, bin_details: #{@bin_details.inspect}, type:"\
175
+ " #{@type.inspect}>"
176
+ end
155
177
  end
156
178
  end
@@ -64,5 +64,18 @@ module PaypalServerSdk
64
64
  paypal: paypal,
65
65
  venmo: venmo)
66
66
  end
67
+
68
+ # Provides a human-readable string representation of the object.
69
+ def to_s
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} card: #{@card}, paypal: #{@paypal}, venmo: #{@venmo}>"
72
+ end
73
+
74
+ # Provides a debugging-friendly string with detailed object information.
75
+ def inspect
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} card: #{@card.inspect}, paypal: #{@paypal.inspect}, venmo:"\
78
+ " #{@venmo.inspect}>"
79
+ end
67
80
  end
68
81
  end