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
@@ -0,0 +1,252 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # A captured payment.
8
+ class PaymentsCapture < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The status of the captured payment.
13
+ # @return [CaptureStatus]
14
+ attr_accessor :status
15
+
16
+ # The details of the captured payment status.
17
+ # @return [CaptureStatusDetails]
18
+ attr_accessor :status_details
19
+
20
+ # The PayPal-generated ID for the captured payment.
21
+ # @return [String]
22
+ attr_accessor :id
23
+
24
+ # The currency and amount for a financial transaction, such as a balance or
25
+ # payment due.
26
+ # @return [Money]
27
+ attr_accessor :amount
28
+
29
+ # The API caller-provided external invoice number for this order. Appears in
30
+ # both the payer's transaction history and the emails that the payer
31
+ # receives.
32
+ # @return [String]
33
+ attr_accessor :invoice_id
34
+
35
+ # The API caller-provided external ID. Used to reconcile API
36
+ # caller-initiated transactions with PayPal transactions. Appears in
37
+ # transaction and settlement reports.
38
+ # @return [String]
39
+ attr_accessor :custom_id
40
+
41
+ # Reference values used by the card network to identify a transaction.
42
+ # @return [NetworkTransactionReference]
43
+ attr_accessor :network_transaction_reference
44
+
45
+ # The level of protection offered as defined by [PayPal Seller Protection
46
+ # for
47
+ # Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protectio
48
+ # n).
49
+ # @return [SellerProtection]
50
+ attr_accessor :seller_protection
51
+
52
+ # Indicates whether you can make additional captures against the authorized
53
+ # payment. Set to `true` if you do not intend to capture additional payments
54
+ # against the authorization. Set to `false` if you intend to capture
55
+ # additional payments against the authorization.
56
+ # @return [TrueClass | FalseClass]
57
+ attr_accessor :final_capture
58
+
59
+ # The detailed breakdown of the capture activity. This is not available for
60
+ # transactions that are in pending state.
61
+ # @return [SellerReceivableBreakdown]
62
+ attr_accessor :seller_receivable_breakdown
63
+
64
+ # The funds that are held on behalf of the merchant.
65
+ # @return [DisbursementMode]
66
+ attr_accessor :disbursement_mode
67
+
68
+ # An array of related [HATEOAS
69
+ # links](/docs/api/reference/api-responses/#hateoas-links).
70
+ # @return [Array[LinkDescription]]
71
+ attr_accessor :links
72
+
73
+ # The processor response information for payment requests, such as direct
74
+ # credit card transactions.
75
+ # @return [PaymentsProcessorResponse]
76
+ attr_accessor :processor_response
77
+
78
+ # The date and time, in [Internet date and time
79
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
80
+ # required while fractional seconds are optional. Note: The regular
81
+ # expression provides guidance but does not reject all invalid dates.
82
+ # @return [String]
83
+ attr_accessor :create_time
84
+
85
+ # The date and time, in [Internet date and time
86
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
87
+ # required while fractional seconds are optional. Note: The regular
88
+ # expression provides guidance but does not reject all invalid dates.
89
+ # @return [String]
90
+ attr_accessor :update_time
91
+
92
+ # A mapping from model property names to API property names.
93
+ def self.names
94
+ @_hash = {} if @_hash.nil?
95
+ @_hash['status'] = 'status'
96
+ @_hash['status_details'] = 'status_details'
97
+ @_hash['id'] = 'id'
98
+ @_hash['amount'] = 'amount'
99
+ @_hash['invoice_id'] = 'invoice_id'
100
+ @_hash['custom_id'] = 'custom_id'
101
+ @_hash['network_transaction_reference'] =
102
+ 'network_transaction_reference'
103
+ @_hash['seller_protection'] = 'seller_protection'
104
+ @_hash['final_capture'] = 'final_capture'
105
+ @_hash['seller_receivable_breakdown'] = 'seller_receivable_breakdown'
106
+ @_hash['disbursement_mode'] = 'disbursement_mode'
107
+ @_hash['links'] = 'links'
108
+ @_hash['processor_response'] = 'processor_response'
109
+ @_hash['create_time'] = 'create_time'
110
+ @_hash['update_time'] = 'update_time'
111
+ @_hash
112
+ end
113
+
114
+ # An array for optional fields
115
+ def self.optionals
116
+ %w[
117
+ status
118
+ status_details
119
+ id
120
+ amount
121
+ invoice_id
122
+ custom_id
123
+ network_transaction_reference
124
+ seller_protection
125
+ final_capture
126
+ seller_receivable_breakdown
127
+ disbursement_mode
128
+ links
129
+ processor_response
130
+ create_time
131
+ update_time
132
+ ]
133
+ end
134
+
135
+ # An array for nullable fields
136
+ def self.nullables
137
+ []
138
+ end
139
+
140
+ def initialize(status: SKIP, status_details: SKIP, id: SKIP, amount: SKIP,
141
+ invoice_id: SKIP, custom_id: SKIP,
142
+ network_transaction_reference: SKIP, seller_protection: SKIP,
143
+ final_capture: false, seller_receivable_breakdown: SKIP,
144
+ disbursement_mode: DisbursementMode::INSTANT, links: SKIP,
145
+ processor_response: SKIP, create_time: SKIP,
146
+ update_time: SKIP)
147
+ @status = status unless status == SKIP
148
+ @status_details = status_details unless status_details == SKIP
149
+ @id = id unless id == SKIP
150
+ @amount = amount unless amount == SKIP
151
+ @invoice_id = invoice_id unless invoice_id == SKIP
152
+ @custom_id = custom_id unless custom_id == SKIP
153
+ unless network_transaction_reference == SKIP
154
+ @network_transaction_reference =
155
+ network_transaction_reference
156
+ end
157
+ @seller_protection = seller_protection unless seller_protection == SKIP
158
+ @final_capture = final_capture unless final_capture == SKIP
159
+ unless seller_receivable_breakdown == SKIP
160
+ @seller_receivable_breakdown =
161
+ seller_receivable_breakdown
162
+ end
163
+ @disbursement_mode = disbursement_mode unless disbursement_mode == SKIP
164
+ @links = links unless links == SKIP
165
+ @processor_response = processor_response unless processor_response == SKIP
166
+ @create_time = create_time unless create_time == SKIP
167
+ @update_time = update_time unless update_time == SKIP
168
+ end
169
+
170
+ # Creates an instance of the object from a hash.
171
+ def self.from_hash(hash)
172
+ return nil unless hash
173
+
174
+ # Extract variables from the hash.
175
+ status = hash.key?('status') ? hash['status'] : SKIP
176
+ status_details = CaptureStatusDetails.from_hash(hash['status_details']) if
177
+ hash['status_details']
178
+ id = hash.key?('id') ? hash['id'] : SKIP
179
+ amount = Money.from_hash(hash['amount']) if hash['amount']
180
+ invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
181
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
182
+ if hash['network_transaction_reference']
183
+ network_transaction_reference = NetworkTransactionReference.from_hash(hash['network_transaction_reference'])
184
+ end
185
+ seller_protection = SellerProtection.from_hash(hash['seller_protection']) if
186
+ hash['seller_protection']
187
+ final_capture = hash['final_capture'] ||= false
188
+ if hash['seller_receivable_breakdown']
189
+ seller_receivable_breakdown = SellerReceivableBreakdown.from_hash(hash['seller_receivable_breakdown'])
190
+ end
191
+ disbursement_mode =
192
+ hash['disbursement_mode'] ||= DisbursementMode::INSTANT
193
+ # Parameter is an array, so we need to iterate through it
194
+ links = nil
195
+ unless hash['links'].nil?
196
+ links = []
197
+ hash['links'].each do |structure|
198
+ links << (LinkDescription.from_hash(structure) if structure)
199
+ end
200
+ end
201
+
202
+ links = SKIP unless hash.key?('links')
203
+ processor_response = PaymentsProcessorResponse.from_hash(hash['processor_response']) if
204
+ hash['processor_response']
205
+ create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
206
+ update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
207
+
208
+ # Create object from extracted values.
209
+ PaymentsCapture.new(status: status,
210
+ status_details: status_details,
211
+ id: id,
212
+ amount: amount,
213
+ invoice_id: invoice_id,
214
+ custom_id: custom_id,
215
+ network_transaction_reference: network_transaction_reference,
216
+ seller_protection: seller_protection,
217
+ final_capture: final_capture,
218
+ seller_receivable_breakdown: seller_receivable_breakdown,
219
+ disbursement_mode: disbursement_mode,
220
+ links: links,
221
+ processor_response: processor_response,
222
+ create_time: create_time,
223
+ update_time: update_time)
224
+ end
225
+
226
+ # Provides a human-readable string representation of the object.
227
+ def to_s
228
+ class_name = self.class.name.split('::').last
229
+ "<#{class_name} status: #{@status}, status_details: #{@status_details}, id: #{@id}, amount:"\
230
+ " #{@amount}, invoice_id: #{@invoice_id}, custom_id: #{@custom_id},"\
231
+ " network_transaction_reference: #{@network_transaction_reference}, seller_protection:"\
232
+ " #{@seller_protection}, final_capture: #{@final_capture}, seller_receivable_breakdown:"\
233
+ " #{@seller_receivable_breakdown}, disbursement_mode: #{@disbursement_mode}, links:"\
234
+ " #{@links}, processor_response: #{@processor_response}, create_time: #{@create_time},"\
235
+ " update_time: #{@update_time}>"
236
+ end
237
+
238
+ # Provides a debugging-friendly string with detailed object information.
239
+ def inspect
240
+ class_name = self.class.name.split('::').last
241
+ "<#{class_name} status: #{@status.inspect}, status_details: #{@status_details.inspect}, id:"\
242
+ " #{@id.inspect}, amount: #{@amount.inspect}, invoice_id: #{@invoice_id.inspect}, custom_id:"\
243
+ " #{@custom_id.inspect}, network_transaction_reference:"\
244
+ " #{@network_transaction_reference.inspect}, seller_protection:"\
245
+ " #{@seller_protection.inspect}, final_capture: #{@final_capture.inspect},"\
246
+ " seller_receivable_breakdown: #{@seller_receivable_breakdown.inspect}, disbursement_mode:"\
247
+ " #{@disbursement_mode.inspect}, links: #{@links.inspect}, processor_response:"\
248
+ " #{@processor_response.inspect}, create_time: #{@create_time.inspect}, update_time:"\
249
+ " #{@update_time.inspect}>"
250
+ end
251
+ end
252
+ end
@@ -0,0 +1,42 @@
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 declined payment transactions might have payment advice codes. The card
8
+ # networks, like Visa and Mastercard, return payment advice codes.
9
+ class PaymentsPaymentAdviceCode
10
+ PAYMENTS_PAYMENT_ADVICE_CODE = [
11
+ # For Mastercard, expired card account upgrade or portfolio sale
12
+ # conversion. Obtain new account information before next billing cycle.
13
+ PAYMENTADVICE_01 = '01'.freeze,
14
+
15
+ # For Mastercard, over credit limit or insufficient funds. Retry the
16
+ # transaction 72 hours later. For Visa, the card holder wants to stop only
17
+ # one specific payment in the recurring payment relationship. The merchant
18
+ # must NOT resubmit the same transaction. The merchant can continue the
19
+ # billing process in the subsequent billing period.
20
+ PAYMENTADVICE_02 = '02'.freeze,
21
+
22
+ # For Mastercard, account closed as fraudulent. Obtain another type of
23
+ # payment from customer due to account being closed or fraud. Possible
24
+ # reason: Account closed as fraudulent. For Visa, the card holder wants to
25
+ # stop all recurring payment transactions for a specific merchant. Stop
26
+ # recurring payment requests.
27
+ PAYMENTADVICE_03 = '03'.freeze,
28
+
29
+ # For Mastercard, the card holder has been unsuccessful at canceling
30
+ # recurring payment through merchant. Stop recurring payment requests. For
31
+ # Visa, all recurring payments were canceled for the card number
32
+ # requested. Stop recurring payment requests.
33
+ PAYMENTADVICE_21 = '21'.freeze
34
+ ].freeze
35
+
36
+ def self.validate(value)
37
+ return false if value.nil?
38
+
39
+ true
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,98 @@
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 processor response information for payment requests, such as direct
8
+ # credit card transactions.
9
+ class PaymentsProcessorResponse < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The address verification code for Visa, Discover, Mastercard, or American
14
+ # Express transactions.
15
+ # @return [AvsCode]
16
+ attr_accessor :avs_code
17
+
18
+ # The card verification value code for for Visa, Discover, Mastercard, or
19
+ # American Express.
20
+ # @return [CvvCode]
21
+ attr_accessor :cvv_code
22
+
23
+ # Processor response code for the non-PayPal payment processor errors.
24
+ # @return [ProcessorResponseCode]
25
+ attr_accessor :response_code
26
+
27
+ # The declined payment transactions might have payment advice codes. The
28
+ # card networks, like Visa and Mastercard, return payment advice codes.
29
+ # @return [PaymentsPaymentAdviceCode]
30
+ attr_accessor :payment_advice_code
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['avs_code'] = 'avs_code'
36
+ @_hash['cvv_code'] = 'cvv_code'
37
+ @_hash['response_code'] = 'response_code'
38
+ @_hash['payment_advice_code'] = 'payment_advice_code'
39
+ @_hash
40
+ end
41
+
42
+ # An array for optional fields
43
+ def self.optionals
44
+ %w[
45
+ avs_code
46
+ cvv_code
47
+ response_code
48
+ payment_advice_code
49
+ ]
50
+ end
51
+
52
+ # An array for nullable fields
53
+ def self.nullables
54
+ []
55
+ end
56
+
57
+ def initialize(avs_code: SKIP, cvv_code: SKIP, response_code: SKIP,
58
+ payment_advice_code: SKIP)
59
+ @avs_code = avs_code unless avs_code == SKIP
60
+ @cvv_code = cvv_code unless cvv_code == SKIP
61
+ @response_code = response_code unless response_code == SKIP
62
+ @payment_advice_code = payment_advice_code unless payment_advice_code == SKIP
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ avs_code = hash.key?('avs_code') ? hash['avs_code'] : SKIP
71
+ cvv_code = hash.key?('cvv_code') ? hash['cvv_code'] : SKIP
72
+ response_code = hash.key?('response_code') ? hash['response_code'] : SKIP
73
+ payment_advice_code =
74
+ hash.key?('payment_advice_code') ? hash['payment_advice_code'] : SKIP
75
+
76
+ # Create object from extracted values.
77
+ PaymentsProcessorResponse.new(avs_code: avs_code,
78
+ cvv_code: cvv_code,
79
+ response_code: response_code,
80
+ payment_advice_code: payment_advice_code)
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} avs_code: #{@avs_code}, cvv_code: #{@cvv_code}, response_code:"\
87
+ " #{@response_code}, payment_advice_code: #{@payment_advice_code}>"
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} avs_code: #{@avs_code.inspect}, cvv_code: #{@cvv_code.inspect},"\
94
+ " response_code: #{@response_code.inspect}, payment_advice_code:"\
95
+ " #{@payment_advice_code.inspect}>"
96
+ end
97
+ end
98
+ end
@@ -7,13 +7,21 @@ module PaypalServerSdk
7
7
  # The type of landing page to show on the PayPal site for customer checkout.
8
8
  class PaypalExperienceLandingPage
9
9
  PAYPAL_EXPERIENCE_LANDING_PAGE = [
10
- # TODO: Write general description for LOGIN
10
+ # When the customer clicks PayPal Checkout, the customer is redirected to
11
+ # a page to log in to PayPal and approve the payment.
11
12
  LOGIN = 'LOGIN'.freeze,
12
13
 
13
- # TODO: Write general description for GUEST_CHECKOUT
14
+ # When the customer clicks PayPal Checkout, the customer is redirected to
15
+ # a page to enter credit or debit card and other relevant billing
16
+ # information required to complete the purchase. This option has
17
+ # previously been also called as 'BILLING'
14
18
  GUEST_CHECKOUT = 'GUEST_CHECKOUT'.freeze,
15
19
 
16
- # TODO: Write general description for NO_PREFERENCE
20
+ # When the customer clicks PayPal Checkout, the customer is redirected to
21
+ # either a page to log in to PayPal and approve the payment or to a page
22
+ # to enter credit or debit card and other relevant billing information
23
+ # required to complete the purchase, depending on their previous
24
+ # interaction with PayPal.
17
25
  NO_PREFERENCE = 'NO_PREFERENCE'.freeze
18
26
  ].freeze
19
27
 
@@ -4,14 +4,19 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
- # Configures a <strong>Continue</strong> or <strong>Pay Now</strong> checkout
8
- # flow.
7
+ # Configures a Continue or Pay Now checkout flow.
9
8
  class PaypalExperienceUserAction
10
9
  PAYPAL_EXPERIENCE_USER_ACTION = [
11
- # TODO: Write general description for CONTINUE
10
+ # After you redirect the customer to the PayPal payment page, a Continue
11
+ # button appears. Use this option when the final amount is not known when
12
+ # the checkout flow is initiated and you want to redirect the customer to
13
+ # the merchant page without processing the payment.
12
14
  CONTINUE = 'CONTINUE'.freeze,
13
15
 
14
- # TODO: Write general description for PAY_NOW
16
+ # After you redirect the customer to the PayPal payment page, a Pay Now
17
+ # button appears. Use this option when the final amount is known when the
18
+ # checkout is initiated and you want to process the payment immediately
19
+ # when the customer clicks Pay Now.
15
20
  PAY_NOW = 'PAY_NOW'.freeze
16
21
  ].freeze
17
22
 
@@ -15,6 +15,10 @@ module PaypalServerSdk
15
15
  # @return [String]
16
16
  attr_accessor :description
17
17
 
18
+ # Expected business/charge model for the billing agreement.
19
+ # @return [UsagePattern]
20
+ attr_accessor :usage_pattern
21
+
18
22
  # The shipping details.
19
23
  # @return [VaultedDigitalWalletShippingDetails]
20
24
  attr_accessor :shipping
@@ -31,20 +35,19 @@ module PaypalServerSdk
31
35
  attr_accessor :permit_multiple_payment_tokens
32
36
 
33
37
  # The usage type associated with a digital wallet payment token.
34
- # @return [String]
38
+ # @return [PaypalPaymentTokenUsageType]
35
39
  attr_accessor :usage_type
36
40
 
37
41
  # The customer type associated with a digital wallet payment token. This is
38
42
  # to indicate whether the customer acting on the merchant / platform is
39
43
  # either a business or a consumer.
40
- # @return [String]
44
+ # @return [PaypalPaymentTokenCustomerType]
41
45
  attr_accessor :customer_type
42
46
 
43
- # The internationalized email address.<blockquote><strong>Note:</strong> Up
44
- # to 64 characters are allowed before and 255 characters are allowed after
45
- # the <code>@</code> sign. However, the generally accepted maximum length
46
- # for an email address is 254 characters. The pattern verifies that an
47
- # unquoted <code>@</code> sign exists.</blockquote>
47
+ # The internationalized email address. Note: Up to 64 characters are allowed
48
+ # before and 255 characters are allowed after the @ sign. However, the
49
+ # generally accepted maximum length for an email address is 254 characters.
50
+ # The pattern verifies that an unquoted @ sign exists.
48
51
  # @return [String]
49
52
  attr_accessor :email_address
50
53
 
@@ -82,6 +85,7 @@ module PaypalServerSdk
82
85
  def self.names
83
86
  @_hash = {} if @_hash.nil?
84
87
  @_hash['description'] = 'description'
88
+ @_hash['usage_pattern'] = 'usage_pattern'
85
89
  @_hash['shipping'] = 'shipping'
86
90
  @_hash['permit_multiple_payment_tokens'] =
87
91
  'permit_multiple_payment_tokens'
@@ -101,6 +105,7 @@ module PaypalServerSdk
101
105
  def self.optionals
102
106
  %w[
103
107
  description
108
+ usage_pattern
104
109
  shipping
105
110
  permit_multiple_payment_tokens
106
111
  usage_type
@@ -120,12 +125,13 @@ module PaypalServerSdk
120
125
  []
121
126
  end
122
127
 
123
- def initialize(description: SKIP, shipping: SKIP,
128
+ def initialize(description: SKIP, usage_pattern: SKIP, shipping: SKIP,
124
129
  permit_multiple_payment_tokens: false, usage_type: SKIP,
125
130
  customer_type: SKIP, email_address: SKIP, payer_id: SKIP,
126
131
  name: SKIP, phone: SKIP, address: SKIP, account_id: SKIP,
127
132
  phone_number: SKIP)
128
133
  @description = description unless description == SKIP
134
+ @usage_pattern = usage_pattern unless usage_pattern == SKIP
129
135
  @shipping = shipping unless shipping == SKIP
130
136
  unless permit_multiple_payment_tokens == SKIP
131
137
  @permit_multiple_payment_tokens =
@@ -148,6 +154,7 @@ module PaypalServerSdk
148
154
 
149
155
  # Extract variables from the hash.
150
156
  description = hash.key?('description') ? hash['description'] : SKIP
157
+ usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
151
158
  shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
152
159
  hash['shipping']
153
160
  permit_multiple_payment_tokens =
@@ -164,6 +171,7 @@ module PaypalServerSdk
164
171
 
165
172
  # Create object from extracted values.
166
173
  PaypalPaymentToken.new(description: description,
174
+ usage_pattern: usage_pattern,
167
175
  shipping: shipping,
168
176
  permit_multiple_payment_tokens: permit_multiple_payment_tokens,
169
177
  usage_type: usage_type,
@@ -176,5 +184,27 @@ module PaypalServerSdk
176
184
  account_id: account_id,
177
185
  phone_number: phone_number)
178
186
  end
187
+
188
+ # Provides a human-readable string representation of the object.
189
+ def to_s
190
+ class_name = self.class.name.split('::').last
191
+ "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, shipping:"\
192
+ " #{@shipping}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens},"\
193
+ " usage_type: #{@usage_type}, customer_type: #{@customer_type}, email_address:"\
194
+ " #{@email_address}, payer_id: #{@payer_id}, name: #{@name}, phone: #{@phone}, address:"\
195
+ " #{@address}, account_id: #{@account_id}, phone_number: #{@phone_number}>"
196
+ end
197
+
198
+ # Provides a debugging-friendly string with detailed object information.
199
+ def inspect
200
+ class_name = self.class.name.split('::').last
201
+ "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
202
+ " #{@usage_pattern.inspect}, shipping: #{@shipping.inspect}, permit_multiple_payment_tokens:"\
203
+ " #{@permit_multiple_payment_tokens.inspect}, usage_type: #{@usage_type.inspect},"\
204
+ " customer_type: #{@customer_type.inspect}, email_address: #{@email_address.inspect},"\
205
+ " payer_id: #{@payer_id.inspect}, name: #{@name.inspect}, phone: #{@phone.inspect}, address:"\
206
+ " #{@address.inspect}, account_id: #{@account_id.inspect}, phone_number:"\
207
+ " #{@phone_number.inspect}>"
208
+ end
179
209
  end
180
210
  end
@@ -6,13 +6,17 @@
6
6
  module PaypalServerSdk
7
7
  # The customer type associated with the PayPal payment token. This is to
8
8
  # indicate whether the customer acting on the merchant / platform is either a
9
- # business or a consumer.
9
+ # business or a consumer., The customer type associated with a digital wallet
10
+ # payment token. This is to indicate whether the customer acting on the
11
+ # merchant / platform is either a business or a consumer.
10
12
  class PaypalPaymentTokenCustomerType
11
13
  PAYPAL_PAYMENT_TOKEN_CUSTOMER_TYPE = [
12
- # TODO: Write general description for CONSUMER
14
+ # The customer vaulting the PayPal payment token is a consumer on the
15
+ # merchant / platform.
13
16
  CONSUMER = 'CONSUMER'.freeze,
14
17
 
15
- # TODO: Write general description for BUSINESS
18
+ # The customer vaulting the PayPal payment token is a business on merchant
19
+ # / platform.
16
20
  BUSINESS = 'BUSINESS'.freeze
17
21
  ].freeze
18
22
 
@@ -4,13 +4,17 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
- # The usage type associated with the PayPal payment token.
7
+ # The usage type associated with the PayPal payment token., The usage type
8
+ # associated with a digital wallet payment token.
8
9
  class PaypalPaymentTokenUsageType
9
10
  PAYPAL_PAYMENT_TOKEN_USAGE_TYPE = [
10
- # TODO: Write general description for MERCHANT
11
+ # The PayPal Payment Token will be used for future transaction directly
12
+ # with a merchant.
11
13
  MERCHANT = 'MERCHANT'.freeze,
12
14
 
13
- # TODO: Write general description for PLATFORM
15
+ # The PayPal Payment Token will be used for future transaction on a
16
+ # platform. A platform is typically a marketplace or a channel that a
17
+ # payer can purchase goods and services from multiple merchants.
14
18
  PLATFORM = 'PLATFORM'.freeze
15
19
  ].freeze
16
20