Payments
Create, capture, cancel, refund, and search payments across every supported rail.
Overview
A payment moves through requires_action → processing → succeeded (or failed). The lifecycle is identical across cards, mobile wallets, and bank transfers.
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v1/payments | Create a new payment. |
| GET | /v1/payments/{id} | Retrieve a payment. |
| POST | /v1/payments/{id}/capture | Capture an authorized payment. |
| POST | /v1/payments/{id}/cancel | Void a pending authorization. |
| POST | /v1/payments/{id}/refund | Refund a captured payment (partial or full). |
| GET | /v1/payments | List with filters: status, customer, created range. |
POST /v1/payments
POST/v1/payments
Create a new payment.
| Field | Type | Description |
|---|---|---|
amountreq | int | Minor units. |
currencyreq | 'HTG' | 'USD' | ISO-4217. |
customer | string | Attach to an existing customer. |
capture_method | 'automatic' | 'manual' | Manual authorizes only; call /capture to settle. |
description | string | Shown on the receipt. |
metadata | object | Key/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
API v1
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"
}'