Get a payin
curl --request GET \
--url https://staging.api.krypta-pay.com/v1/payins/{reference} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging.api.krypta-pay.com/v1/payins/{reference}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://staging.api.krypta-pay.com/v1/payins/{reference}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.krypta-pay.com/v1/payins/{reference}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"ok": true,
"data": {
"reference": "tx_3Jk9QwErTy7uIoPa2Sd",
"status": "COMPLETED",
"amount": "5000",
"currency": "XOF",
"network": "MTN_BJ",
"checkoutUrl": null,
"expiresAt": "2026-10-27T10:30:00.000Z",
"initiatedAt": "2026-10-27T10:15:00.000Z",
"settledAt": "2026-10-27T10:16:05.000Z"
}
}{
"ok": false,
"error": {
"code": "unauthorized",
"message": "Invalid or expired API key"
}
}{
"ok": false,
"error": {
"code": "kyb_required",
"message": "Your organization must complete KYB verification."
}
}{
"ok": false,
"error": {
"code": "not_found",
"message": "Payout not found"
}
}{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded, retry in 1 minute"
}
}Payins
Get a payin
Returns the current status of a payin, by reference (tx_…) or id. Use it to confirm a webhook before fulfilling an order.
GET
/
v1
/
payins
/
{reference}
Get a payin
curl --request GET \
--url https://staging.api.krypta-pay.com/v1/payins/{reference} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging.api.krypta-pay.com/v1/payins/{reference}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://staging.api.krypta-pay.com/v1/payins/{reference}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.krypta-pay.com/v1/payins/{reference}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"ok": true,
"data": {
"reference": "tx_3Jk9QwErTy7uIoPa2Sd",
"status": "COMPLETED",
"amount": "5000",
"currency": "XOF",
"network": "MTN_BJ",
"checkoutUrl": null,
"expiresAt": "2026-10-27T10:30:00.000Z",
"initiatedAt": "2026-10-27T10:15:00.000Z",
"settledAt": "2026-10-27T10:16:05.000Z"
}
}{
"ok": false,
"error": {
"code": "unauthorized",
"message": "Invalid or expired API key"
}
}{
"ok": false,
"error": {
"code": "kyb_required",
"message": "Your organization must complete KYB verification."
}
}{
"ok": false,
"error": {
"code": "not_found",
"message": "Payout not found"
}
}{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded, retry in 1 minute"
}
}Authorizations
Secret API key from Dashboard → Developers: kp_sandbox_… for Sandbox, kp_live_… for Production. Server-side only.
Path Parameters
⌘I
