Partner API
  1. Orders
Partner API
  • Getting Started
    • Introduction
    • Authentication
    • Business Use Cases
  • API References
    • Partner Operations
      • Get Balances
      • Create Wallet
      • Get Transaction History
      • Retrieve Exchange Rate and Create a Lock
      • Create and Finalize an Exchange
      • Retrieve Detailed Exchange Infromation
      • Create Crypto Withdrawal
      • Get Crypto Withdrawal Details
      • Create a SEPA Transfer
      • Get SEPA Transfer Details
    • User Accounts
      • Create User Account
      • Add KYC File
      • Add POA File
      • Add User Verification
      • Extend user
      • 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
    • Orders
      • Get Rates
        GET
      • Retrieve Order Rate and Create a Lock
        POST
      • Create and Finalize an Order
        POST
      • Get Order Details
        GET
    • Payment link
      • Generate Payment Link
      • Get Payment Link Details
  • 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
        • Create wallet
      • Transfers & Payments Webhooks
        • P2P Transfer Webhook
        • SEPA Transfer
        • SEPA Deposit
        • Crypto Withdrawal
        • Crypto Deposit
        • Exchange
        • Card Transaction
        • Order status
        • Payment Link
      • Card Webhooks
        • Card 3DS Code
        • Card Activation Code
  • Reference
    • Supported Countries
    • Supported Currencies
    • Fees
    • FAQ
    • Changelog
    • Support
  1. Orders

Create and Finalize an Order

Testing Env
https://partner-api-stage.p100.io
Testing Env
https://partner-api-stage.p100.io
POST
/v1/order
This function creates an order from a previously locked exchange rate (lockId) and initiates the transaction process. Upon receiving the payment and executing the order, the purchased cryptocurrency is automatically converted into the specified fiat currency.
The key feature of this endpoint is that wallet creation is asynchronous. This means that the full order details, such as the payment wallet address, are not available immediately after creating the order.

How It Works#

1.
You send a valid lockId in the request.
2.
The API provides an immediate response containing a unique orderId, confirming the order has been accepted.
3.
In the background, the system begins to generate a wallet. During this time, the order's status is WAITING_FOR_WALLET_ADDRESS.
4.
While this process is ongoing, calling the Get Order Details endpoint will return the WAITING_FOR_WALLET_ADDRESS status, and the walletAddress field will be null.
5.
As soon as the wallet is ready, a webhook is sent to your configured URL with the complete order details (including the wallet address) and an updated status.
6.
After the payment is confirmed on the generated wallet address, the order is executed, and the cryptocurrency is automatically sold and converted into fiat currency according to the terms of the locked rate.

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Body Params application/json

Examples

Responses

🟢201Created
application/json
Body

🟠400P403: Validation error
🟠400P500: Unknown exception
🟠400P501: Service temporarily unavailable
🟠401Access Denied
🟠404P462: Invalid order lock
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://partner-api-stage.p100.io/v1/order' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "lockId": "36e19a53-a1b4-499c-99f7-b7bfc6be87e4"
}'
Response Response Example
201 - Success
{
    "orderId": "663318af-7ea1-4c5a-8545-e433a2d43d5c"
}
Previous
Retrieve Order Rate and Create a Lock
Next
Get Order Details
Built with