# Payments

The Prioticket API supports optional payment processing for guest transactions via a wide variety of integrated Payment Service Providers (PSPs). This functionality is typically used in **direct sales** scenarios and is **not applicable to B2B resellers** or partners that handle their own payments and settle via invoice.

### When Should You Use the Payment API?

You **do not need to use our payment API** if:

* You're a **B2B reseller or partner**
* You are the **merchant of record**
* You **collect the guest payment** independently
* You **settle with Prioticket via invoice** or other external arrangements

In this case, set `SettlementType` to `EXTERNAL`, and the guest payment flow is handled completely outside our platform.

You **should use our payment API** if:

* You're handling **guest-facing payments**
* You require **real-time reservation confirmation**
* You’re using **`SettlementType: DIRECT`** or `VENUE`
* You want to process payments through a **connected PSP** or **generate a hosted payment link**

Once a payment is completed using the API, **the reservation becomes locked and cannot be amended.**

### Secure Payment Flow

The API manages:

* Initiating guest payments
* Redirects for **3D Secure 2 (3DS2)**
* Confirming and capturing funds
* Generating payment links for HPP (Hosted Payment Pages)
* Triggering refunds when applicable

### Supported Payment Providers

Choose from a broad range of integrated PSPs:

| 📝 Code         | ⚙️ Provider                 | 🔍 Learn More                                                          |
| --------------- | --------------------------- | ---------------------------------------------------------------------- |
| `ADYEN`         | Adyen                       | [adyen.com](https://www.adyen.com/)                                    |
| `CYBERSOURCE`   | CyberSource                 | [cybersource.com](https://www.cybersource.com/)                        |
| `HYPERPAY`      | Hyperpay                    | [hyperpay.com](https://www.hyperpay.com/)                              |
| `ADDONPAYMENTS` | Addon Payments              | [addonpayments.com](https://www.addonpayments.com/)                    |
| `NGENIUS`       | Network International       | [network.ae](https://www.network.ae/)                                  |
| `MULTISAFE`     | MultiSafePay                | [multisafepay.com](https://www.multisafepay.com/)                      |
| `STRIPE`        | Stripe (coming soon)        | [stripe.com](https://stripe.com/)                                      |
| `GOOGLE`        | Google Pay                  | [developers.google.com/pay/api](https://developers.google.com/pay/api) |
| `PAYONEER`      | Payoneer                    | [payoneer.com](https://www.payoneer.com/)                              |
| `SMARTPAY`      | Smart Pay (Bank Muscat)     | [bankmuscat.com](https://www.bankmuscat.com/en/Pages/default.aspx)     |
| `MOKA`          | Moka POS                    | [mokapos.com](https://www.mokapos.com/en)                              |
| `EXTERNAL`      | Payment settled externally  | —                                                                      |
| `OTHER`         | Unlisted or custom provider | —                                                                      |
| `NONE`          | No payment provider used    | —                                                                      |

### Settlement Types

`SettlementType` determines how the transaction is settled:

* **`DIRECT`**: Payment is made using the API and a PSP before confirming the reservation.
* **`VENUE`**: Payment is made in person at the venue.
* **`EXTERNAL`**: Partner collects the payment and settles externally. Used in most reseller integrations.
* **`INVOICE`**: Payment is settled later via invoicing. Used in B2B partner flows.

*Default: `EXTERNAL`*

### Payment Methods

`PaymentMethod` specifies how the guest initiated the payment:

* **`ONLINE`** – Guest pays via card, wallet, or local method on web/mobile
* **`TERMINAL`** – Payment made through a physical POS terminal
* **`LINK`** – Hosted Payment Page (HPP) sent to guest
* **`CASH`** – Payment made in cash
* **`GUEST_BILL`** – Charged to a guest account
* **`RECURRING`** – Subscription or repeating charge
* **`EXTERNAL`** – Payment made entirely outside the Prio system
* **`VOUCHER`** – Voucher used as payment
* **`BANK_TRANSFER`** – Funds transferred via bank, usually for invoicing
* **`OTHER`** – Any unlisted payment method

These values allow tracking and reporting of how a transaction was completed.

### Payment Types

`PaymentType` describes the stage or purpose of a transaction:

* **`AUTHORIZATION`** – Funds are verified and reserved, but not yet captured
* **`CAPTURE`** – Funds are officially transferred from the guest
* **`REFUND`** – A completed payment is returned to the guest

This supports more advanced flows where authorization and capture happen separately (e.g., in fraud-sensitive environments or ticketing hold scenarios).

### Payment Scheme

If returned by the PSP, `PaymentScheme` gives the specific card or network used:

Examples include:

* `VISA`, `MASTERCARD`, `MAESTRO`, `AMERICAN_EXPRESS`
* `PAYPAL`, `SOFORT`, `IDEAL`, `ALIPAY`, `GOOGLE_PAY`, `APPLE_PAY`, `SEPA`
* `KLARNA_NOW`, `AFTERPAY`, `TRUSTLY`, `UNIONPAY`, etc.
* `UNSPECIFIED`, `OTHER` (when no detail is available)

This allows you to track, analyze, or display what the guest used to pay.

### Hosted Payment Links

In cases where immediate payment isn’t required or you want to send a checkout page to the guest:

* Use the **Payment Link** functionality to generate a URL
* Guest is redirected to a secure **Hosted Payment Page (HPP)**
* Reservation is confirmed once the payment completes successfully

Useful for:

* Manual bookings
* Follow-up payments
* Call center flows


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.prioticket.com/key-concepts/booking-logic/payments.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
