Retrieve Payment Details
Overview
Retrieve payout details by paymentId, reconcile delayed or under-review payments, and avoid duplicate payout creation during RFI (Request for Information) handling.
This endpoint provides end-to-end visibility into the payment lifecycle, including amount, payout currency, current processing state, recipient target, fee breakdown, and transaction reference.
Resource Access
- HTTP Method:
GET - Endpoint:
/banking/ibans/v2/payments/{paymentId} - Authentication: Bearer token required
Request Headers
| Header | Value | Required | Description |
|---|---|---|---|
Authorization | Bearer {access_token} | Yes | JWT Bearer access token |
Accept | application/json | Yes | Response payload format |
x-api-key | string | No | Optional API key |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
paymentId | string | Yes | The unique identifier for the payment you wish to retrieve (e.g. 807e02f5-7235-4826-aef5-d93c75216b48). |
Response
Success Response (200 OK)
{
"paymentId": "807e02f5-7235-4826-aef5-d93c75216b48",
"reference": "TO-29072023-114",
"amount": 500,
"currency": "USD",
"state": "completed",
"type": "credit",
"target": "account",
"targetId": 21688,
"walletId": 12582,
"userRecordId": 2669,
"purpose": "Purchase of Professional Service(s)",
"description": null,
"pricing": {
"overageFee": 0,
"subscriptionId": null,
"usageId": null
}
}
Response Fields (PaymentIdResponse)
| Field | Type | Description |
|---|---|---|
paymentId | string | Unique UUID identifying the payment transaction. |
reference | string | Transaction reference number (e.g. TO-29072023-114). |
amount | number | Payment amount. |
currency | string | 3-letter ISO currency code. |
state | string | Execution state (e.g. pending, processing, completed, failed, under_review). |
type | string | Transaction flow type (credit or debit). |
target | string | Payout destination type (account or wallet). |
targetId | integer | Identifier of the target beneficiary account or wallet. |
walletId | integer | Originating wallet identifier. |
userRecordId | integer | Identifier of the user record executing the payout. |
purpose | string | Purpose of payment classification. |
description | string | Optional description or narrative text. |
pricing | object | Fee and pricing breakdown associated with the payment. |
pricing.overageFee | number | Overage or surcharged fees applied to this payout. |
Error Responses
- 400 Bad Request: Invalid
paymentIdformat. - 401 Unauthorized: Missing or expired Bearer token.
- 403 Forbidden: Insufficient permissions to access this payment record.
- 404 Not Found: No payment found with the provided
paymentId. - 500 Internal Server Error: Internal server error.
Code Examples
Base URL
Production: https://api.ahrvo.network
Staging: https://gateway.ahrvo.network
cURL
curl -X GET \
'https://gateway.ahrvo.network/banking/ibans/v2/payments/807e02f5-7235-4826-aef5-d93c75216b48' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Accept: application/json'
Python
import requests
payment_id = "807e02f5-7235-4826-aef5-d93c75216b48"
url = f"https://gateway.ahrvo.network/banking/ibans/v2/payments/{payment_id}"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Accept": "application/json"
}
response = requests.get(url, headers=headers)
print(response.status_code, response.json())
JavaScript (Node.js)
const axios = require('axios');
const paymentId = '807e02f5-7235-4826-aef5-d93c75216b48';
const url = `https://gateway.ahrvo.network/banking/ibans/v2/payments/${paymentId}`;
const headers = {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Accept': 'application/json'
};
axios.get(url, { headers })
.then(res => console.log(res.data))
.catch(err => console.error(err.response ? err.response.data : err.message));