# Enums

Pass these anywhere an attribute array takes the value, and compare data object properties against them. They are in `Luigel\Paymongo\Enums`. A data object property is `null` for a value the package does not know; read the raw value with `attribute('dot.key')`.

## CancellationReason

`Luigel\Paymongo\Enums\CancellationReason`

Reasons PayMongo accepts when cancelling a subscription.

| Case | Value |
| --- | --- |
| `TooExpensive` | `too_expensive` |
| `MissingFeatures` | `missing_features` |
| `SwitchedService` | `switched_service` |
| `Unused` | `unused` |
| `Other` | `other` |

## CaptureType

`Luigel\Paymongo\Enums\CaptureType`

How a payment intent captures an authorized amount.

| Case | Value |
| --- | --- |
| `Automatic` | `automatic` |
| `Manual` | `manual` |

## CheckoutSessionStatus

`Luigel\Paymongo\Enums\CheckoutSessionStatus`

Lifecycle states of a checkout session.

| Case | Value |
| --- | --- |
| `Active` | `active` |
| `Expired` | `expired` |

## Currency

`Luigel\Paymongo\Enums\Currency`

Currencies PayMongo can process. Philippine peso only.

| Case | Value |
| --- | --- |
| `PHP` | `PHP` |

## DefaultDevice

`Luigel\Paymongo\Enums\DefaultDevice`

Devices PayMongo can use to reach a customer by default.

| Case | Value |
| --- | --- |
| `Phone` | `phone` |
| `Email` | `email` |

## DisputeStatus

`Luigel\Paymongo\Enums\DisputeStatus`

Lifecycle states of a dispute (chargeback), as PayMongo's Disputes guide and dispute webhook events name them.

| Case | Value |
| --- | --- |
| `UnderReview` | `under_review` |
| `Won` | `won` |
| `Lost` | `lost` |
| `Expired` | `expired` |

## LinkStatus

`Luigel\Paymongo\Enums\LinkStatus`

Lifecycle states of a payment link.

| Case | Value |
| --- | --- |
| `Unpaid` | `unpaid` |
| `Paid` | `paid` |
| `Archived` | `archived` |

## PaymentIntentStatus

`Luigel\Paymongo\Enums\PaymentIntentStatus`

Lifecycle states of a payment intent.

| Case | Value |
| --- | --- |
| `AwaitingPaymentMethod` | `awaiting_payment_method` |
| `AwaitingNextAction` | `awaiting_next_action` |
| `AwaitingCapture` | `awaiting_capture` |
| `Processing` | `processing` |
| `Succeeded` | `succeeded` |
| `Cancelled` | `cancelled` |

## PaymentLinkStatus

`Luigel\Paymongo\Enums\PaymentLinkStatus`

Management states of a payment link (`/payment_links` API). Unlike the legacy `/links` API this is not a payment state: a link is either active or archived.

| Case | Value |
| --- | --- |
| `Active` | `active` |
| `Archived` | `archived` |

## PaymentMethodType

`Luigel\Paymongo\Enums\PaymentMethodType`

Payment method kinds accepted by PayMongo.

| Case | Value |
| --- | --- |
| `Card` | `card` |
| `Gcash` | `gcash` |
| `GrabPay` | `grab_pay` |
| `Paymaya` | `paymaya` |
| `ShopeePay` | `shopee_pay` |
| `Qrph` | `qrph` |
| `Billease` | `billease` |
| `Dob` | `dob` |
| `Brankas` | `brankas` |
| `Atome` | `atome` |

## PaymentStatus

`Luigel\Paymongo\Enums\PaymentStatus`

Lifecycle states of a payment.

| Case | Value |
| --- | --- |
| `Pending` | `pending` |
| `Paid` | `paid` |
| `Failed` | `failed` |
| `Refunded` | `refunded` |
| `PartiallyRefunded` | `partially_refunded` |

## PayoutStatus

`Luigel\Paymongo\Enums\PayoutStatus`

Lifecycle states of a payout.

| Case | Value |
| --- | --- |
| `Pending` | `pending` |
| `OnHold` | `on_hold` |
| `InTransit` | `in_transit` |
| `Deposited` | `deposited` |
| `Returned` | `returned` |
| `Cancelled` | `cancelled` |

## PlanInterval

`Luigel\Paymongo\Enums\PlanInterval`

Billing intervals for subscription plans.

| Case | Value |
| --- | --- |
| `Weekly` | `weekly` |
| `Monthly` | `monthly` |
| `Yearly` | `yearly` |

## QrMode

`Luigel\Paymongo\Enums\QrMode`

Transfer modes of an MPM QR code (v3 QR API).

| Case | Value |
| --- | --- |
| `P2p` | `p2p` |
| `P2b` | `p2b` |
| `P2m` | `p2m` |
| `P2micro` | `p2micro` |

## QrStatus

`Luigel\Paymongo\Enums\QrStatus`

Lifecycle states of an MPM QR code (v3 QR API).

| Case | Value |
| --- | --- |
| `Active` | `active` |
| `Expired` | `expired` |

## QrType

`Luigel\Paymongo\Enums\QrType`

Kinds of MPM QR codes (v3 QR API): dynamic carries a fixed amount, static lets the scanner enter one.

| Case | Value |
| --- | --- |
| `Dynamic` | `dynamic` |
| `Static` | `static` |

## RefundReason

`Luigel\Paymongo\Enums\RefundReason`

Reasons PayMongo accepts when creating a refund.

| Case | Value |
| --- | --- |
| `Duplicate` | `duplicate` |
| `Fraudulent` | `fraudulent` |
| `Others` | `others` |

## RefundStatus

`Luigel\Paymongo\Enums\RefundStatus`

Lifecycle states of a refund.

| Case | Value |
| --- | --- |
| `Pending` | `pending` |
| `Succeeded` | `succeeded` |
| `Failed` | `failed` |

## SubscriptionStatus

`Luigel\Paymongo\Enums\SubscriptionStatus`

Lifecycle states of a subscription.

| Case | Value |
| --- | --- |
| `Incomplete` | `incomplete` |
| `IncompleteCancelled` | `incomplete_cancelled` |
| `Active` | `active` |
| `PastDue` | `past_due` |
| `Unpaid` | `unpaid` |
| `Cancelled` | `cancelled` |

## WebhookEventType

`Luigel\Paymongo\Enums\WebhookEventType`

Event names a webhook endpoint can subscribe to.

| Case | Value |
| --- | --- |
| `CheckoutSessionPaymentPaid` | `checkout_session.payment.paid` |
| `SourceChargeable` | `source.chargeable` |
| `PaymentPaid` | `payment.paid` |
| `PaymentFailed` | `payment.failed` |
| `PaymentRefunded` | `payment.refunded` |
| `PaymentRefundUpdated` | `payment.refund.updated` |
| `SubscriptionPastDue` | `subscription.past_due` |
| `SubscriptionUnpaid` | `subscription.unpaid` |
| `SubscriptionUpdated` | `subscription.updated` |
| `SubscriptionInvoiceCreated` | `subscription.invoice.created` |
| `SubscriptionInvoiceFinalized` | `subscription.invoice.finalized` |
| `SubscriptionInvoicePaid` | `subscription.invoice.paid` |
| `SubscriptionInvoicePaymentFailed` | `subscription.invoice.payment_failed` |
| `LinkPaymentPaid` | `link.payment.paid` |
| `QrphExpired` | `qrph.expired` |

## WebhookStatus

`Luigel\Paymongo\Enums\WebhookStatus`

States of a webhook endpoint.

| Case | Value |
| --- | --- |
| `Enabled` | `enabled` |
| `Disabled` | `disabled` |
