Pientegra API

Integration Types

Understand how Pientegra separates the backend API, hosted deposit handoff, partner-owned withdrawal UX, and webhook delivery.

A Pientegra integration is not a single set of API endpoints. The correct model is to think in five distinct surfaces:

  1. Backend-to-Backend API: The partner site backend creates a deposit or withdrawal request in Pientegra.
  2. Hosted Deposit Page: In the deposit flow, the user is redirected to Pientegra's hosted deposit page after the backend creates a depositUrl.
  3. Partner-Owned Withdrawal UX: In the withdrawal flow, the partner site collects payout details and keeps the user experience in its own product.
  4. Webhook Delivery: Pientegra sends the final outcome to the partner site backend as an asynchronous event.
  5. Status & Support Lookup: Current state can be read for support, reconciliation, and incident triage.

This separation is critical for integration teams: POST /external/deposits does not render a payment page; it creates the signed depositUrl used for the hosted deposit handoff. POST /external/withdrawals does not return a user-facing withdrawal page URL in the current External API contract; the payout request is opened backend-to-backend.

Integration map

Integration typeCallerUser-facing?ProducesOutcome delivery
Backend-to-Backend Deposit APIPartner backendNointentId, referenceNo, depositUrlintent.* webhook
Hosted Deposit PageUser browserYesBank details, amount, timer, CTAUser action + review
Partner-Owned Withdrawal UXPartner frontendYesIBAN/holder input, local request statewithdrawal.* webhook updates local state
Backend-to-Backend Withdrawal APIPartner backendNowithdrawalId, referenceNowithdrawal.* webhook
Webhook DeliveryPientegra workerNoSigned event payloadPartner backend returns 2xx
Status LookupPartner backendNoCurrent resource stateSynchronous read

Deposit integration

Deposit has two parts:

  1. The partner backend calls POST /external/deposits.
  2. The partner frontend redirects the user to the depositUrl returned in the response.

That means the deposit flow uses both the Backend-to-Backend API surface and the Hosted Deposit Page surface.

Partner frontend -> Partner backend -> Pientegra API -> depositUrl
Partner frontend -> Hosted Deposit Page
Pientegra -> Partner webhook -> balance credit

Details:

Withdrawal integration

Withdrawal uses an API-only payout request model in the current External API:

  1. The partner backend calls POST /external/withdrawals.
  2. The request is processed.
  3. The final outcome arrives through a withdrawal.sent or withdrawal.rejected webhook.

This flow does not open a Pientegra-hosted page for the user and does not create a withdrawalUrl.

Partner frontend -> Partner backend -> Pientegra API
                                          |
Pientegra -> Partner webhook -> debit/refund decision

Details:

When to use status endpoints

Status endpoints are not a replacement for webhooks. The partner backend should read current state only in cases such as:

  • A support team needs to check a transaction by user reference.
  • Reconciliation is required after a webhook incident.
  • The partner ledger needs to be compared with Pientegra state.

In the normal product flow, consume webhooks instead of polling.

On this page