Skip to content

Payments

Create, capture, cancel, refund, and search payments across every supported rail.

Updated Jul 15, 2026API 2026-07-01 Edit on GitHubReport an issue

Overview

A payment moves through requires_action → processing → succeeded (or failed). The lifecycle is identical across cards, mobile wallets, and bank transfers.

Endpoints

MethodPathDescription
POST/v1/paymentsCreate a new payment.
GET/v1/payments/{id}Retrieve a payment.
POST/v1/payments/{id}/captureCapture an authorized payment.
POST/v1/payments/{id}/cancelVoid a pending authorization.
POST/v1/payments/{id}/refundRefund a captured payment (partial or full).
GET/v1/paymentsList with filters: status, customer, created range.

POST /v1/payments

POST/v1/payments

Create a new payment.

FieldTypeDescription
amountreq
intMinor units.
currencyreq
'HTG' | 'USD'ISO-4217.
customer
stringAttach to an existing customer.
capture_method
'automatic' | 'manual'Manual authorizes only; call /capture to settle.
description
stringShown on the receipt.
metadata
objectKey/value pairs stored with the payment (≤50 keys).
{ "id": "pay_01HT3M9…", "status": "succeeded", "amount": 250000, "currency": "HTG" }

GET /v1/payments/{id}

GET/v1/payments/{id}

Retrieve a payment.

POST /v1/payments/{id}/capture

POST/v1/payments/{id}/capture

Capture an authorized payment.

POST /v1/payments/{id}/cancel

POST/v1/payments/{id}/cancel

Void a pending authorization.

POST /v1/payments/{id}/refund

POST/v1/payments/{id}/refund

Refund a captured payment (partial or full).

GET /v1/payments

GET/v1/payments

List with filters: status, customer, created range.

SDK example

curl -X POST https://api.korvenone.com/v1/payments \
  -H "Authorization: Bearer sk_live_..." \
  -H "Idempotency-Key: 4f3c0e2a-2b6f-4c" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 250000,
    "currency": "HTG",
    "customer": "cus_9a2b",
    "description": "Order #1042",
    "capture_method": "automatic"
  }'