APM Payout Status & Info

Retrieve the full state of an APM payout — including status, decline reason, and provider-specific data.

Overview

Use the APM Payout Info endpoint to fetch the complete payout state.

Use this endpoint when:

  • A webhook was not received
  • You need to verify payout completion
  • You need full details for reconciliation or support

The response payload matches the webhook callback. Use polling only as a fallback.


Endpoint

GET /api/v1/payouts/apm/info/{id}

Retrieve full details of an APM payout transaction.


Headers

HeaderValue
AuthorizationBearer {token}

Path Parameters

ParameterTypeDescription
idStringUnique payout transaction identifier

Important Notes

Use /info, not /status

  • /info/{id} returns declineCode and declineSubReason on failure
  • Status-only endpoints do not include decline details

Key Response Fields

FieldDescription
transactionIdUnique payout transaction identifier
requestIdOriginal request ID
transactionStatusCurrent status (PROCESSING, SUCCEED, FAILED)
declineCodeDecline reason (present on failure)
declineSubReasonAdditional failure context
apmRequestPayloadOriginal APM payload
apmResponseDataProvider-specific response data
createdAtISO 8601 timestamp

Full Response Fields

FieldTypeDescription
transactionIdStringUnique transaction identifier
requestIdStringIdempotency key
accountIdIntegerMerchant account ID (APM equivalent of mid)
transactionStatusStringCurrent status
declineCodeIntegerDecline reason (only when FAILED)
declineSubReasonStringAdditional decline details
apmRequestPayloadObjectOriginal APM payload
apmResponseDataObjectProvider-specific response
callbackUrlStringWebhook URL for final result
billingDetailsObjectCustomer billing details
orderObjectOrder-related data
createdAtStringISO 8601 timestamp
metadataMapCustom key-value data

Example Response

{
  "transactionId": "123456789",
  "requestId": "req-abc-123",
  "accountId": 1001,
  "transactionStatus": "FAILED",
  "declineCode": 101,
  "declineSubReason": "Invalid account details",
  "apmRequestPayload": {
    "paymentMethod": "EFT",
    "account": "123456789"
  },
  "apmResponseData": {
    "providerTransactionId": "prov-789"
  },
  "callbackUrl": "https://merchant.com/webhook",
  "createdAt": "2026-04-24T10:15:30Z",
  "metadata": {
    "payoutId": "PO-123"
  }
}

Error Responses

HTTP StatusDescription
400Bad Request — missing or invalid parameters
401Unauthorized — missing or invalid token
404Not Found — payout does not exist
500Internal Server Error — retry with backoff

Best Practices

  • Treat webhooks as the primary source of truth
  • Use /info only as a fallback
  • Always check declineCode and declineSubReason when status is FAILED
  • Store transactionId and requestId for reconciliation
  • Stop polling after terminal status