Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.orkesta.com.tr/llms.txt

Use this file to discover all available pages before exploring further.

You can create payments via the Orkesta dashboard or programmatically through the API. This page covers both methods, along with batch payments, request field definitions, and how to cancel a payment before it is processed.

Via dashboard

1

Go to Payments → New payment

In the left sidebar, select Payments, then click New payment in the top-right corner.
2

Select the payment method

Choose from bank transfer, card, virtual account, EFT, or direct debit. Available methods depend on your workspace plan.
3

Fill in the payment details

Complete the following fields:
FieldDescription
From accountThe source account to debit.
To accountThe destination account to credit.
AmountPayment amount in the smallest currency unit (e.g., kuruş for TRY).
CurrencyISO 4217 currency code (e.g., TRY, USD, EUR).
ReferenceYour internal reference ID for reconciliation (e.g., an invoice number).
DescriptionHuman-readable note shown in statements.
4

Submit for processing or approval

Click Submit. If your workspace has an approval workflow configured, the payment enters pending status and waits for approver action. Otherwise, it moves directly to processing.

Via API

Send a POST request to /v1/payments with a JSON body describing the payment.
curl -X POST https://api.orkesta.com.tr/v1/payments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "TRY",
    "method": "bank_transfer",
    "from_account": "acc_01HXYZ",
    "to_account": "acc_01HABC",
    "description": "Vendor invoice #INV-2024-001",
    "reference": "INV-2024-001"
  }'
A successful response returns the new payment object:
{
  "id": "pay_01HXYZ123",
  "status": "pending",
  "created_at": "2024-11-15T09:42:00Z",
  "amount": 5000,
  "currency": "TRY",
  "method": "bank_transfer"
}

Request fields

amount
integer
required
Amount in the smallest currency unit (e.g., kuruş for TRY, cents for USD). Must be a positive integer.
currency
string
required
ISO 4217 currency code. Examples: TRY, USD, EUR. See Currency support for the full list.
method
string
required
Payment method to use. One of: bank_transfer, card, virtual_account, eft.
from_account
string
required
ID of the source account to debit (e.g., acc_01HXYZ).
to_account
string
required
ID of the destination account to credit (e.g., acc_01HABC).
description
string
Human-readable description shown in bank statements and the Orkesta dashboard.
reference
string
Your internal reference ID (e.g., invoice or purchase order number). Used to match this payment during reconciliation. Populate this field consistently to maximize automatic match rates.

Batch payments

To create multiple payments in a single API call, send a POST request to /v1/payments/batch with an array of payment objects.
curl -X POST https://api.orkesta.com.tr/v1/payments/batch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payments": [
      {
        "amount": 5000,
        "currency": "TRY",
        "method": "bank_transfer",
        "from_account": "acc_01HXYZ",
        "to_account": "acc_01HABC",
        "reference": "INV-2024-001"
      },
      {
        "amount": 12500,
        "currency": "TRY",
        "method": "bank_transfer",
        "from_account": "acc_01HXYZ",
        "to_account": "acc_01HDEF",
        "reference": "INV-2024-002"
      }
    ]
  }'
Batch requests support up to 500 payments per call. Payments in a batch are processed independently — a failure in one does not affect the others. The response includes an individual status for each payment.

Cancelling a payment

You can cancel a payment while it is in pending or approved status by sending a DELETE request to /v1/payments/{id}.
curl -X DELETE https://api.orkesta.com.tr/v1/payments/pay_01HXYZ123 \
  -H "Authorization: Bearer YOUR_API_KEY"
A successful cancellation returns HTTP 200 and updates the payment status to cancelled. Payments in processing, settled, or reconciled status cannot be cancelled.