Partner API
  1. Integration
Partner API
  • Getting Started
    • Introduction
    • Authentication
    • Business Use Cases
  • API References
    • Partner Operations
      • Get Balances
      • Get Transaction History
      • Retrieve Exchange Rate and Create a Lock
      • Create and Finalize an Exchange
      • Create Crypto Withdrawal
      • Create a SEPA Transfer
      • Get SEPA Transfer Details
    • User Accounts with KYC
      • Create User Account and Generate Balances
      • Add KYC File
      • Add POA File
      • Add User Verification
      • Update Existing User
      • Delete User
      • Suspend User
      • Unsuspend User
      • Get User Balances
      • Get User Transaction History
    • User Accounts without KYC
      • Create User Account and Generate Balances Without KYC
      • Update Existing User
      • Delete User
      • Suspend User
      • Unsuspend User
      • Get User Balances
      • Get User Transaction History
    • KYC by P100
      • Creating KYC Verification
      • Redirect to Verification
      • Get KYC Status
    • Currency Exchange
      • Retrieve Exchange Rate
      • Retrieve Exchange Rate and Create a Lock
      • Create and Finalize an Exchange
      • Retrieve Detailed Exchange Infromation
    • Crypto Deposits
      • Update Travel Rule
    • Crypto Withdrawals
      • Get Network Fee
      • Create Crypto Withdrawal
      • Get Crypto Withdrawal Details
    • Internal Transfers
      • Create a Transfer
      • Get Transfer Details
    • Virtual Cards
      • Create Virtual Card
      • Get All User Cards
      • Get Card Details
      • Update Card PIN
      • Block Card
      • Unblock Card
      • Get Card Limits
      • Update Card Limits
      • Delete Card
    • Custom Fiat Operations
      • SEPA Deposit & Withdrawal
  • Integration
    • SDKs & Integration Guides
    • Transaction Processing
    • Error Handling
    • Rate Limiting
    • Webhooks
      • User & KYC Webhooks
        • User Balance Generation
        • KYC File Added
        • POA Verification Status
        • KYC Verification Status
      • Transfers & Payments Webhooks
        • P2P Transfer Webhook
        • SEPA Transfer
        • SEPA Deposit
        • Crypto Withdrawal
        • Crypto Deposit
        • Exchange
        • Card Transaction
      • Card Webhooks
        • Card 3DS Code
        • Card Activation Code
  • Reference
    • Supported Countries
    • Supported Currencies
    • Fees
    • FAQ
    • Changelog
    • Support
  1. Integration

Transaction Processing

This page explains the fundamental principle of how transactions (such as exchanges, withdrawals, and transfers) are processed in the P100 Partner API. Understanding this asynchronous, queue-based model is crucial for building a reliable and robust integration.

Our Asynchronous-First Approach#

To ensure high availability and performance, our API does not process transactions in real-time. Instead, every transaction request you send follows a consistent, asynchronous flow visualized below.

The Most Important Rule to Remember
A 2xx success response only confirms that your request was accepted into our processing queue. It does not mean the transaction was successful. Business logic errors, such as "Insufficient Funds," are only detected during the background processing stage.

How to Build a Resilient Integration#

To build a reliable system, you must track the final status of every transaction. Here’s how:
1. Use Webhooks (Recommended)
This is the most efficient method. Subscribe to our Webhooks, and we will send you a real-time notification as soon as a transaction reaches its final status (SUCCESSFUL or FAILED).
2. Poll for Status (Alternative)
If webhooks aren't an option, you can periodically call the relevant "Get Details" endpoint (e.g., GET /v1/exchange/details/:exchangeId) and check the status field in the response until it becomes final.
3. Design Your UI Accordingly
When a user initiates a transaction, immediately display a "Pending" or "Processing" state in your interface. Only update the UI to "Completed" or "Failed" after you receive the final status via a webhook or polling.

What's Next?
Now that you understand our asynchronous model, learn how to implement the recommended tracking method in our Webhooks Guide.
Previous
SDKs & Integration Guides
Next
Error Handling
Built with