Get Session¶
Returns one session for your tenant.
Swagger documentation:
https://swagger-ui.aws-prod.billtrust.com/?urls.primaryName=BTPay%20ExtendPay%20Service%20v1
Endpoint: GET https://arc-aegis.billtrust.com/btpay-extendpay/v1/tenants/{tenantId}/sessions/{extendPaySessionId}
Use this after create, when the buyer returns to onCompleteUrl, or to confirm a webhook.
Path parameters¶
| Parameter | Description |
|---|---|
tenantId |
Your Billtrust tenant id |
extendPaySessionId |
Id returned by Create session |
Example request¶
curl -X GET 'https://arc-aegis.billtrust.com/btpay-extendpay/v1/tenants/{tenantId}/sessions/{extendPaySessionId}' \
-H 'accept: application/json'
Response body¶
The same shape is used for Get, List items, and webhook data.
| Field | Type | Description |
|---|---|---|
extendPaySessionId |
string | Session id |
status |
string | Open, Failed, or Complete |
sourceType |
string | Value from create |
accountNumber |
string | Buyer account number from create |
user |
object | User from create |
user.email |
string | |
user.firstName |
string | null | First name, if provided |
user.lastName |
string | null | Last name, if provided |
onCompleteUrl |
string | Return URL from create |
createdAt |
string (date-time) | Created time (UTC) |
updatedAt |
string (date-time) | Last update (UTC) |
paymentReference |
string | null | Present after successful completion when available |
transactions |
array | Payment transactions. Empty until complete |
Transaction (transactions[])¶
| Field | Type | Description |
|---|---|---|
status |
string | Transaction status (for example Complete) |
totalAmount |
number | Transaction total |
currencyCode |
string | Currency code (for example USD) |
transactionReference |
string | Transaction reference |
paymentDate |
string (date-time) | null | Payment time (UTC) when available |
scheduled |
boolean | true if scheduled for later |
paymentAccountDisplayName |
string | null | Display name of the payment method |
invoices |
object | { "items": [ ... ] } |
statements |
object | { "items": [ ... ] } |
Invoice on a transaction (transactions[].invoices.items[])¶
| Field | Type | Description |
|---|---|---|
invoiceNumber |
string | Invoice number |
totalDue |
number | Amount due |
dueDate |
string | null | yyyy-MM-dd |
billDate |
string | null | yyyy-MM-dd |
amountApplied |
number | Amount applied |
appliedDiscount |
number | Discount applied |
isShortPay |
boolean | Short-paid |
isOverPay |
boolean | Over-paid |
Statement on a transaction (transactions[].statements.items[])¶
Same fields as invoices, without invoiceNumber.
Example — Open¶
{
"extendPaySessionId": "c0ffee00-0000-4000-8000-000000000001",
"status": "Open",
"sourceType": "supplierPortal",
"accountNumber": "ACCT-100",
"user": {
"email": "buyer@example.com",
"firstName": "Ada",
"lastName": "Lovelace"
},
"onCompleteUrl": "https://supplier.example/return",
"createdAt": "2026-08-11T15:00:00Z",
"updatedAt": "2026-08-11T15:00:00Z",
"paymentReference": null,
"transactions": []
}
Example — Complete¶
{
"extendPaySessionId": "c0ffee00-0000-4000-8000-000000000001",
"status": "Complete",
"sourceType": "supplierPortal",
"accountNumber": "ACCT-100",
"user": {
"email": "buyer@example.com",
"firstName": "Ada",
"lastName": "Lovelace"
},
"onCompleteUrl": "https://supplier.example/return",
"createdAt": "2026-08-11T15:00:00Z",
"updatedAt": "2026-08-11T15:12:04Z",
"paymentReference": "pay-ref-1",
"transactions": [
{
"status": "Complete",
"totalAmount": 175.0,
"currencyCode": "USD",
"transactionReference": "txn-1",
"paymentDate": "2026-08-11T15:11:30Z",
"scheduled": false,
"paymentAccountDisplayName": "Visa ••4242",
"invoices": {
"items": [
{
"invoiceNumber": "INV-100",
"totalDue": 100.0,
"dueDate": "2026-09-15",
"billDate": "2026-08-01",
"amountApplied": 100.0,
"appliedDiscount": 0.0,
"isShortPay": false,
"isOverPay": false
}
]
},
"statements": {
"items": [
{
"totalDue": 75.0,
"dueDate": "2026-09-20",
"billDate": "2026-08-05",
"amountApplied": 75.0,
"appliedDiscount": 5.0,
"isShortPay": true,
"isOverPay": false
}
]
}
}
]
}
Notes¶
- Unknown or wrong-tenant session ids return 404.
- While checkout is in progress, expect
Openwith an emptytransactionsarray. - Prefer webhook delivery plus one confirmatory GET over high-frequency polling.
Errors¶
| HTTP status | Description |
|---|---|
| 400 | Invalid request |
| 404 | Session not found |
| 500 | Unexpected error |
| 504 | Request timed out |
See Errors.