# Transaction Lookup & Reporting

##

<figure><img src="https://1759075701-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIS9AkCawNWrhCXwEyUbh%2Fuploads%2FOgmHAPtT5nzsLmavRnqf%2Fmedium.png?alt=media&#x26;token=0f8a4ca4-c1dc-4c0b-a09b-0b71576f08e4" alt=""><figcaption></figcaption></figure>

## <mark style="color:blue;">GetCardTrx</mark>

**Endpoint URL:**\
`https://secure.ftipgw.com/admin/ws/trxdetail.asmx?op=GetCardTrx`

**Method:**\
Supports **SOAP POST** and **HTTP POST** (form-encoded)

**Description:**\
Retrieves detailed information about credit card transactions for a given date range or based on specific search criteria. This is commonly used for transaction reconciliation, reporting, or customer support queries.

Request Parameters

| Parameter    | Type   | Required    | Description                                                    |
| ------------ | ------ | ----------- | -------------------------------------------------------------- |
| UserName     | string | Yes         | Admin username                                                 |
| Password     | string | Yes         | Admin password                                                 |
| Vendor       | string | Yes         | Merchant numeric key                                           |
| BeginDt      | string | Conditional | Start date (MM/DD/YYYY) — required unless filtering by PNRef   |
| EndDt        | string | Conditional | End date (MM/DD/YYYY) — required unless filtering by PNRef     |
| PNRef        | string | Conditional | Platform reference number; overrides date filtering if present |
| ApprovalCode | string | No          | Filter by approval code                                        |
| Result       | string | No          | Filter by result code                                          |
| NameOnCard   | string | No          | Filter by cardholder name                                      |
| Amount       | string | No          | Filter by transaction amount                                   |
| ExtData      | string | No          | Optional XML-formatted metadata                                |

***

### Notes

* **Flexible search options:**\
  You can filter by:
  * A date range (`BeginDt` and `EndDt`)
  * A specific transaction reference (`PNRef`)
  * Or additional fields like `ApprovalCode`, `NameOnCard`, `Result`, or `Amount`
* **When PNRef is provided:**\
  If `PNRef` is included, it takes precedence over the date filters — only the referenced transaction will be returned.
* **Response structure:**\
  Returns one or more `RecurringResult` records containing key transaction data: `PNRef`, `Result`, `AuthCode`, `Message`, `TransType`, `CardType`, `Amount`, `CreateDate`, and more.
* **Use cases:**
  * Transaction-level auditing
  * Customer dispute support
  * Internal reporting and reconciliation
  * Troubleshooting failed or duplicate charges
* **ExtData support:**\
  Allows passing of additional search qualifiers or logging flags, depending on your integration.

#### SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://demo.tpisoft.com/Admin/ws/GetCardTrx"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCardTrx xmlns="http://demo.tpisoft.com/Admin/ws">
      <UserName>string</UserName>
      <Password>string</Password>
      <RPNum>string</RPNum>
      <PNRef>string</PNRef>
      <BeginDt>string</BeginDt>
      <EndDt>string</EndDt>
      <PaymentType>string</PaymentType>
      <ExcludePaymentType>string</ExcludePaymentType>
      <TransType>string</TransType>
      <ExcludeTransType>string</ExcludeTransType>
      <ApprovalCode>string</ApprovalCode>
      <Result>string</Result>
      <ExcludeResult>string</ExcludeResult>
      <NameOnCard>string</NameOnCard>
      <CardNum>string</CardNum>
      <CardType>string</CardType>
      <ExcludeCardType>string</ExcludeCardType>
      <ExcludeVoid>string</ExcludeVoid>
      <User>string</User>
      <invoiceId>string</invoiceId>
      <SettleFlag>string</SettleFlag>
      <SettleMsg>string</SettleMsg>
      <SettleDt>string</SettleDt>
      <TransformType>string</TransformType>
      <Xsl>string</Xsl>
      <ColDelim>string</ColDelim>
      <RowDelim>string</RowDelim>
      <IncludeHeader>string</IncludeHeader>
      <ExtData>string</ExtData>
    </GetCardTrx>
  </soap:Body>
</soap:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCardTrxResponse xmlns="http://demo.tpisoft.com/Admin/ws">
      <GetCardTrxResult>string</GetCardTrxResult>
    </GetCardTrxResponse>
  </soap:Body>
</soap:Envelope>
```

#### HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx/GetCardTrx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

UserName=string&Password=string&RPNum=string&PNRef=string&BeginDt=string&EndDt=string&PaymentType=string&ExcludePaymentType=string&TransType=string&ExcludeTransType=string&ApprovalCode=string&Result=string&ExcludeResult=string&NameOnCard=string&CardNum=string&CardType=string&ExcludeCardType=string&ExcludeVoid=string&User=string&invoiceId=string&SettleFlag=string&SettleMsg=string&SettleDt=string&TransformType=string&Xsl=string&ColDelim=string&RowDelim=string&IncludeHeader=string&ExtData=string
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://demo.tpisoft.com/Admin/ws">string</string>
```

## <mark style="color:blue;">GetCardTrxSummary</mark>

**Endpoint URL:**\
`https://secure.ftipgw.com/admin/ws/trxdetail.asmx?op=GetCardTrxSummary`

**Method:**\
Supports **SOAP POST** and **HTTP POST** (form-encoded)

**Description:**\
Retrieves a summarized report of credit card transactions over a specified date range. This endpoint returns aggregate totals grouped by transaction type, result, and card type, making it ideal for high-level reporting and reconciliation.

***

### Request Parameters

| Parameter | Type   | Required | Description                                    |
| --------- | ------ | -------- | ---------------------------------------------- |
| UserName  | string | Yes      | Admin username                                 |
| Password  | string | Yes      | Admin password                                 |
| Vendor    | string | Yes      | Merchant numeric key                           |
| BeginDt   | string | Yes      | Start date for the summary period (MM/DD/YYYY) |
| EndDt     | string | Yes      | End date for the summary period (MM/DD/YYYY)   |
| ExtData   | string | No       | Optional XML-formatted metadata                |

***

### Notes

* **Summarized vs. Detailed:**\
  Unlike `GetCardTrx`, this endpoint does **not return individual transactions** — instead, it provides **aggregated totals** such as:
  * Total number of transactions
  * Total amount by result type (e.g., approved, declined)
  * Breakdown by card type (Visa, MasterCard, etc.)
  * Totals by transaction type (Sale, Credit, Auth, etc.)
* **Use cases:**
  * Daily or monthly reconciliation
  * Dashboard summaries for business operations
  * Spot-checking performance or charge volume
  * Exporting totals for accounting systems
* **Efficient and lightweight:**\
  Because it returns aggregates only, the response payload is smaller and faster to process than full transaction logs.
* **ExtData field:**\
  This can be used to pass custom reporting tags or flags, though it is optional.

#### SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://demo.tpisoft.com/Admin/ws/GetCardTrxSummary"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCardTrxSummary xmlns="http://demo.tpisoft.com/Admin/ws">
      <UserName>string</UserName>
      <Password>string</Password>
      <RPNum>string</RPNum>
      <BeginDt>string</BeginDt>
      <EndDt>string</EndDt>
      <ApprovalCode>string</ApprovalCode>
      <Register>string</Register>
      <NameOnCard>string</NameOnCard>
      <CardNum>string</CardNum>
      <CardType>string</CardType>
      <ExcludeVoid>string</ExcludeVoid>
      <User>string</User>
      <SettleFlag>string</SettleFlag>
      <SettleMsg>string</SettleMsg>
      <SettleDt>string</SettleDt>
      <TransformType>string</TransformType>
      <Xsl>string</Xsl>
      <ColDelim>string</ColDelim>
      <RowDelim>string</RowDelim>
      <IncludeHeader>string</IncludeHeader>
      <ExtData>string</ExtData>
    </GetCardTrxSummary>
  </soap:Body>
</soap:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCardTrxSummaryResponse xmlns="http://demo.tpisoft.com/Admin/ws">
      <GetCardTrxSummaryResult>string</GetCardTrxSummaryResult>
    </GetCardTrxSummaryResponse>
  </soap:Body>
</soap:Envelope>
```

#### HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx/GetCardTrxSummary HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

UserName=string&Password=string&RPNum=string&BeginDt=string&EndDt=string&ApprovalCode=string&Register=string&NameOnCard=string&CardNum=string&CardType=string&ExcludeVoid=string&User=string&SettleFlag=string&SettleMsg=string&SettleDt=string&TransformType=string&Xsl=string&ColDelim=string&RowDelim=string&IncludeHeader=string&ExtData=string
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://demo.tpisoft.com/Admin/ws">string</string>
```

## <mark style="color:blue;">GetCheckTrx</mark>

**Endpoint URL:**\
`https://secure.ftipgw.com/admin/ws/trxdetail.asmx?op=GetCheckTrx`

**Method:**\
Supports **SOAP POST** and **HTTP POST** (form-encoded)

**Description:**\
Retrieves detailed information about check (ACH) transactions processed through the system. The endpoint supports filtering by date range or specific reference number, and is useful for auditing, reporting, or investigating specific ACH transactions.

***

### Request Parameters

| Parameter   | Type   | Required    | Description                                                   |
| ----------- | ------ | ----------- | ------------------------------------------------------------- |
| UserName    | string | Yes         | Admin username                                                |
| Password    | string | Yes         | Admin password                                                |
| Vendor      | string | Yes         | Merchant numeric key                                          |
| BeginDt     | string | Conditional | Start date (MM/DD/YYYY); required unless using PNRef          |
| EndDt       | string | Conditional | End date (MM/DD/YYYY); required unless using PNRef            |
| PNRef       | string | Conditional | Platform reference number; takes precedence over date filters |
| NameOnCheck | string | No          | Filter by customer name                                       |
| Amount      | string | No          | Filter by transaction amount                                  |
| Result      | string | No          | Filter by result code (e.g., 0 = Approved)                    |
| ExtData     | string | No          | Optional XML-formatted metadata                               |

***

### Notes

* **Flexible filtering options:**\
  You can search by:
  * Date range (`BeginDt` and `EndDt`)
  * Specific transaction reference (`PNRef`)
  * Customer name, result code, or amount
* **Behavior when PNRef is provided:**\
  If `PNRef` is supplied, it overrides any date filtering and returns only the matching transaction.
* **Response contents:**\
  Returns one or more `RecurringResult` entries, each including fields like:
  * `PNRef`
  * `Result`
  * `CheckNum`
  * `Amount`
  * `Status`
  * `AuthCode`
  * `CreateDate`
  * `Message`
  * `CustomerKey`, etc.
* **Use cases:**
  * Monitoring ACH transaction activity
  * Investigating failures or disputes
  * Internal reconciliation workflows
  * Searching for specific check payments
* **ExtData field:**\
  Can be used to pass optional metadata or request filters specific to certain merchant setups

#### SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://demo.tpisoft.com/Admin/ws/GetCheckTrx"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCheckTrx xmlns="http://demo.tpisoft.com/Admin/ws">
      <UserName>string</UserName>
      <Password>string</Password>
      <RPNum>string</RPNum>
      <PNRef>string</PNRef>
      <BeginDt>string</BeginDt>
      <EndDt>string</EndDt>
      <PaymentType>string</PaymentType>
      <ExcludePaymentType>string</ExcludePaymentType>
      <TransType>string</TransType>
      <ExcludeTransType>string</ExcludeTransType>
      <ApprovalCode>string</ApprovalCode>
      <Result>string</Result>
      <ExcludeResult>string</ExcludeResult>
      <NameOnCheck>string</NameOnCheck>
      <CheckNum>string</CheckNum>
      <AcctNum>string</AcctNum>
      <RouteNum>string</RouteNum>
      <ExcludeVoid>string</ExcludeVoid>
      <User>string</User>
      <invoiceId>string</invoiceId>
      <SettleFlag>string</SettleFlag>
      <SettleMsg>string</SettleMsg>
      <SettleDt>string</SettleDt>
      <TransformType>string</TransformType>
      <Xsl>string</Xsl>
      <ColDelim>string</ColDelim>
      <RowDelim>string</RowDelim>
      <IncludeHeader>string</IncludeHeader>
      <ExtData>string</ExtData>
    </GetCheckTrx>
  </soap:Body>
</soap:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCheckTrxResponse xmlns="http://demo.tpisoft.com/Admin/ws">
      <GetCheckTrxResult>string</GetCheckTrxResult>
    </GetCheckTrxResponse>
  </soap:Body>
</soap:Envelope>
```

#### HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx/GetCheckTrx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

UserName=string&Password=string&RPNum=string&PNRef=string&BeginDt=string&EndDt=string&PaymentType=string&ExcludePaymentType=string&TransType=string&ExcludeTransType=string&ApprovalCode=string&Result=string&ExcludeResult=string&NameOnCheck=string&CheckNum=string&AcctNum=string&RouteNum=string&ExcludeVoid=string&User=string&invoiceId=string&SettleFlag=string&SettleMsg=string&SettleDt=string&TransformType=string&Xsl=string&ColDelim=string&RowDelim=string&IncludeHeader=string&ExtData=string
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://demo.tpisoft.com/Admin/ws">string</string>
```

## <mark style="color:blue;">GetOpenBatchSummary</mark>

**Endpoint URL:**\
`https://secure.ftipgw.com/admin/ws/trxdetail.asmx?op=GetOpenBatchSummary`

**Method:**\
Supports **SOAP POST** and **HTTP POST** (form-encoded)

**Description:**\
Returns a summary of all authorized credit card transactions that are currently in the open batch (i.e., have not yet been settled). This is typically used to review totals before the batch is closed and submitted for settlement.

***

### Request Parameters

| Parameter | Type   | Required | Description                     |
| --------- | ------ | -------- | ------------------------------- |
| UserName  | string | Yes      | Admin username                  |
| Password  | string | Yes      | Admin password                  |
| Vendor    | string | Yes      | Merchant numeric key            |
| ExtData   | string | No       | Optional XML-formatted metadata |

***

### Notes

* **Open batch definition:**\
  The open batch includes all **authorized** credit card transactions that have **not yet been settled**. Once a batch is settled (usually once per day), its totals are no longer included here.
* **Response contents:**\
  The response includes summarized totals grouped by:
  * Transaction type (e.g., Sale, Credit)
  * Card type (e.g., Visa, MasterCard)
  * Result code (e.g., Approved, Declined)
* **Use cases:**
  * Verifying batch totals before settlement
  * Displaying same-day transaction volume on dashboards
  * Reconciliation against internal sales records
* **Efficient reporting:**\
  As a summary endpoint, it returns totals only — not individual transactions — making it performant even with high volume.
* **ExtData usage:**\
  Can be used to pass optional request metadata or reporting tags if needed.

#### SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://demo.tpisoft.com/Admin/ws/GetOpenBatchSummary"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOpenBatchSummary xmlns="http://demo.tpisoft.com/Admin/ws">
      <username>string</username>
      <password>string</password>
      <rpNum>string</rpNum>
      <beginDt>string</beginDt>
      <endDt>string</endDt>
      <extData>string</extData>
    </GetOpenBatchSummary>
  </soap:Body>
</soap:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOpenBatchSummaryResponse xmlns="http://demo.tpisoft.com/Admin/ws">
      <GetOpenBatchSummaryResult>string</GetOpenBatchSummaryResult>
    </GetOpenBatchSummaryResponse>
  </soap:Body>
</soap:Envelope>
```

#### HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx/GetOpenBatchSummary HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

username=string&password=string&rpNum=string&beginDt=string&endDt=string&extData=string
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://demo.tpisoft.com/Admin/ws">string</string>
```

## <mark style="color:blue;">GetReturnedCheckReport</mark>

**Endpoint URL:**\
`https://secure.ftipgw.com/admin/ws/trxdetail.asmx?op=GetReturnedCheckReport`

**Method:**\
Supports **SOAP POST** and **HTTP POST** (form-encoded)

**Description:**\
Retrieves a report of ACH (check) transactions that have been returned or rejected by the banking system. This includes failed debits due to insufficient funds, closed accounts, invalid information, or administrative returns.

### Request Parameters

| Parameter | Type   | Required | Description                        |
| --------- | ------ | -------- | ---------------------------------- |
| UserName  | string | Yes      | Admin username                     |
| Password  | string | Yes      | Admin password                     |
| Vendor    | string | Yes      | Merchant numeric key               |
| BeginDt   | string | Yes      | Start date for report (MM/DD/YYYY) |
| EndDt     | string | Yes      | End date for report (MM/DD/YYYY)   |
| ExtData   | string | No       | Optional XML-formatted metadata    |

***

### Notes

* **Report focus:**\
  This endpoint is used specifically to track **returned ACH transactions** — entries that were submitted successfully but were later returned by the bank.
* **Common return reasons include:**
  * NSF (non-sufficient funds)
  * Invalid account or routing number
  * Account closed
  * Stop payment issued
  * Administrative errors
* **Response contents:**\
  Each returned entry typically includes:
  * `PNRef`
  * `CustomerKey`
  * `CheckNum`
  * `Amount`
  * `ReturnCode`
  * `ReturnDescription`
  * `ReturnDate`
  * `Status` or message from the bank
* **Use cases:**
  * Identifying failed ACH payments
  * Triggering retry workflows or customer notifications
  * Managing customer account status or access
  * Feeding data into collections or risk systems
* **Time window filter:**\
  The `BeginDt` and `EndDt` must be used to specify the reporting period. Returned items will be limited to those that were processed within that range.
* **ExtData field:**\
  Optional; can be used to pass internal tracking flags or request-specific context.

#### SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://demo.tpisoft.com/Admin/ws/GetReturnedCheckReport"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetReturnedCheckReport xmlns="http://demo.tpisoft.com/Admin/ws">
      <UserName>string</UserName>
      <Password>string</Password>
      <MerchantKey>string</MerchantKey>
      <BeginDt>string</BeginDt>
      <EndDt>string</EndDt>
      <ExtData>string</ExtData>
    </GetReturnedCheckReport>
  </soap:Body>
</soap:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetReturnedCheckReportResponse xmlns="http://demo.tpisoft.com/Admin/ws">
      <GetReturnedCheckReportResult>xml</GetReturnedCheckReportResult>
    </GetReturnedCheckReportResponse>
  </soap:Body>
</soap:Envelope>
```

#### HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

```
POST /admin/ws/trxdetail.asmx/GetReturnedCheckReport HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

UserName=string&Password=string&MerchantKey=string&BeginDt=string&EndDt=string&ExtData=string
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0"?>
xml
```

## <mark style="color:blue;">IsCommercialCard</mark>

**Endpoint URL:**\
`https://secure.ftipgw.com/ArgoFire/validate.asmx?op=IsCommercialCard`

**Method:**\
Supports **SOAP POST** and **HTTP POST** (form-encoded)

**Description:**\
Determines whether a given credit card number corresponds to a commercial card (i.e., corporate, business, or purchasing card). This is typically used to inform surcharge decisions or compliance with card brand rules.

***

### Request Parameters

| Parameter    | Type   | Required | Description                      |
| ------------ | ------ | -------- | -------------------------------- |
| UserName     | string | Yes      | Admin username                   |
| Password     | string | Yes      | Admin password                   |
| Vendor       | string | Yes      | Merchant numeric key             |
| CcAccountNum | string | Yes      | Credit card number to be checked |
| ExtData      | string | No       | Optional XML-formatted metadata  |

***

### Notes

* **Commercial card detection:**\
  This endpoint checks the provided card number against issuer and BIN range databases to determine if it is classified as a commercial card.
* **Use cases include:**
  * Identifying when surcharges are allowed (Visa/MC rules often allow fees on commercial cards)
  * Informing tax-exempt logic for B2B transactions
  * Risk assessment for business-related payment flows
* **Response structure:**\
  The response indicates whether the card is:
  * Commercial
  * Consumer
  * Unknown or unable to determine
* **No authorization performed:**\
  This check does **not** validate funds or perform a transaction—it is purely an identification utility.
* **ExtData support:**\
  Can be used for custom merchant tracking tags or context-specific attributes.

#### SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

```
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/SmartPayments/IsCommercialCard"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <IsCommercialCard xmlns="http://localhost/SmartPayments/">
      <CardNumber>string</CardNumber>
    </IsCommercialCard>
  </soap:Body>
</soap:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <IsCommercialCardResponse xmlns="http://localhost/SmartPayments/">
      <IsCommercialCardResult>boolean</IsCommercialCardResult>
    </IsCommercialCardResponse>
  </soap:Body>
</soap:Envelope>
```

#### SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

```
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <IsCommercialCard xmlns="http://localhost/SmartPayments/">
      <CardNumber>string</CardNumber>
    </IsCommercialCard>
  </soap12:Body>
</soap12:Envelope>
```

```
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <IsCommercialCardResponse xmlns="http://localhost/SmartPayments/">
      <IsCommercialCardResult>boolean</IsCommercialCardResult>
    </IsCommercialCardResponse>
  </soap12:Body>
</soap12:Envelope>
```

#### HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

```
POST /ArgoFire/validate.asmx/IsCommercialCard HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

CardNumber=string
```

```
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<boolean xmlns="http://localhost/SmartPayments/">boolean</boolean>
```

***
