# RevCent MCP Guide: `GetSalvageTransaction`

Brief AI/MCP-focused guide for retrieving one RevCent Salvage Transaction.

---

## Operation Summary

Operation:

```text
GetSalvageTransaction
```

Purpose:

```text
Retrieve the details of a specific Salvage Transaction.
```

A Salvage Transaction represents recoverable revenue created from a failed or partially successful payment attempt, most commonly related to:

- subscription renewal decline or partial recovery,
- trial expiration decline or partial recovery,
- initial Sale partial capture with remaining amount to recover.

Use `GetSalvageTransaction` when the exact 20-character Salvage Transaction ID is known and the user needs to inspect one recovery item.

---

## Related Links

| Guide | Link |
|---|---|
| Salvage Transaction Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewSalvageTransaction.md` |
| ProcessSalvageTransaction | `https://revcent.com/documentation/markdown/mcp/operation/ProcessSalvageTransaction.md` |
| GetSalvageTransactions | `https://revcent.com/documentation/markdown/mcp/operation/GetSalvageTransactions.md` |
| Subscription Renewal Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewSubscriptionRenewal.md` |
| Trial Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewTrial.md` |
| Transaction Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewTransaction.md` |
| Payment Profile Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewPaymentProfile.md` |
| AI Assistant Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewAIAssistant.md` |
| AI Voice Agent Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewAIVoiceAgent.md` |
| BigQueryRunQuery | `https://revcent.com/documentation/markdown/mcp/operation/BigQueryRunQuery.md` |

---

## When to Use

Use `GetSalvageTransaction` for one known Salvage Transaction.

Good uses:

- review one failed/recoverable payment item,
- inspect the amount to salvage,
- inspect original total and amount charged,
- determine whether the item came from a subscription renewal, trial expiration, or initial Sale partial capture,
- inspect related customer context,
- inspect related Transaction, Subscription Renewal, Subscription, Trial, Sale, Product Sale, or Payment Profile IDs,
- review gateway/payment context before recovery,
- verify context before `ProcessSalvageTransaction`,
- support an AI Assistant or AI Voice Agent recovery workflow.

---

## Input Schema

Required:

| Field | Type | Description |
|---|---:|---|
| `salvage_transaction_id` | string | 20-character Salvage Transaction ID. |

Example:

```json
{
  "salvage_transaction_id": "SSSSSSSSSSSSSSSSSSSS"
}
```

---

## Useful Output Areas

`GetSalvageTransaction` can return detailed recovery context, including:

| Area | Examples |
|---|---|
| Amounts | `amount_original_total`, `amount_charged`, `amount_to_salvage`, recovered/refunded/remaining amount fields where available. |
| Source flags | Initial Sale partial-capture context, subscription renewal context, trial expiration context. |
| Customer | Customer ID, name, email, phone, address, enabled/blocked state, metadata. |
| Payment context | Payment Profile, gateway, request origin, payment type, decline/recovery context where available. |
| Related records | Sales, Product Sales, Trials, Subscriptions, Subscription Renewals, Transactions, PayPal Transactions, Offline Payments, Shipping, Tax, Discounts, Pending Refunds, Chargebacks, Fraud Detections, AI Threads, AI Assistants, API Calls. |
| Metadata | Custom name/value data useful for support and recovery decisions. |

Use related record IDs to retrieve the full lifecycle when needed.

---

## Recovery Review Guidance

Before processing a Salvage Transaction, AI/MCP should review the original payment attempt context.

Important recommendation:

```text
Review the initial decline reason before attempting recovery.
```

Avoid processing salvage attempts that have little chance of success, such as decline reasons related to:

- invalid card,
- stolen card,
- lost card,
- suspected fraud,
- card closed,
- account invalid,
- permanent authorization failure,
- do-not-honor patterns that the business treats as unrecoverable.

Purpose:

```text
Avoid unnecessary decline fees and avoid retrying recovery items that have no realistic chance of success.
```

This review can be performed by:

- an AI Assistant filter function,
- an AI Assistant actual step,
- an external system notified by an initial function event,
- manual support review before `ProcessSalvageTransaction`.

---

## Customer-Facing AI Verification Warning

This operation may expose sensitive customer, payment, decline, subscription, trial, sale, recovery, gateway, or lifecycle context.

If this operation is used inside a customer-facing AI flow, such as:

- AI Voice Agent,
- public chatbot,
- support chatbot,
- customer portal assistant,
- SMS assistant,
- any visitor-facing AI workflow,

the AI/MCP client should verify the visitor is actually related to the Salvage Transaction before providing details or taking action.

Recommended rule:

```text
Do not provide Salvage Transaction details to a public-facing visitor based only on the Salvage Transaction ID or a value the visitor supplied.
```

Use a secondary value from the retrieved Salvage Transaction response to verify identity.

Recommended verification examples:

| Visitor-Provided Input | Secondary Verification Value |
|---|---|
| Salvage Transaction ID | Customer email from `GetSalvageTransaction.customer.email`. |
| Customer name | Customer email or phone from the retrieved Salvage Transaction. |
| Phone number | Customer email from the retrieved Salvage Transaction. |
| Subscription / Trial / Sale context | Customer email from the retrieved Salvage Transaction or related item. |
| Metadata/external ID | Customer email or phone from the retrieved Salvage Transaction. |

Example safe flow:

```text
Visitor provides salvage/search input
    ↓
AI uses GetSalvageTransaction or a narrow operational lookup
    ↓
AI retrieves the Salvage Transaction
    ↓
AI asks the visitor to verify a secondary value from the retrieved record, such as customer email
    ↓
Only after verification:
        provide limited appropriate details
        or take an allowed action
```

Important:

```text
The secondary verification value should come from the retrieved RevCent record, not only from the visitor's original search or lookup input.
```

For example, if the visitor provides a Salvage Transaction ID, verify against the customer email returned by `GetSalvageTransaction` before discussing the recovery item.

Do not disclose sensitive details such as:

- gateway decline details beyond what is appropriate for customer support,
- payment profile internals,
- fraud/risk logic,
- unrelated subscription/trial/sale details,
- full customer details,
- unrelated customer records,
- internal notes not meant for customers,
- other related records unless the visitor is verified and authorized.

For consequential actions, such as `ProcessSalvageTransaction`, payment retry, subscription changes, trial changes, refunds, or customer outreach, require explicit confirmation and follow the relevant operation-specific safety guidance.


---

## Critical Reporting Rule

This Salvage Transaction lookup operation is **not** a reporting tool.

Do not use this operation for:

- counting,
- aggregations,
- metrics,
- reporting,
- data mining,
- bulk retrieval,
- broad analysis,
- document property searches,
- salvage recovery reports,
- recovery-rate reports,
- declined revenue reports,
- trial-expiration recovery reports,
- subscription-renewal recovery reports,
- pending recovery reports,
- campaign/shop/product/payment-profile performance metrics.

Use:

```text
BigQueryRunQuery
```

for those purposes.

Important AI/MCP behavior:

```text
If the AI/MCP client intended to use this operation for reporting, metrics, aggregation, or data mining and then realizes BigQueryRunQuery is the correct operation, it does not need to tell the user about the correction.

It should simply use BigQueryRunQuery instead.
```

The user does not need an explanation that the AI almost used the wrong operation. The correct behavior is to quietly choose the correct operation.


---

## Correct Use vs Incorrect Use

| User Intent | Correct Action |
|---|---|
| “Show me this Salvage Transaction ID.” | Use `GetSalvageTransaction`. |
| “Why is this payment recovery item open?” | Use `GetSalvageTransaction`, then related Transaction/Subscription/Trial records. |
| “Should I process this salvage item?” | Use `GetSalvageTransaction`, review decline reason and context, then decide. |
| “Process this salvage item.” | Use `GetSalvageTransaction` first, then `ProcessSalvageTransaction` if appropriate. |
| “What is my salvage recovery rate?” | Use `BigQueryRunQuery`, not `GetSalvageTransaction`. |
| “Show salvage revenue by campaign.” | Use `BigQueryRunQuery`, not `GetSalvageTransaction`. |

---

## Best Practices

1. Use this only for one known Salvage Transaction ID.
2. Use `GetSalvageTransactions` only for bounded operational lookup when ID is unknown.
3. Retrieve before `ProcessSalvageTransaction`.
4. Review source context: subscription renewal, trial expiration, or initial Sale partial capture.
5. Review original decline reason before retrying recovery.
6. Avoid recovery attempts that are likely unrecoverable and may only create decline fees.
7. Verify customer identity before sharing Salvage Transaction details in customer-facing AI flows.
8. Use `BigQueryRunQuery` for all reporting and analytics.

---

## Final AI/MCP Instruction

Use `GetSalvageTransaction` to retrieve one specific Salvage Transaction by ID.

In customer-facing AI flows, verify the visitor is related to the Salvage Transaction using a secondary value from the retrieved record, such as `customer.email`, before providing details or taking action.

Do not use this operation for reporting, metrics, counting, aggregation, data mining, or broad analysis. If the task is reporting-related, silently use `BigQueryRunQuery` instead.


---
Document Parent Directory
* [Operations](https://revcent.com/documentation/markdown/mcp/operation/index.md) - AI/MCP details and overviews for operations available within the RevCent MCP.