Base URLs & Request Format

Base URLs

EnvironmentURLUse Case
Productionhttps://api.inflowpay.xyzLive transactions
Card Paymentshttps://api-card.inflowpay.comServer-to-server card payments (send card data here)

When processing card data server-to-server, always use api-card.inflowpay.com instead of the standard API URL. This ensures PCI-compliant handling of card information.

Request Format

All API requests use JSON for both request and response bodies.

Headers

HeaderRequiredDescription
Content-TypeYes (for POST/PUT/PATCH)Always application/json
AcceptRecommendedapplication/json
X-Inflow-Api-KeyYesYour private API key

Example Request

curl -X POST https://api.inflowpay.xyz/api/checkout/payment \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "X-Inflow-Api-Key: inflow_priv_your_key" \
  -d '{
    "products": [{ "name": "Product", "price": 4999, "quantity": 1 }],
    "currency": "EUR",
    "customerEmail": "[email protected]",
    "successUrl": "https://yoursite.com/success"
  }'

Example Response

{
  "paymentId": "pay_abc123",
  "purchaseUrl": "https://checkout.inflowpay.com/pay/pay_abc123"
}

HTTP Methods

MethodUsage
GETRetrieve resources (payments, subscriptions, links)
POSTCreate resources or perform actions
PATCHPartially update a resource
PUTFully update a resource
DELETEDelete a resource or cancel a subscription

HTTP Status Codes

CodeMeaning
200Success (GET, PATCH, PUT, DELETE)
201Created (POST)
400Bad Request — Invalid parameters
401Unauthorized — Invalid or missing API key
404Not Found — Resource doesn't exist
500Internal Server Error — Something went wrong on our side

Error Response Format

All errors return a consistent JSON structure:

{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request"
}

For validation errors, message may be an array of error strings:

{
  "statusCode": 400,
  "message": [
    "currency must be one of the following values: EUR, USD",
    "customerEmail must be an email"
  ],
  "error": "Bad Request"
}