Get Payment by External ID
Query the full details of a payment including its lifecycle history, fees, and card information.
Endpoint
GET https://{FQDN}/payments/{externalPaymentId}
Headers:
| Header | Value |
|---|---|
Authorization | Bearer {accessToken} |
Example Request
curl -X GET https://{FQDN}/payments/order-12345 \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...'
Response (200)
{
"parentPaymentId": "9a8dd6f3-105c-40a9-be13-ed95b2b2274b",
"externalId": "order-12345",
"requestedOn": "2025-01-21 17:15:14",
"capturedOn": "2025-01-18 14:59:53",
"refundedOn": "2025-01-21 17:15:14",
"amount": 57.00,
"capturedAmount": 57.00,
"refundedAmount": 57.00,
"amountRequested": 57.00,
"currency": "USD",
"status": "REFUNDED",
"approved": true,
"billing": {
"stateCode": "FL",
"city": "Orlando",
"line1": "12516 Britwell Ct",
"state": "FL",
"zipCode": "32837"
},
"ipAddress": "203.0.113.42",
"customer": {
"firstName": "MIKE",
"lastName": "JOSEPH",
"phoneNumber": "+1231232123",
"email": "mike.joseph@example.com"
},
"transactionFees": [
{
"sourceId": "9a8dd6f3-...",
"source": "PAYMENT",
"eventId": "PRE_AUTH",
"dtCreated": "2025-01-18 14:59:48",
"amount": 0.57
},
{
"sourceId": "0e444b74-...",
"source": "PAYMENT",
"eventId": "CAPTURE",
"dtCreated": "2025-01-18 14:59:53",
"amount": 0.00
},
{
"sourceId": "9989afba-...",
"source": "PAYMENT",
"eventId": "REFUND",
"dtCreated": "2025-01-21 17:15:14",
"amount": 0.00
}
],
"history": [
{
"paymentId": "9a8dd6f3-...",
"requestedOn": "2025-01-18 14:59:47",
"code": "PAYMENT",
"status": "AUTHORIZED",
"description": "Payment Approved",
"requestedAmount": 57.00
},
{
"paymentId": "0e444b74-...",
"requestedOn": "2025-01-18 14:59:53",
"code": "CAPTURE",
"status": "CAPTURED",
"description": "Payment Approved",
"requestedAmount": 57.00
},
{
"paymentId": "9989afba-...",
"requestedOn": "2025-01-21 17:15:14",
"code": "REFUND",
"status": "REFUNDED",
"description": "Payment Approved",
"requestedAmount": 57.00
}
],
"card": {
"lastFourDigits": "2929",
"bin": "479213",
"schemeId": "VISA",
"issuer": "TD BANK, NATIONAL ASSOCIATION",
"country": "UNITED STATES",
"countryCode": "US",
"cardType": "DEBIT",
"cardCategory": "CLASSIC",
"currencyCode": "USD"
}
}
Response Fields
Root
| Field | Type | Description |
|---|---|---|
parentPaymentId | string | Root payment ID |
externalId | string | Your external payment ID |
requestedOn | string | Timestamp of the most recent operation |
capturedOn | string | Capture timestamp (null if not captured) |
refundedOn | string | Refund timestamp (null if not refunded) |
amount | number | Original authorized amount |
capturedAmount | number | Amount that was captured |
refundedAmount | number | Amount that was refunded |
currency | string | ISO 4217 currency code |
status | string | Current payment status |
approved | boolean | Whether the payment was approved |
transactionFees[]
| Field | Description |
|---|---|
eventId | Fee event: PRE_AUTH, CAPTURE, REFUND |
amount | Fee amount for this event |
dtCreated | When the fee was incurred |
history[]
| Field | Description |
|---|---|
paymentId | ID of the specific operation |
code | Operation type: PAYMENT, CAPTURE, REFUND |
status | Status after this operation |
requestedAmount | Amount for this operation |
card
| Field | Description |
|---|---|
lastFourDigits | Last 4 digits of the card |
bin | Bank Identification Number (first 6 digits) |
schemeId | Card network: VISA, MASTERCARD, etc. |
issuer | Issuing bank name |
cardType | DEBIT or CREDIT |
cardCategory | Card tier (e.g., CLASSIC, GOLD, PLATINUM) |
v2 — Enriched Payment Lookup
The v2 endpoint returns the same payment object as v1, plus additional card metadata and billing detail useful for fraud review and reconciliation. Prefer v2 when you need the AVS/CVC outcome or the full BIN-level card profile alongside the payment.
GET https://{FQDN}/v2/payment/{externalId}
Headers:
| Header | Value |
|---|---|
Authorization | Bearer {accessToken} |
Example Request
curl -X GET https://{FQDN}/v2/payment/order-12345 \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...'
Additional Fields in v2
The root object, transactionFees[], history[], and customer are identical to v1. The differences are:
billing — adds countryCode (ISO country code) alongside the existing stateCode, city, line1, line2, state, and zipCode.
card — adds the following fields on top of the v1 set:
| Field | Description |
|---|---|
binNumber | Full BIN range identifier (extended bin) |
country | Issuing country name |
countryCode | Issuing country (ISO Alpha-2) |
countryCode3 | Issuing country (ISO Alpha-3) |
currencyCode | Card's native currency |
avsStatus | Address Verification result recorded for the payment (APPROVED, FAILED, NOT_SENT, N/A) |
cvcStatus | Card Verification result recorded for the payment (APPROVED, FAILED, NOT_SENT, N/A) |
{
"card": {
"lastFourDigits": "2929",
"bin": "479213",
"binNumber": "47921300",
"schemeId": "VISA",
"issuer": "TD BANK, NATIONAL ASSOCIATION",
"country": "UNITED STATES",
"countryCode": "US",
"countryCode3": "USA",
"cardType": "DEBIT",
"cardCategory": "CLASSIC",
"currencyCode": "USD",
"avsStatus": "APPROVED",
"cvcStatus": "APPROVED"
}
}
Migration note: v2 is additive — every field present in the v1 response is still returned with the same name and type, so an existing v1 integration can switch to v2 without breaking.
