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. Webhooks
  • Integration
    • Welcome to the UseePay Demo Page
    • About Payment Methods
      • Card
      • Apple Pay Web Integration (API Integration)
      • Apple Pay(Hosted Checkout)
      • Google Pay
      • Klarna
      • Naver pay
      • Kakao Pay
      • Toss Pay
      • Payco
      • Affirm
      • Blik
      • trustly
      • Cashapp
    • 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
    • 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
        POST
      • Retrieves a webhook
        GET
      • Update a webhook
        POST
      • List all webhooks
        GET
    • Embedded Checkout
      • Payment Element
      • Payment Element (Deferred Intent)
      • Express Checkout Element
      • Checkout Session Element
    • case
    • objects
    • 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
      • LineItem
      • Customer
      • Address
      • ProductData
      • Shipping
      • SubscriptionData
      • Error
      • DiscountPeriodConfig
      • DeviceData
      • CheckoutSessionResponse
      • ErrorResponse
      • Order
      • Product
      • PaymentMethodOptions
      • RiskControlOptions
      • Mandate
      • PaymentIntent
      • PaymentMethod
      • Billing
      • Card
      • AliPay
      • Wallet
      • Klarna
      • WechatPay
      • Refund
      • Subscription
      • Recurring
      • PriceData
      • SubscriptionItem
      • Invoice
      • NextAction
      • Webhook
      • CollectableOptions
      • PaymentLink
      • last_payment_error
      • discount_period_config
      • CreatePaymentIntentRequest
  • Reconciliation
    • SFTP Access for Reconciliation
  • message
    • Messaging Element
  • FAQ
    • Unable to receive Webhook notifications
  1. Webhooks

Webhook Events Documentation

Webhook Request Format#

UseePay sends event notifications to your configured webhook URL via HTTP POST requests.

Request Example#

Webhook Data Structure#

The data parameter in the webhook is a JSON string containing the following fields:
FieldTypeDescription
idstringEvent ID, unique identifier starting with evt_
namestringEvent name, format: object.event_type
dataobjectBusiness object data (PaymentIntent/Subscription/Invoice/Refund/CheckoutSession, etc.)

Event Types#

Event Types

Complete Example#

{
  "id": "evt_79bdd43e4d0f464694fa433a5d467980",
  "name": "payment_intent.succeeded",
  "data": {
    "id": "pi_1234567890",
    "object": "payment_intent",
    "amount": 10000,
    "currency": "USD",
    "status": "succeeded",
    "customer_id": "cus_abc123",
    "payment_method": {
      "type": "card",
      "card": {
        "brand": "visa",
        "last4": "4242"
      }
    },
    "created_at": "2024-01-27T10:30:00Z",
    "metadata": {}
  }
}

Event Processing Flow#

Business Event Occurs
    ↓
UseePay System Detects Status Change
    ↓
Webhook Event Generated
    ↓
HTTP POST to Your Webhook URL
    ↓
Your Server Processes Event

Best Practices for Receiving Webhooks#

1. Verify Signature#

UseePay includes signature information in the request headers to verify the authenticity of the request. See Webhook Activation/Signature Verification Steps for details.

2. Respond Quickly#

Your webhook endpoint should quickly return a 2xx status code to avoid timeouts. Process time-consuming business logic asynchronously.

3. Idempotency Handling#

The same event may be sent multiple times. Use event.id to implement idempotency.

4. Parse the data Parameter#

The data parameter in the webhook request is a URL-encoded JSON string that needs to be decoded and parsed:

Retry Mechanism#

If your webhook endpoint returns a non-2xx status code or times out, UseePay will automatically retry sending with the following intervals:
1st retry: after 1 second
2nd retry: after 5 seconds
3rd retry: after 10 seconds
4th retry: after 30 seconds
5th retry: after 1 minute
Subsequent retries: 2 minutes, 3 minutes, 4 minutes... up to 2 hours
Maximum of 18 retries.

FAQ#

Unable to Receive Webhook Notifications?#

Please refer to the Unable to Receive Webhook Notifications troubleshooting guide.

How to Test Webhooks?#

1.
Use UseePay Test Cards to create test payments
2.
View webhook sending logs in the Merchant Dashboard
3.
Use tools like ngrok or webhook.site for local testing

Related Documentation#

Webhook Events
Webhook Activation/Signature Verification Steps
Create a Webhook
Retrieve a Webhook
Update a Webhook
List All Webhooks

Technical Support#

For questions, please contact: support@useepay.com
Modified at 2026-03-19 10:45:45
Previous
List all refunds
Next
Webhook events for example
Built with