syntax = "proto3";

package com.wix.ecommerce.catalog_spi.api.v1;

import "wix/api/annotations.proto";

// Type of selected payment option for catalog item
enum PaymentOptionType {
  
  // The entire payment for this item happens as part of the checkout.
  FULL_PAYMENT_ONLINE = 0;
  
  // The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
  FULL_PAYMENT_OFFLINE = 1;

  // Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
  MEMBERSHIP = 2;

  // Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
  DEPOSIT_ONLINE = 3;

  // Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
  MEMBERSHIP_OFFLINE = 4;

  // Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
  MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER = 5 [(.wix.api.enum_maturity) = BETA];
} 