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
@@ -51,9 +51,8 @@ module PaypalServerSdk
51
51
 
52
52
  # The date and time, in [Internet date and time
53
53
  # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
54
- # required while fractional seconds are
55
- # optional.<blockquote><strong>Note:</strong> The regular expression
56
- # provides guidance but does not reject all invalid dates.</blockquote>
54
+ # required while fractional seconds are optional. Note: The regular
55
+ # expression provides guidance but does not reject all invalid dates.
57
56
  # @return [String]
58
57
  attr_accessor :expiration_time
59
58
 
@@ -64,17 +63,15 @@ module PaypalServerSdk
64
63
 
65
64
  # The date and time, in [Internet date and time
66
65
  # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
67
- # required while fractional seconds are
68
- # optional.<blockquote><strong>Note:</strong> The regular expression
69
- # provides guidance but does not reject all invalid dates.</blockquote>
66
+ # required while fractional seconds are optional. Note: The regular
67
+ # expression provides guidance but does not reject all invalid dates.
70
68
  # @return [String]
71
69
  attr_accessor :create_time
72
70
 
73
71
  # The date and time, in [Internet date and time
74
72
  # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
75
- # required while fractional seconds are
76
- # optional.<blockquote><strong>Note:</strong> The regular expression
77
- # provides guidance but does not reject all invalid dates.</blockquote>
73
+ # required while fractional seconds are optional. Note: The regular
74
+ # expression provides guidance but does not reject all invalid dates.
78
75
  # @return [String]
79
76
  attr_accessor :update_time
80
77
 
@@ -84,7 +81,7 @@ module PaypalServerSdk
84
81
 
85
82
  # The details for the merchant who receives the funds and fulfills the
86
83
  # order. The merchant is also known as the payee.
87
- # @return [Payee]
84
+ # @return [PayeeBase]
88
85
  attr_accessor :payee
89
86
 
90
87
  # A mapping from model property names to API property names.
@@ -190,7 +187,7 @@ module PaypalServerSdk
190
187
  update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
191
188
  supplementary_data = PaymentSupplementaryData.from_hash(hash['supplementary_data']) if
192
189
  hash['supplementary_data']
193
- payee = Payee.from_hash(hash['payee']) if hash['payee']
190
+ payee = PayeeBase.from_hash(hash['payee']) if hash['payee']
194
191
 
195
192
  # Create object from extracted values.
196
193
  PaymentAuthorization.new(status: status,
@@ -208,5 +205,29 @@ module PaypalServerSdk
208
205
  supplementary_data: supplementary_data,
209
206
  payee: payee)
210
207
  end
208
+
209
+ # Provides a human-readable string representation of the object.
210
+ def to_s
211
+ class_name = self.class.name.split('::').last
212
+ "<#{class_name} status: #{@status}, status_details: #{@status_details}, id: #{@id}, amount:"\
213
+ " #{@amount}, invoice_id: #{@invoice_id}, custom_id: #{@custom_id},"\
214
+ " network_transaction_reference: #{@network_transaction_reference}, seller_protection:"\
215
+ " #{@seller_protection}, expiration_time: #{@expiration_time}, links: #{@links},"\
216
+ " create_time: #{@create_time}, update_time: #{@update_time}, supplementary_data:"\
217
+ " #{@supplementary_data}, payee: #{@payee}>"
218
+ end
219
+
220
+ # Provides a debugging-friendly string with detailed object information.
221
+ def inspect
222
+ class_name = self.class.name.split('::').last
223
+ "<#{class_name} status: #{@status.inspect}, status_details: #{@status_details.inspect}, id:"\
224
+ " #{@id.inspect}, amount: #{@amount.inspect}, invoice_id: #{@invoice_id.inspect}, custom_id:"\
225
+ " #{@custom_id.inspect}, network_transaction_reference:"\
226
+ " #{@network_transaction_reference.inspect}, seller_protection:"\
227
+ " #{@seller_protection.inspect}, expiration_time: #{@expiration_time.inspect}, links:"\
228
+ " #{@links.inspect}, create_time: #{@create_time.inspect}, update_time:"\
229
+ " #{@update_time.inspect}, supplementary_data: #{@supplementary_data.inspect}, payee:"\
230
+ " #{@payee.inspect}>"
231
+ end
211
232
  end
212
233
  end
@@ -17,7 +17,7 @@ module PaypalServerSdk
17
17
 
18
18
  # An array of captured payments for a purchase unit. A purchase unit can
19
19
  # have zero or more captured payments.
20
- # @return [Array[Capture]]
20
+ # @return [Array[OrdersCapture]]
21
21
  attr_accessor :captures
22
22
 
23
23
  # An array of refunds for a purchase unit. A purchase unit can have zero or
@@ -74,7 +74,7 @@ module PaypalServerSdk
74
74
  unless hash['captures'].nil?
75
75
  captures = []
76
76
  hash['captures'].each do |structure|
77
- captures << (Capture.from_hash(structure) if structure)
77
+ captures << (OrdersCapture.from_hash(structure) if structure)
78
78
  end
79
79
  end
80
80
 
@@ -95,5 +95,19 @@ module PaypalServerSdk
95
95
  captures: captures,
96
96
  refunds: refunds)
97
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} authorizations: #{@authorizations}, captures: #{@captures}, refunds:"\
103
+ " #{@refunds}>"
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} authorizations: #{@authorizations.inspect}, captures: #{@captures.inspect},"\
110
+ " refunds: #{@refunds.inspect}>"
111
+ end
98
112
  end
99
113
  end
@@ -7,10 +7,13 @@ module PaypalServerSdk
7
7
  # The person or party who initiated or triggered the payment.
8
8
  class PaymentInitiator
9
9
  PAYMENT_INITIATOR = [
10
- # TODO: Write general description for CUSTOMER
10
+ # Payment is initiated with the active engagement of the customer. e.g. a
11
+ # customer checking out on a merchant website.
11
12
  CUSTOMER = 'CUSTOMER'.freeze,
12
13
 
13
- # TODO: Write general description for MERCHANT
14
+ # Payment is initiated by merchant on behalf of the customer without the
15
+ # active engagement of customer. e.g. a merchant charging the monthly
16
+ # payment of a subscription to the customer.
14
17
  MERCHANT = 'MERCHANT'.freeze
15
18
  ].freeze
16
19
 
@@ -101,5 +101,21 @@ module PaypalServerSdk
101
101
  payee_pricing_tier_id: payee_pricing_tier_id,
102
102
  payee_receivable_fx_rate_id: payee_receivable_fx_rate_id)
103
103
  end
104
+
105
+ # Provides a human-readable string representation of the object.
106
+ def to_s
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} platform_fees: #{@platform_fees}, disbursement_mode: #{@disbursement_mode},"\
109
+ " payee_pricing_tier_id: #{@payee_pricing_tier_id}, payee_receivable_fx_rate_id:"\
110
+ " #{@payee_receivable_fx_rate_id}>"
111
+ end
112
+
113
+ # Provides a debugging-friendly string with detailed object information.
114
+ def inspect
115
+ class_name = self.class.name.split('::').last
116
+ "<#{class_name} platform_fees: #{@platform_fees.inspect}, disbursement_mode:"\
117
+ " #{@disbursement_mode.inspect}, payee_pricing_tier_id: #{@payee_pricing_tier_id.inspect},"\
118
+ " payee_receivable_fx_rate_id: #{@payee_receivable_fx_rate_id.inspect}>"
119
+ end
104
120
  end
105
121
  end
@@ -68,5 +68,19 @@ module PaypalServerSdk
68
68
  PaymentMethodPreference.new(payee_preferred: payee_preferred,
69
69
  standard_entry_class_code: standard_entry_class_code)
70
70
  end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} payee_preferred: #{@payee_preferred}, standard_entry_class_code:"\
76
+ " #{@standard_entry_class_code}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} payee_preferred: #{@payee_preferred.inspect}, standard_entry_class_code:"\
83
+ " #{@standard_entry_class_code.inspect}>"
84
+ end
71
85
  end
72
86
  end
@@ -9,15 +9,11 @@ module PaypalServerSdk
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
- # The payment card to use to fund a payment. Can be a credit or debit
13
- # card.<blockquote><strong>Note:</strong> Passing card number, cvv and
14
- # expiry directly via the API requires <a
15
- # href="https://www.pcisecuritystandards.org/pci_security/completing_self_as
16
- # sessment"> PCI SAQ D compliance</a>. <br>*PayPal offers a mechanism by
17
- # which you do not have to take on the <strong>PCI SAQ D</strong> burden by
18
- # using hosted fields - refer to <a
19
- # href="https://developer.paypal.com/docs/checkout/advanced/integrate/">this
20
- # Integration Guide</a>*.</blockquote>
12
+ # The payment card to use to fund a payment. Can be a credit or debit card.
13
+ # Note: Passing card number, cvv and expiry directly via the API requires
14
+ # PCI SAQ D compliance. *PayPal offers a mechanism by which you do not have
15
+ # to take on the PCI SAQ D burden by using hosted fields - refer to this
16
+ # Integration Guide*.
21
17
  # @return [CardRequest]
22
18
  attr_accessor :card
23
19
 
@@ -183,5 +179,25 @@ module PaypalServerSdk
183
179
  google_pay: google_pay,
184
180
  venmo: venmo)
185
181
  end
182
+
183
+ # Provides a human-readable string representation of the object.
184
+ def to_s
185
+ class_name = self.class.name.split('::').last
186
+ "<#{class_name} card: #{@card}, token: #{@token}, paypal: #{@paypal}, bancontact:"\
187
+ " #{@bancontact}, blik: #{@blik}, eps: #{@eps}, giropay: #{@giropay}, ideal: #{@ideal},"\
188
+ " mybank: #{@mybank}, p24: #{@p24}, sofort: #{@sofort}, trustly: #{@trustly}, apple_pay:"\
189
+ " #{@apple_pay}, google_pay: #{@google_pay}, venmo: #{@venmo}>"
190
+ end
191
+
192
+ # Provides a debugging-friendly string with detailed object information.
193
+ def inspect
194
+ class_name = self.class.name.split('::').last
195
+ "<#{class_name} card: #{@card.inspect}, token: #{@token.inspect}, paypal:"\
196
+ " #{@paypal.inspect}, bancontact: #{@bancontact.inspect}, blik: #{@blik.inspect}, eps:"\
197
+ " #{@eps.inspect}, giropay: #{@giropay.inspect}, ideal: #{@ideal.inspect}, mybank:"\
198
+ " #{@mybank.inspect}, p24: #{@p24.inspect}, sofort: #{@sofort.inspect}, trustly:"\
199
+ " #{@trustly.inspect}, apple_pay: #{@apple_pay.inspect}, google_pay: #{@google_pay.inspect},"\
200
+ " venmo: #{@venmo.inspect}>"
201
+ end
186
202
  end
187
203
  end
@@ -167,5 +167,24 @@ module PaypalServerSdk
167
167
  google_pay: google_pay,
168
168
  venmo: venmo)
169
169
  end
170
+
171
+ # Provides a human-readable string representation of the object.
172
+ def to_s
173
+ class_name = self.class.name.split('::').last
174
+ "<#{class_name} card: #{@card}, paypal: #{@paypal}, bancontact: #{@bancontact}, blik:"\
175
+ " #{@blik}, eps: #{@eps}, giropay: #{@giropay}, ideal: #{@ideal}, mybank: #{@mybank}, p24:"\
176
+ " #{@p24}, sofort: #{@sofort}, trustly: #{@trustly}, apple_pay: #{@apple_pay}, google_pay:"\
177
+ " #{@google_pay}, venmo: #{@venmo}>"
178
+ end
179
+
180
+ # Provides a debugging-friendly string with detailed object information.
181
+ def inspect
182
+ class_name = self.class.name.split('::').last
183
+ "<#{class_name} card: #{@card.inspect}, paypal: #{@paypal.inspect}, bancontact:"\
184
+ " #{@bancontact.inspect}, blik: #{@blik.inspect}, eps: #{@eps.inspect}, giropay:"\
185
+ " #{@giropay.inspect}, ideal: #{@ideal.inspect}, mybank: #{@mybank.inspect}, p24:"\
186
+ " #{@p24.inspect}, sofort: #{@sofort.inspect}, trustly: #{@trustly.inspect}, apple_pay:"\
187
+ " #{@apple_pay.inspect}, google_pay: #{@google_pay.inspect}, venmo: #{@venmo.inspect}>"
188
+ end
170
189
  end
171
190
  end
@@ -46,5 +46,17 @@ module PaypalServerSdk
46
46
  # Create object from extracted values.
47
47
  PaymentSupplementaryData.new(related_ids: related_ids)
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} related_ids: #{@related_ids}>"
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} related_ids: #{@related_ids.inspect}>"
60
+ end
49
61
  end
50
62
  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 = PaymentTokenRequestPaymentSource.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
  PaymentTokenRequest.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
@@ -42,15 +42,6 @@ module PaypalServerSdk
42
42
  # @return [Address]
43
43
  attr_accessor :billing_address
44
44
 
45
- # The portable international postal address. Maps to
46
- # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
47
- # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
48
- # the autocomplete
49
- # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
50
- # ntrols-the-autocomplete-attribute).
51
- # @return [Object]
52
- attr_accessor :network_transaction_reference
53
-
54
45
  # A mapping from model property names to API property names.
55
46
  def self.names
56
47
  @_hash = {} if @_hash.nil?
@@ -60,8 +51,6 @@ module PaypalServerSdk
60
51
  @_hash['security_code'] = 'security_code'
61
52
  @_hash['brand'] = 'brand'
62
53
  @_hash['billing_address'] = 'billing_address'
63
- @_hash['network_transaction_reference'] =
64
- 'network_transaction_reference'
65
54
  @_hash
66
55
  end
67
56
 
@@ -74,7 +63,6 @@ module PaypalServerSdk
74
63
  security_code
75
64
  brand
76
65
  billing_address
77
- network_transaction_reference
78
66
  ]
79
67
  end
80
68
 
@@ -84,18 +72,13 @@ module PaypalServerSdk
84
72
  end
85
73
 
86
74
  def initialize(name: SKIP, number: SKIP, expiry: SKIP, security_code: SKIP,
87
- brand: SKIP, billing_address: SKIP,
88
- network_transaction_reference: SKIP)
75
+ brand: SKIP, billing_address: SKIP)
89
76
  @name = name unless name == SKIP
90
77
  @number = number unless number == SKIP
91
78
  @expiry = expiry unless expiry == SKIP
92
79
  @security_code = security_code unless security_code == SKIP
93
80
  @brand = brand unless brand == SKIP
94
81
  @billing_address = billing_address unless billing_address == SKIP
95
- unless network_transaction_reference == SKIP
96
- @network_transaction_reference =
97
- network_transaction_reference
98
- end
99
82
  end
100
83
 
101
84
  # Creates an instance of the object from a hash.
@@ -109,8 +92,6 @@ module PaypalServerSdk
109
92
  security_code = hash.key?('security_code') ? hash['security_code'] : SKIP
110
93
  brand = hash.key?('brand') ? hash['brand'] : SKIP
111
94
  billing_address = Address.from_hash(hash['billing_address']) if hash['billing_address']
112
- network_transaction_reference =
113
- hash.key?('network_transaction_reference') ? hash['network_transaction_reference'] : SKIP
114
95
 
115
96
  # Create object from extracted values.
116
97
  PaymentTokenRequestCard.new(name: name,
@@ -118,8 +99,22 @@ module PaypalServerSdk
118
99
  expiry: expiry,
119
100
  security_code: security_code,
120
101
  brand: brand,
121
- billing_address: billing_address,
122
- network_transaction_reference: network_transaction_reference)
102
+ billing_address: billing_address)
103
+ end
104
+
105
+ # Provides a human-readable string representation of the object.
106
+ def to_s
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} name: #{@name}, number: #{@number}, expiry: #{@expiry}, security_code:"\
109
+ " #{@security_code}, brand: #{@brand}, billing_address: #{@billing_address}>"
110
+ end
111
+
112
+ # Provides a debugging-friendly string with detailed object information.
113
+ def inspect
114
+ class_name = self.class.name.split('::').last
115
+ "<#{class_name} name: #{@name.inspect}, number: #{@number.inspect}, expiry:"\
116
+ " #{@expiry.inspect}, security_code: #{@security_code.inspect}, brand: #{@brand.inspect},"\
117
+ " billing_address: #{@billing_address.inspect}>"
123
118
  end
124
119
  end
125
120
  end
@@ -55,5 +55,17 @@ module PaypalServerSdk
55
55
  PaymentTokenRequestPaymentSource.new(card: card,
56
56
  token: token)
57
57
  end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} card: #{@card}, token: #{@token}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} card: #{@card.inspect}, token: #{@token.inspect}>"
69
+ end
58
70
  end
59
71
  end
@@ -13,8 +13,9 @@ module PaypalServerSdk
13
13
  # @return [String]
14
14
  attr_accessor :id
15
15
 
16
- # Customer in merchant's or partner's system of records.
17
- # @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 [CustomerResponse]
18
19
  attr_accessor :customer
19
20
 
20
21
  # The vaulted payment method details.
@@ -63,7 +64,7 @@ module PaypalServerSdk
63
64
 
64
65
  # Extract variables from the hash.
65
66
  id = hash.key?('id') ? hash['id'] : SKIP
66
- customer = CustomerRequest.from_hash(hash['customer']) if hash['customer']
67
+ customer = CustomerResponse.from_hash(hash['customer']) if hash['customer']
67
68
  payment_source = PaymentTokenResponsePaymentSource.from_hash(hash['payment_source']) if
68
69
  hash['payment_source']
69
70
  # Parameter is an array, so we need to iterate through it
@@ -83,5 +84,19 @@ module PaypalServerSdk
83
84
  payment_source: payment_source,
84
85
  links: links)
85
86
  end
87
+
88
+ # Provides a human-readable string representation of the object.
89
+ def to_s
90
+ class_name = self.class.name.split('::').last
91
+ "<#{class_name} id: #{@id}, customer: #{@customer}, payment_source: #{@payment_source},"\
92
+ " links: #{@links}>"
93
+ end
94
+
95
+ # Provides a debugging-friendly string with detailed object information.
96
+ def inspect
97
+ class_name = self.class.name.split('::').last
98
+ "<#{class_name} id: #{@id.inspect}, customer: #{@customer.inspect}, payment_source:"\
99
+ " #{@payment_source.inspect}, links: #{@links.inspect}>"
100
+ end
86
101
  end
87
102
  end
@@ -10,7 +10,7 @@ module PaypalServerSdk
10
10
  private_constant :SKIP
11
11
 
12
12
  # Full representation of a Card Payment Token including network token.
13
- # @return [CardPaymentToken]
13
+ # @return [CardPaymentTokenEntity]
14
14
  attr_accessor :card
15
15
 
16
16
  # Full representation of a Card Payment Token including network token.
@@ -25,10 +25,6 @@ module PaypalServerSdk
25
25
  # @return [ApplePayPaymentToken]
26
26
  attr_accessor :apple_pay
27
27
 
28
- # Full representation of a Bank Payment Token.
29
- # @return [Hash]
30
- attr_accessor :bank
31
-
32
28
  # A mapping from model property names to API property names.
33
29
  def self.names
34
30
  @_hash = {} if @_hash.nil?
@@ -36,7 +32,6 @@ module PaypalServerSdk
36
32
  @_hash['paypal'] = 'paypal'
37
33
  @_hash['venmo'] = 'venmo'
38
34
  @_hash['apple_pay'] = 'apple_pay'
39
- @_hash['bank'] = 'bank'
40
35
  @_hash
41
36
  end
42
37
 
@@ -47,7 +42,6 @@ module PaypalServerSdk
47
42
  paypal
48
43
  venmo
49
44
  apple_pay
50
- bank
51
45
  ]
52
46
  end
53
47
 
@@ -56,13 +50,11 @@ module PaypalServerSdk
56
50
  []
57
51
  end
58
52
 
59
- def initialize(card: SKIP, paypal: SKIP, venmo: SKIP, apple_pay: SKIP,
60
- bank: SKIP)
53
+ def initialize(card: SKIP, paypal: SKIP, venmo: SKIP, apple_pay: SKIP)
61
54
  @card = card unless card == SKIP
62
55
  @paypal = paypal unless paypal == SKIP
63
56
  @venmo = venmo unless venmo == SKIP
64
57
  @apple_pay = apple_pay unless apple_pay == SKIP
65
- @bank = bank unless bank == SKIP
66
58
  end
67
59
 
68
60
  # Creates an instance of the object from a hash.
@@ -70,18 +62,30 @@ module PaypalServerSdk
70
62
  return nil unless hash
71
63
 
72
64
  # Extract variables from the hash.
73
- card = CardPaymentToken.from_hash(hash['card']) if hash['card']
65
+ card = CardPaymentTokenEntity.from_hash(hash['card']) if hash['card']
74
66
  paypal = PaypalPaymentToken.from_hash(hash['paypal']) if hash['paypal']
75
67
  venmo = VenmoPaymentToken.from_hash(hash['venmo']) if hash['venmo']
76
68
  apple_pay = ApplePayPaymentToken.from_hash(hash['apple_pay']) if hash['apple_pay']
77
- bank = hash.key?('bank') ? hash['bank'] : SKIP
78
69
 
79
70
  # Create object from extracted values.
80
71
  PaymentTokenResponsePaymentSource.new(card: card,
81
72
  paypal: paypal,
82
73
  venmo: venmo,
83
- apple_pay: apple_pay,
84
- bank: bank)
74
+ apple_pay: apple_pay)
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}, apple_pay:"\
81
+ " #{@apple_pay}>"
82
+ end
83
+
84
+ # Provides a debugging-friendly string with detailed object information.
85
+ def inspect
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} card: #{@card.inspect}, paypal: #{@paypal.inspect}, venmo:"\
88
+ " #{@venmo.inspect}, apple_pay: #{@apple_pay.inspect}>"
85
89
  end
86
90
  end
87
91
  end
@@ -0,0 +1,36 @@
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 status of the payment token.
8
+ class PaymentTokenStatus
9
+ PAYMENT_TOKEN_STATUS = [
10
+ # A setup token is initialized with minimal information, more data must be
11
+ # added to the setup-token to be vaulted
12
+ CREATED = 'CREATED'.freeze,
13
+
14
+ # A contingecy on payer approval is required before the payment method can
15
+ # be saved.
16
+ PAYER_ACTION_REQUIRED = 'PAYER_ACTION_REQUIRED'.freeze,
17
+
18
+ # Setup token is ready to be vaulted. If a buyer approval contigency was
19
+ # returned, it is has been approved.
20
+ APPROVED = 'APPROVED'.freeze,
21
+
22
+ # The payment token has been vaulted.
23
+ VAULTED = 'VAULTED'.freeze,
24
+
25
+ # A vaulted payment method token has been tokenized for short term (one
26
+ # time) use.
27
+ TOKENIZED = 'TOKENIZED'.freeze
28
+ ].freeze
29
+
30
+ def self.validate(value)
31
+ return false if value.nil?
32
+
33
+ true
34
+ end
35
+ end
36
+ end