2xx response, and Jupico will POST a JSON payload for each subscribed event.
Payload structure
Every event uses the same envelope:Your endpoint should respond quickly (a
2xx within a few seconds) and process the event asynchronously.Endpoint requirements
- Use HTTPS with a valid TLS certificate.
- Accept
POSTrequests with a JSON body. - Return a
2xxstatus code once you accept the event. - Be idempotent — the same event may be delivered more than once.
Event catalog
Jupico emits webhooks across onboarding, disputes, payouts, subscriptions, and hosted sessions.Onboarding
Onboarding
onApplicationInitiated— an application has been initiated.onMerchantSubmit— a merchant has submitted their application.onMerchantActivation— a merchant has been activated.
Disputes
Disputes
onDisputeInitiated— a new dispute has been created.onDisputeUpdated— a dispute has been updated.
Payouts and bank accounts
Payouts and bank accounts
onPayoutInitiated— a new payout has been created.onMerchantBankAccountActivation— a merchant’s bank account has been activated.
Subscriptions
Subscriptions
onSubscriptionCreated— a subscription has been created.onSubscriptionActivated— a subscription has become active.onSubscriptionDeactivated— a subscription has become inactive.onSubscriptionCanceled— a subscription has been canceled.onSubscriptionPaused— a subscription has been paused.
Subscription executions
Subscription executions
onSubscriptionExecutionSucceeded— a subscription payment succeeded.onSubscriptionExecutionFailed— a subscription payment failed.
Hosted pages
Hosted pages
onHostedSessionSale— a sale has been completed via a hosted session page.
Onboarding payloads
The
invite object is included only when the application originated from an invite.Dispute payloads
Payout and bank account payloads
Subscription payloads
Subscription execution payloads
Hosted page payload
onHostedSessionSale
Recommended handling
1
Receive the request
Accept
POST requests at your registered webhook URL.2
Authenticate the sender
Verify the request came from Jupico using the mechanism agreed with your account team.
3
Persist and acknowledge
Store the raw payload and return
2xx before doing any heavy work.4
Process asynchronously
Handle the event in a background job so slow processing does not block delivery.
5
Deduplicate
Guard against duplicate deliveries using a unique identifier from
data (for example, transactionId or submerchantId) combined with event and datetime.6
Reconcile on drift
If an event references a resource in an unexpected state, use the Query API or Backoffice to fetch the authoritative record.
Retry behavior
Jupico retries failed deliveries. Confirm the exact retry schedule and ceiling with your Jupico account team before go-live.Testing
- Use a tunneling tool (for example, ngrok) or a webhook inspection service (for example, webhook.site) to receive sandbox events during development.
- Trigger events by performing the relevant action in sandbox (activating a submerchant, completing a hosted session, or executing a subscription cycle).
Best practices
Return 2xx quickly
Acknowledge as soon as possible and process asynchronously.
Store the raw payload
Keep the full JSON body for auditing and reprocessing.
Deduplicate deliveries
Assume at-least-once delivery.
Reconcile via the API
Use the Query API when webhook state and your local state diverge.

