# Hosted Payment

## Overview

**Hosted Payment** is a Finpay-hosted checkout page. You redirect the customer to Finpay to choose a payment method and complete payment. Use this when you want a fast integration with minimal checkout UI work.

## When to use Hosted Payment

Hosted Payment is a good fit when you:

* Want to go live quickly.
* Prefer a Finpay-managed payment UI.
* Need one flow for multiple payment channels.
* Want Finpay to handle channel-specific payment channel instructions.

{% hint style="info" %}
Consider **Core API (Host-to-Host)** when you need full control of the checkout UI.
{% endhint %}

## Customer experience

1. Customer starts checkout in your app or website.
2. You redirect the customer to the Finpay hosted payment page (URL).
3. Customer selects a payment method on the Finpay page.
4. Customer completes payment using the chosen channel.
5. Finpay returns the customer to your site/app (redirect).
6. You confirm the final result using the transaction status.

{% hint style="info" %}
Always treat the redirect as a **customer navigation event**, not a final payment confirmation. Use transaction status for reconciliation.
{% endhint %}

## Supported payment methods

Payment methods depend on your merchant profile and configuration.

See the full list in [Payment Channels](/payment-gateway/payment-channels.md).

## Common pitfalls

* **Assuming redirect = paid**. Redirect is not a final confirmation.
* **Not handling pending states**. Some channels confirm instantly, others can take time.
* **Not handling expiry**. Unpaid transactions can expire based on channel rules.
* **Not showing a clear “payment in progress” state** after redirect back to your site/app.

{% hint style="warning" %}
If you need exact redirect parameters, expiry behavior, or status mapping, align with Finpay for your environment configuration.
{% endhint %}


---

# 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.finpay.id/payment-gateway/integration-method/hosted-payment.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.
