paypal-server-sdk 0.6.0 → 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 (292) 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 +228 -234
  6. data/lib/paypal_server_sdk/controllers/payments_controller.rb +139 -91
  7. data/lib/paypal_server_sdk/controllers/vault_controller.rb +57 -57
  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/{address_details.rb → card_response_address.rb} +33 -57
  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 +40 -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 -15
  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 +36 -0
  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 +128 -0
  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 +28 -2
  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 +28 -25
  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 +26 -23
  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 +1594 -1295
  227. data/lib/paypal_server_sdk/models/shipping_details.rb +30 -3
  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 +31 -3
  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 +27 -2
  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 +183 -152
  284. metadata +42 -16
  285. data/lib/paypal_server_sdk/models/card_payment_token.rb +0 -166
  286. data/lib/paypal_server_sdk/models/card_verification_method.rb +0 -29
  287. data/lib/paypal_server_sdk/models/fullfillment_type.rb +0 -31
  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/processing_instruction.rb +0 -23
  292. data/lib/paypal_server_sdk/models/token_request_type.rb +0 -23
@@ -0,0 +1,76 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # This object defines a customer in your system. Use it to manage customer
8
+ # profiles, save payment methods and contact details.
9
+ class CustomerResponse < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The unique ID for a customer generated by PayPal.
14
+ # @return [String]
15
+ attr_accessor :id
16
+
17
+ # Merchants and partners may already have a data-store where their customer
18
+ # information is persisted. Use merchant_customer_id to associate the
19
+ # PayPal-generated customer.id to your representation of a customer.
20
+ # @return [String]
21
+ attr_accessor :merchant_customer_id
22
+
23
+ # A mapping from model property names to API property names.
24
+ def self.names
25
+ @_hash = {} if @_hash.nil?
26
+ @_hash['id'] = 'id'
27
+ @_hash['merchant_customer_id'] = 'merchant_customer_id'
28
+ @_hash
29
+ end
30
+
31
+ # An array for optional fields
32
+ def self.optionals
33
+ %w[
34
+ id
35
+ merchant_customer_id
36
+ ]
37
+ end
38
+
39
+ # An array for nullable fields
40
+ def self.nullables
41
+ []
42
+ end
43
+
44
+ def initialize(id: SKIP, merchant_customer_id: SKIP)
45
+ @id = id unless id == SKIP
46
+ @merchant_customer_id = merchant_customer_id unless merchant_customer_id == SKIP
47
+ end
48
+
49
+ # Creates an instance of the object from a hash.
50
+ def self.from_hash(hash)
51
+ return nil unless hash
52
+
53
+ # Extract variables from the hash.
54
+ id = hash.key?('id') ? hash['id'] : SKIP
55
+ merchant_customer_id =
56
+ hash.key?('merchant_customer_id') ? hash['merchant_customer_id'] : SKIP
57
+
58
+ # Create object from extracted values.
59
+ CustomerResponse.new(id: id,
60
+ merchant_customer_id: merchant_customer_id)
61
+ end
62
+
63
+ # Provides a human-readable string representation of the object.
64
+ def to_s
65
+ class_name = self.class.name.split('::').last
66
+ "<#{class_name} id: #{@id}, merchant_customer_id: #{@merchant_customer_id}>"
67
+ end
68
+
69
+ # Provides a debugging-friendly string with detailed object information.
70
+ def inspect
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} id: #{@id.inspect}, merchant_customer_id:"\
73
+ " #{@merchant_customer_id.inspect}>"
74
+ end
75
+ end
76
+ end
@@ -17,11 +17,13 @@ module PaypalServerSdk
17
17
  # @return [Integer]
18
18
  attr_accessor :total_pages
19
19
 
20
- # Customer in merchant's or partner's system of records.
21
- # @return [CustomerRequest]
20
+ # This object defines a customer in your system. Use it to manage customer
21
+ # profiles, save payment methods and contact details.
22
+ # @return [VaultResponseCustomer]
22
23
  attr_accessor :customer
23
24
 
24
- # Customer in merchant's or partner's system of records.
25
+ # This object defines a customer in your system. Use it to manage customer
26
+ # profiles, save payment methods and contact details.
25
27
  # @return [Array[PaymentTokenResponse]]
26
28
  attr_accessor :payment_tokens
27
29
 
@@ -72,7 +74,7 @@ module PaypalServerSdk
72
74
  # Extract variables from the hash.
73
75
  total_items = hash.key?('total_items') ? hash['total_items'] : SKIP
74
76
  total_pages = hash.key?('total_pages') ? hash['total_pages'] : SKIP
75
- customer = CustomerRequest.from_hash(hash['customer']) if hash['customer']
77
+ customer = VaultResponseCustomer.from_hash(hash['customer']) if hash['customer']
76
78
  # Parameter is an array, so we need to iterate through it
77
79
  payment_tokens = nil
78
80
  unless hash['payment_tokens'].nil?
@@ -101,5 +103,20 @@ module PaypalServerSdk
101
103
  payment_tokens: payment_tokens,
102
104
  links: links)
103
105
  end
106
+
107
+ # Provides a human-readable string representation of the object.
108
+ def to_s
109
+ class_name = self.class.name.split('::').last
110
+ "<#{class_name} total_items: #{@total_items}, total_pages: #{@total_pages}, customer:"\
111
+ " #{@customer}, payment_tokens: #{@payment_tokens}, links: #{@links}>"
112
+ end
113
+
114
+ # Provides a debugging-friendly string with detailed object information.
115
+ def inspect
116
+ class_name = self.class.name.split('::').last
117
+ "<#{class_name} total_items: #{@total_items.inspect}, total_pages: #{@total_pages.inspect},"\
118
+ " customer: #{@customer.inspect}, payment_tokens: #{@payment_tokens.inspect}, links:"\
119
+ " #{@links.inspect}>"
120
+ end
104
121
  end
105
122
  end
@@ -8,47 +8,55 @@ module PaypalServerSdk
8
8
  # American Express.
9
9
  class CvvCode
10
10
  CVV_CODE = [
11
- # TODO: Write general description for E
12
- E = 'E'.freeze,
11
+ # For Visa, Mastercard, Discover, or American Express, error -
12
+ # unrecognized or unknown response.
13
+ CVV_E = 'E'.freeze,
13
14
 
14
- # TODO: Write general description for I
15
- I = 'I'.freeze,
15
+ # For Visa, Mastercard, Discover, or American Express, invalid or null.
16
+ CVV_I = 'I'.freeze,
16
17
 
17
- # TODO: Write general description for M
18
- M = 'M'.freeze,
18
+ # For Visa, Mastercard, Discover, or American Express, the CVV2/CSC
19
+ # matches.
20
+ CVV_M = 'M'.freeze,
19
21
 
20
- # TODO: Write general description for N
21
- N = 'N'.freeze,
22
+ # For Visa, Mastercard, Discover, or American Express, the CVV2/CSC does
23
+ # not match.
24
+ CVV_N = 'N'.freeze,
22
25
 
23
- # TODO: Write general description for P
24
- P = 'P'.freeze,
26
+ # For Visa, Mastercard, Discover, or American Express, it was not
27
+ # processed.
28
+ CVV_P = 'P'.freeze,
25
29
 
26
- # TODO: Write general description for S
27
- S = 'S'.freeze,
30
+ # For Visa, Mastercard, Discover, or American Express, the service is not
31
+ # supported.
32
+ CVV_S = 'S'.freeze,
28
33
 
29
- # TODO: Write general description for U
30
- U = 'U'.freeze,
34
+ # For Visa, Mastercard, Discover, or American Express, unknown - the
35
+ # issuer is not certified.
36
+ CVV_U = 'U'.freeze,
31
37
 
32
- # TODO: Write general description for X
33
- X = 'X'.freeze,
38
+ # For Visa, Mastercard, Discover, or American Express, no response. For
39
+ # Maestro, the service is not available.
40
+ CVV_X = 'X'.freeze,
34
41
 
35
- # TODO: Write general description for ENUM_ALL_OTHERS
42
+ # For Visa, Mastercard, Discover, or American Express, error.
36
43
  ENUM_ALL_OTHERS = 'All others'.freeze,
37
44
 
38
- # TODO: Write general description for ENUM_0
39
- ENUM_0 = '0'.freeze,
45
+ # For Maestro, the CVV2 matched.
46
+ CVV_0 = '0'.freeze,
40
47
 
41
- # TODO: Write general description for ENUM_1
42
- ENUM_1 = '1'.freeze,
48
+ # For Maestro, the CVV2 did not match.
49
+ CVV_1 = '1'.freeze,
43
50
 
44
- # TODO: Write general description for ENUM_2
45
- ENUM_2 = '2'.freeze,
51
+ # For Maestro, the merchant has not implemented CVV2 code handling.
52
+ CVV_2 = '2'.freeze,
46
53
 
47
- # TODO: Write general description for ENUM_3
48
- ENUM_3 = '3'.freeze,
54
+ # For Maestro, the merchant has indicated that CVV2 is not present on
55
+ # card.
56
+ CVV_3 = '3'.freeze,
49
57
 
50
- # TODO: Write general description for ENUM_4
51
- ENUM_4 = '4'.freeze
58
+ # For Maestro, the service is not available.
59
+ CVV_4 = '4'.freeze
52
60
  ].freeze
53
61
 
54
62
  def self.validate(value)
@@ -7,10 +7,13 @@ module PaypalServerSdk
7
7
  # The funds that are held on behalf of the merchant.
8
8
  class DisbursementMode
9
9
  DISBURSEMENT_MODE = [
10
- # TODO: Write general description for INSTANT
10
+ # The funds are released to the merchant immediately.
11
11
  INSTANT = 'INSTANT'.freeze,
12
12
 
13
- # TODO: Write general description for DELAYED
13
+ # The funds are held for a finite number of days. The actual duration
14
+ # depends on the region and type of integration. You can release the funds
15
+ # through a referenced payout. Otherwise, the funds disbursed
16
+ # automatically after the specified duration.
14
17
  DELAYED = 'DELAYED'.freeze
15
18
  ].freeze
16
19
 
@@ -7,10 +7,10 @@ module PaypalServerSdk
7
7
  # The condition that is covered for the transaction.
8
8
  class DisputeCategory
9
9
  DISPUTE_CATEGORY = [
10
- # TODO: Write general description for ITEM_NOT_RECEIVED
10
+ # The payer paid for an item that they did not receive.
11
11
  ITEM_NOT_RECEIVED = 'ITEM_NOT_RECEIVED'.freeze,
12
12
 
13
- # TODO: Write general description for UNAUTHORIZED_TRANSACTION
13
+ # The payer did not authorize the payment.
14
14
  UNAUTHORIZED_TRANSACTION = 'UNAUTHORIZED_TRANSACTION'.freeze
15
15
  ].freeze
16
16
 
@@ -9,24 +9,22 @@ module PaypalServerSdk
9
9
  # should be passed on the authorization transaction to the Gateway/Processor.
10
10
  class EciFlag
11
11
  ECI_FLAG = [
12
- # TODO: Write general description for MASTERCARD_NON_3D_SECURE_TRANSACTION
12
+ # Mastercard non-3-D Secure transaction.
13
13
  MASTERCARD_NON_3D_SECURE_TRANSACTION = 'MASTERCARD_NON_3D_SECURE_TRANSACTION'.freeze,
14
14
 
15
- # TODO: Write general description for
16
- # MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION
15
+ # Mastercard attempted authentication transaction.
17
16
  MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION = 'MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION'.freeze,
18
17
 
19
- # TODO: Write general description for
20
- # MASTERCARD_FULLY_AUTHENTICATED_TRANSACTION
18
+ # Mastercard fully authenticated transaction.
21
19
  MASTERCARD_FULLY_AUTHENTICATED_TRANSACTION = 'MASTERCARD_FULLY_AUTHENTICATED_TRANSACTION'.freeze,
22
20
 
23
- # TODO: Write general description for FULLY_AUTHENTICATED_TRANSACTION
21
+ # VISA, AMEX, JCB, DINERS CLUB fully authenticated transaction.
24
22
  FULLY_AUTHENTICATED_TRANSACTION = 'FULLY_AUTHENTICATED_TRANSACTION'.freeze,
25
23
 
26
- # TODO: Write general description for ATTEMPTED_AUTHENTICATION_TRANSACTION
24
+ # VISA, AMEX, JCB, DINERS CLUB attempted authentication transaction.
27
25
  ATTEMPTED_AUTHENTICATION_TRANSACTION = 'ATTEMPTED_AUTHENTICATION_TRANSACTION'.freeze,
28
26
 
29
- # TODO: Write general description for NON_3D_SECURE_TRANSACTION
27
+ # VISA, AMEX, JCB, DINERS CLUB non-3-D Secure transaction.
30
28
  NON_3D_SECURE_TRANSACTION = 'NON_3D_SECURE_TRANSACTION'.freeze
31
29
  ].freeze
32
30
 
@@ -7,17 +7,20 @@ module PaypalServerSdk
7
7
  # Status of Authentication eligibility.
8
8
  class EnrollmentStatus
9
9
  ENROLLMENT_STATUS = [
10
- # TODO: Write general description for Y
11
- Y = 'Y'.freeze,
10
+ # Yes. The bank is participating in 3-D Secure protocol and will return
11
+ # the ACSUrl.
12
+ ENROLLED = 'Y'.freeze,
12
13
 
13
- # TODO: Write general description for N
14
- N = 'N'.freeze,
14
+ # No. The bank is not participating in 3-D Secure protocol.
15
+ NOTENROLLED = 'N'.freeze,
15
16
 
16
- # TODO: Write general description for U
17
- U = 'U'.freeze,
17
+ # Unavailable. The DS or ACS is not available for authentication at the
18
+ # time of the request.
19
+ UNAVAILABLE = 'U'.freeze,
18
20
 
19
- # TODO: Write general description for B
20
- B = 'B'.freeze
21
+ # Bypass. The merchant authentication rule is triggered to bypass
22
+ # authentication.
23
+ BYPASS = 'B'.freeze
21
24
  ].freeze
22
25
 
23
26
  def self.validate(value)
@@ -14,11 +14,10 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
16
  # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region.<blockquote><strong>Note:</strong>
18
- # The country code for Great Britain is <code>GB</code> and not
19
- # <code>UK</code> as used in the top-level domain names for that country.
20
- # Use the `C2` country code for China worldwide for comparable uncontrolled
21
- # price (CUP) method, bank card, and cross-border transactions.</blockquote>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
@@ -70,5 +69,18 @@ module PaypalServerSdk
70
69
  country_code: country_code,
71
70
  bic: bic)
72
71
  end
72
+
73
+ # Provides a human-readable string representation of the object.
74
+ def to_s
75
+ class_name = self.class.name.split('::').last
76
+ "<#{class_name} name: #{@name}, country_code: #{@country_code}, bic: #{@bic}>"
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} name: #{@name.inspect}, country_code: #{@country_code.inspect}, bic:"\
83
+ " #{@bic.inspect}>"
84
+ end
73
85
  end
74
86
  end
@@ -14,11 +14,10 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
16
  # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region.<blockquote><strong>Note:</strong>
18
- # The country code for Great Britain is <code>GB</code> and not
19
- # <code>UK</code> as used in the top-level domain names for that country.
20
- # Use the `C2` country code for China worldwide for comparable uncontrolled
21
- # price (CUP) method, bank card, and cross-border transactions.</blockquote>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
@@ -69,5 +68,19 @@ module PaypalServerSdk
69
68
  country_code: country_code,
70
69
  experience_context: experience_context)
71
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} name: #{@name}, country_code: #{@country_code}, experience_context:"\
76
+ " #{@experience_context}>"
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} name: #{@name.inspect}, country_code: #{@country_code.inspect},"\
83
+ " experience_context: #{@experience_context.inspect}>"
84
+ end
72
85
  end
73
86
  end
@@ -106,5 +106,20 @@ module PaypalServerSdk
106
106
  links: links,
107
107
  description: description)
108
108
  end
109
+
110
+ # Provides a human-readable string representation of the object.
111
+ def to_s
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} field: #{@field}, value: #{@value}, location: #{@location}, issue:"\
114
+ " #{@issue}, links: #{@links}, description: #{@description}>"
115
+ end
116
+
117
+ # Provides a debugging-friendly string with detailed object information.
118
+ def inspect
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} field: #{@field.inspect}, value: #{@value.inspect}, location:"\
121
+ " #{@location.inspect}, issue: #{@issue.inspect}, links: #{@links.inspect}, description:"\
122
+ " #{@description.inspect}>"
123
+ end
109
124
  end
110
125
  end
@@ -71,5 +71,19 @@ module PaypalServerSdk
71
71
  target_currency: target_currency,
72
72
  value: value)
73
73
  end
74
+
75
+ # Provides a human-readable string representation of the object.
76
+ def to_s
77
+ class_name = self.class.name.split('::').last
78
+ "<#{class_name} source_currency: #{@source_currency}, target_currency: #{@target_currency},"\
79
+ " value: #{@value}>"
80
+ end
81
+
82
+ # Provides a debugging-friendly string with detailed object information.
83
+ def inspect
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} source_currency: #{@source_currency.inspect}, target_currency:"\
86
+ " #{@target_currency.inspect}, value: #{@value.inspect}>"
87
+ end
74
88
  end
75
89
  end
@@ -94,5 +94,20 @@ module PaypalServerSdk
94
94
  return_url: return_url,
95
95
  cancel_url: cancel_url)
96
96
  end
97
+
98
+ # Provides a human-readable string representation of the object.
99
+ def to_s
100
+ class_name = self.class.name.split('::').last
101
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, shipping_preference:"\
102
+ " #{@shipping_preference}, return_url: #{@return_url}, cancel_url: #{@cancel_url}>"
103
+ end
104
+
105
+ # Provides a debugging-friendly string with detailed object information.
106
+ def inspect
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
109
+ " shipping_preference: #{@shipping_preference.inspect}, return_url: #{@return_url.inspect},"\
110
+ " cancel_url: #{@cancel_url.inspect}>"
111
+ end
97
112
  end
98
113
  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
+ # A classification for the method of purchase fulfillment (e.g shipping,
8
+ # in-store pickup, etc). Either `type` or `options` may be present, but not
9
+ # both.
10
+ class FulfillmentType
11
+ FULFILLMENT_TYPE = [
12
+ # The payer intends to receive the items at a specified address.
13
+ SHIPPING = 'SHIPPING'.freeze,
14
+
15
+ # DEPRECATED. Please use "PICKUP_FROM_PERSON" instead.
16
+ PICKUP_IN_PERSON = 'PICKUP_IN_PERSON'.freeze,
17
+
18
+ # The payer intends to pick up the item(s) from the payee's physical
19
+ # store. Also termed as BOPIS, "Buy Online, Pick-up in Store". Seller
20
+ # protection is provided with this option.
21
+ PICKUP_IN_STORE = 'PICKUP_IN_STORE'.freeze,
22
+
23
+ # The payer intends to pick up the item(s) from the payee in person. Also
24
+ # termed as BOPIP, "Buy Online, Pick-up in Person". Seller protection is
25
+ # not available, since the payer is receiving the item from the payee in
26
+ # person, and can validate the item prior to payment.
27
+ PICKUP_FROM_PERSON = 'PICKUP_FROM_PERSON'.freeze
28
+ ].freeze
29
+
30
+ def self.validate(value)
31
+ return false if value.nil?
32
+
33
+ true
34
+ end
35
+ end
36
+ end
@@ -14,11 +14,10 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
16
  # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region.<blockquote><strong>Note:</strong>
18
- # The country code for Great Britain is <code>GB</code> and not
19
- # <code>UK</code> as used in the top-level domain names for that country.
20
- # Use the `C2` country code for China worldwide for comparable uncontrolled
21
- # price (CUP) method, bank card, and cross-border transactions.</blockquote>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
@@ -70,5 +69,18 @@ module PaypalServerSdk
70
69
  country_code: country_code,
71
70
  bic: bic)
72
71
  end
72
+
73
+ # Provides a human-readable string representation of the object.
74
+ def to_s
75
+ class_name = self.class.name.split('::').last
76
+ "<#{class_name} name: #{@name}, country_code: #{@country_code}, bic: #{@bic}>"
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} name: #{@name.inspect}, country_code: #{@country_code.inspect}, bic:"\
83
+ " #{@bic.inspect}>"
84
+ end
73
85
  end
74
86
  end
@@ -14,11 +14,10 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
16
  # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region.<blockquote><strong>Note:</strong>
18
- # The country code for Great Britain is <code>GB</code> and not
19
- # <code>UK</code> as used in the top-level domain names for that country.
20
- # Use the `C2` country code for China worldwide for comparable uncontrolled
21
- # price (CUP) method, bank card, and cross-border transactions.</blockquote>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
@@ -69,5 +68,19 @@ module PaypalServerSdk
69
68
  country_code: country_code,
70
69
  experience_context: experience_context)
71
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} name: #{@name}, country_code: #{@country_code}, experience_context:"\
76
+ " #{@experience_context}>"
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} name: #{@name.inspect}, country_code: #{@country_code.inspect},"\
83
+ " experience_context: #{@experience_context.inspect}>"
84
+ end
72
85
  end
73
86
  end
@@ -7,10 +7,16 @@ module PaypalServerSdk
7
7
  # Authentication Method which is used for the card transaction.
8
8
  class GooglePayAuthenticationMethod
9
9
  GOOGLE_PAY_AUTHENTICATION_METHOD = [
10
- # TODO: Write general description for PAN_ONLY
10
+ # This authentication method is associated with payment cards stored on
11
+ # file with the user's Google Account. Returned payment data includes
12
+ # primary account number (PAN) with the expiration month and the
13
+ # expiration year.
11
14
  PAN_ONLY = 'PAN_ONLY'.freeze,
12
15
 
13
- # TODO: Write general description for CRYPTOGRAM_3DS
16
+ # Returned payment data includes a 3-D Secure (3DS) cryptogram generated
17
+ # on the device. -> If authentication_method=CRYPTOGRAM, it is required
18
+ # that 'cryptogram' parameter in the request has a valid 3-D Secure (3DS)
19
+ # cryptogram generated on the device.
14
20
  CRYPTOGRAM_3DS = 'CRYPTOGRAM_3DS'.freeze
15
21
  ].freeze
16
22