Skip to content

Get payment status

GET
/payment/status/{orderId}
curl --request GET \
--url https://api.pipevest.com/v1/payment/status/clx0a1b2c3d4e5f6g7h8i9j0k \
--header 'Authorization: Bearer <token>' \
--header 'x-client-id: <x-client-id>'

Returns the status of the collection (C2B, payment) and/or disbursement (B2C, disbursement) for an order. Poll this endpoint to learn a payment outcome — signed outbound webhooks are not available yet.

orderId
required
string
Example
clx0a1b2c3d4e5f6g7h8i9j0k

Order identifier (CUID string).

Transaction status

Media typeapplication/json
object
message
string
data
object
orderId
string
payment
object
id
string
type

INCOMING = C2B collection, OUTGOING = B2C disbursement.

string
Allowed values: INCOMING OUTGOING
amount
string
currency
string
status
string
Allowed values: PENDING PROCESSING CONFIRMED FAILED EXPIRED
provider
string
Allowed values: ZAMTEL MTN AIRTEL
telcoTransactionId
string
nullable
telcoConversationId
string
nullable
confirmedAt
string format: date-time
nullable
failedAt
string format: date-time
nullable
failureReason
string
nullable
createdAt
string format: date-time
disbursement
object
id
string
type

INCOMING = C2B collection, OUTGOING = B2C disbursement.

string
Allowed values: INCOMING OUTGOING
amount
string
currency
string
status
string
Allowed values: PENDING PROCESSING CONFIRMED FAILED EXPIRED
provider
string
Allowed values: ZAMTEL MTN AIRTEL
telcoTransactionId
string
nullable
telcoConversationId
string
nullable
confirmedAt
string format: date-time
nullable
failedAt
string format: date-time
nullable
failureReason
string
nullable
createdAt
string format: date-time
Example
{
"message": "Transaction status retrieved successfully",
"data": {
"orderId": "clx0a1b2c3d4e5f6g7h8i9j0k",
"payment": {
"id": "clpaya1b2c3d4e5f6g7h8i9j0",
"type": "INCOMING",
"amount": "150.00",
"currency": "ZMW",
"status": "PENDING",
"provider": "ZAMTEL"
},
"disbursement": {
"id": "clpaya1b2c3d4e5f6g7h8i9j0",
"type": "INCOMING",
"amount": "150.00",
"currency": "ZMW",
"status": "PENDING",
"provider": "ZAMTEL"
}
}
}

Authentication failed

Media typeapplication/json
object
error
string
message
string
Example
{
"error": "Unauthorized",
"message": "Invalid organization authentication token"
}

No payment or disbursement found for the order

Media typeapplication/json
object
error
string
message
string
Example
{
"error": "Transaction not found",
"message": "No payment or disbursement transaction found for order clx0a1b2c3d4e5f6g7h8i9j0k"
}

Server error

Media typeapplication/json
object
error
string
message
string
Example
{
"error": "Unauthorized",
"message": "Invalid organization authentication token"
}