# coding: utf-8

"""
    Zuora API Reference

    REST API reference for the Zuora Billing, Payments, and Central Platform! Check out the [REST API Overview](https://www.zuora.com/developer/api-references/api/overview/).

    The version of the OpenAPI document: 2024-05-20
    Contact: docs@zuora.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class StoredCredentialProfileAction(str, Enum):
    """
    Specifies how Zuora activates the stored credential profile. Only applicable if you set the `status` field to `Active`.  - `Activate` (default) - Use this value if you are creating the stored credential profile after receiving the customer's consent.    Zuora will create the stored credential profile then send a cardholder-initiated transaction (CIT) to the payment gateway to validate the stored credential profile. If the CIT succeeds, the status of the stored credential profile will be `Active`. If the CIT does not succeed, Zuora will not create a stored credential profile.      If the payment gateway does not support the stored credential transaction framework, the status of the stored credential profile will be `Agreed`.   - `Persist` - Use this value if the stored credential profile represents a stored credential profile in an external system. The status of the payment method's stored credential profile will be `Active`. 
    """

    """
    allowed enum values
    """
    ACTIVATE = 'Activate'
    PERSIST = 'Persist'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of StoredCredentialProfileAction from a JSON string"""
        return cls(json.loads(json_str))


