Skip to main content

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

HeaderValueRequiredDescription
AuthorizationBearer {access_token}YesJWT Bearer access token
Acceptapplication/jsonYesResponse payload format
x-api-keystringNoOptional API key

Path Parameters

ParameterTypeRequiredDescription
paymentIdstringYesThe 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)

FieldTypeDescription
paymentIdstringUnique UUID identifying the payment transaction.
referencestringTransaction reference number (e.g. TO-29072023-114).
amountnumberPayment amount.
currencystring3-letter ISO currency code.
statestringExecution state (e.g. pending, processing, completed, failed, under_review).
typestringTransaction flow type (credit or debit).
targetstringPayout destination type (account or wallet).
targetIdintegerIdentifier of the target beneficiary account or wallet.
walletIdintegerOriginating wallet identifier.
userRecordIdintegerIdentifier of the user record executing the payout.
purposestringPurpose of payment classification.
descriptionstringOptional description or narrative text.
pricingobjectFee and pricing breakdown associated with the payment.
pricing.overageFeenumberOverage or surcharged fees applied to this payout.

Error Responses

  • 400 Bad Request: Invalid paymentId format.
  • 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));

Interactive API Explorer