UseePay Open API
UseePay PortalMechant Dashboard
Product Docs
Product Docs
  • V2.0
  • V1.0
UseePay PortalMechant Dashboard
Product Docs
Product Docs
  • V2.0
  • V1.0
  1. Payment Product Overview
  • Integration
    • Welcome to the UseePay Demo Page
    • Payment Product Overview
      • Hosted Checkout Integration Guide
      • Embedded Checkout Integration Guide
      • Express Checkout Integration Guide
      • Server to Server Integration Guide
    • About Payment Methods
      • Card
      • Apple Pay Web Integration (API Integration)
      • Google Pay Web Integration (API Integration)
      • Apple Pay(Hosted Checkout)
      • Google Pay
      • Klarna
      • Naver pay
      • Kakao Pay
      • Toss Pay
      • Payco
      • Affirm
      • Blik
      • Trustly
      • Cashapp
      • Pay with Link
    • Subscription
      • Get started with Subscription
    • Online payment
      • Get started with online payments
    • Payment Capabilities
      • Adaptive Price
      • Supported Payment Methods for Checkout
    • Checkout session
      • Checkout Session Guide
  • Developer
    • Introduction
    • Authentication
    • Errors
    • Error code
      • last_payment_error documentation
    • Best Integration
      • Quickly create a paymentIntent for a subscription
      • Auto-Charge Subscription Guide
    • Payment Intents
      • Payment Intent Overview
      • Quickly create a paymentIntent
      • Create a PaymentIntent
      • Retrieve a PaymentIntent
      • Update a PaymentIntent
      • Confirm a PaymentIntent
      • Cancel a PaymentIntent
      • Capture a PaymentIntent
      • List all payment intents
    • Customers
      • Create a customer
      • Retrieves a customer
      • Update a customer
      • List all customers
    • Subscriptions
      • Create a subscription
      • Retrieves a subscription
      • Update a subscription
      • List all subscriptions
      • Cancel a subscription
    • Invoices
      • Create a invoice
      • Retrieves a invoice
      • List all invoices
      • Pay a invoice
    • Payment Methods
      • Retieve Payment Method Session
    • Mandates
      • Create a mandate
      • Retrieves a mandate
      • List all mandates
    • Refunds
      • Create a refund
      • Retrieves a refund
      • List all refunds
    • Webhooks
      • Webhook Events Documentation
      • Webhook events for example
      • Webhook Activation/Signature Verification Steps
      • Create a webhook
      • Retrieves a webhook
      • Update a webhook
      • List all webhooks
    • Embedded Checkout
      • Payment Element
      • Payment Element (Deferred Intent)
      • Express Checkout Element
      • Checkout Session Element
    • About Testing
      • Test Cards
      • ApplePay&GooglePay
    • Payment Method Configuration
      • Retieve Payment Method Configuration
    • Checkout Session
      • Create Checkout Session
      • Retrieve Checkout Session
    • Trackers
      • upload trackers
      • Retrieve a tracker
    • Schemas
      • CheckoutSessionCreateRequest
      • PaymentMethod
      • CreatePaymentIntentRequest
      • LineItem
      • Customer
      • Address
      • ProductData
      • Shipping
      • SubscriptionData
      • Error
      • DiscountPeriodConfig
      • DeviceData
      • CheckoutSessionResponse
      • ErrorResponse
      • Order
      • Product
      • PaymentMethodOptions
      • RiskControlOptions
      • Mandate
      • PaymentIntent
      • Billing
      • Card
      • AliPay
      • Wallet
      • Klarna
      • WechatPay
      • Refund
      • Subscription
      • Recurring
      • PriceData
      • SubscriptionItem
      • Invoice
      • NextAction
      • Webhook
      • CollectableOptions
      • PaymentLink
      • last_payment_error
      • discount_period_config
  • Reconciliation
    • SFTP Access for Reconciliation
  • Message
    • Messaging Element
  • FAQ
    • Unable to receive Webhook notifications
  1. Payment Product Overview

Hosted Checkout Integration Guide

Hosted Checkout lets you redirect customers to a UseePay-hosted payment page. Your server creates a PaymentIntent and receives a cashier URL — no payment UI to build.
55239ee3-b1fe-48ea-97e5-67680e1322a2.png

How It Works#


Step 1 — Create a PaymentIntent#

Call POST /payment_intents from your server with the payment details.
Request
Response
{
  "id": "pi_1234567890",
  "status": "requires_payment_method",
  "nextAction": {
      "type": "redirect",
      "redirect": {
          "url" : ""https://cashier.useepay.com/pay?token=xxx"
      }
  },
  "clientSecret": "pi_1234567890_secret_xxx",
  "amount": 1000,
  "currency": "USD"
}

Step 2 — Redirect the Customer#

Redirect the customer to cashierUrl returned in the PaymentIntent response.
The customer will see UseePay's hosted payment page with the payment methods you specified. UseePay handles:
Card number input and validation
3DS authentication
Apple Pay / Google Pay wallet sheets
Payment result display

Step 3 — Handle the Return#

After payment, UseePay redirects the customer to your returnUrl with the result appended as query parameters.
https://yoursite.com/payment/result?payment_intent=pi_1234567890&redirect_status=succeeded
ParameterValueDescription
payment_intentpi_xxxPaymentIntent ID
redirect_statussucceeded / failed / canceledPayment outcome
⚠️ Do not rely solely on the redirect to confirm payment. Always verify the final status server-side via Webhook or by querying the PaymentIntent.
Verify via API

Step 4 — Receive Webhook Events#

Configure a Webhook endpoint in your Merchant Dashboard to receive real-time payment notifications.
Key events
EventDescription
payment_intent.succeededPayment completed successfully
payment_intent.payment_failedPayment failed
payment_intent.requires_captureAuth succeeded, awaiting capture (manual mode)
payment_intent.canceledPayment canceled
Webhook payload example
{
  "event": "payment_intent.succeeded",
  "data": {
    "id": "pi_1234567890",
    "status": "succeeded",
    "amount": 1000,
    "currency": "USD",
    "merchantOrderId": "ORDER_20240101_001"
  }
}

Optional — Auth + Capture (Two-Step Payment)#

Set captureMethod: "manual" to authorize the card without charging. Capture later when you are ready to fulfill the order.
The authorization hold expires if not captured within the allowed window. Capture as soon as you confirm fulfillment.

PaymentIntent Status Lifecycle#

requires_payment_method
        │
        ▼
requires_confirmation
        │
        ▼
  requires_action  ──── (3DS / wallet auth) ────┐
        │                                        │
        ▼                                        │
requires_capture (manual mode)                  │
        │                                        │
        ▼                                        │
    succeeded  ◄────────────────────────────────┘
        
    canceled / failed  (terminal states)

Supported Payment Methods#

Payment MethodTypeRegions
Credit / Debit CardCardGlobal
Apple PayWalletiOS / macOS Safari
Google PayWalletAndroid / Chrome
KlarnaBNPLEU, US, AU
AffirmBNPLUS
Naver PayLocal walletSouth Korea
Kakao PayLocal walletSouth Korea
Toss PayLocal walletSouth Korea
PaycoLocal walletSouth Korea
BlikLocal paymentPoland
TrustlyBank transferEU
CashAppWalletUS
Pay with LinkSaved cardsGlobal

Quick Checklist#

Obtain API keys from the Merchant Dashboard
Call POST /payment_intents from your server (never from the browser)
Redirect customer to cashierUrl
Implement returnUrl handler to show result page
Set up Webhook endpoint and verify payment server-side
Test with test card numbers before going live
Modified at 2026-04-09 05:33:36
Previous
Welcome to the UseePay Demo Page
Next
Embedded Checkout Integration Guide
Built with