Skip to content

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 Email
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 Open with an empty transactions array.
  • 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.