> ## Documentation Index
> Fetch the complete documentation index at: https://integration.wpay.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Mastercard Transaction Link Identifier (TLID)

> How Gr4vy captures and sends the Mastercard Transaction Link Identifier on recurring and other merchant-initiated card payments, and which connectors support it.

<Note>
  Last updated: October 5, 2026.
</Note>

## What the TLID is

The Mastercard Transaction Link Identifier (TLID) links every payment in a stored credential series back to the customer-initiated payment that started it. Mastercard generates the TLID on that first customer-initiated transaction (CIT) and returns it in the authorization response.

Mastercard began returning the TLID on June 2, 2026. From October 23, 2026, Mastercard requires the TLID on every later merchant-initiated transaction (MIT) in a stored credential series, such as a subscription renewal or an unscheduled card-on-file charge.

The TLID runs alongside the existing scheme transaction ID, also known as the Mastercard trace ID. It doesn't replace it, and Gr4vy continues to send both.

<Info>
  Some acquirers communicate their own compliance dates for the TLID. Check with your acquirer for the dates that apply to you.
</Info>

## How Gr4vy handles the TLID

On a [supported connector](#connector-coverage), Gr4vy handles the TLID for you:

1. Gr4vy reads the TLID from the response to the first customer-initiated payment in a series.
2. Gr4vy stores the TLID with the stored payment method.
3. On each later merchant-initiated payment with that payment method, Gr4vy sends the TLID to the connector automatically.

No integration changes are needed, unless your payment service provider (PSP) has to switch the TLID on for your account. See [enabling the TLID with your PSP](#enabling-the-tlid-with-your-psp).

This relies on each transaction being flagged correctly as customer-initiated or merchant-initiated. Set `payment_source`, `merchant_initiated`, and `is_subsequent_payment` as described in the [recurring payment flags](/guides/features/recurring-payments/overview#recurring-payment-flags) and [common scenarios](/guides/features/recurring-payments/scenarios).

### API fields

The TLID appears in the API as follows:

| Field | Resource | Description |
| - | - | - |
| `transaction_link_id` | [Transaction](/reference/transactions/get-transaction) | The TLID returned by the scheme for this transaction, when available. |
| `transaction_link_id` | [Payment method](/reference/payment-methods/get-payment-method) | The TLID stored against the payment method. |
| `previous_transaction_link_id` | [New transaction](/reference/transactions/new-transaction) request | The TLID to send on a merchant-initiated transaction. |

You can supply your own TLID in two ways:

* **Per transaction** - Set `previous_transaction_link_id` when you create a merchant-initiated transaction. If you leave it out and the stored payment method has a qualifying earlier customer-initiated transaction, Gr4vy fills it in with the TLID returned for that transaction.
* **On the payment method** - Set `transaction_link_id` when you [update a payment method](/reference/payment-methods/update-payment-method). Gr4vy then sends that value on later merchant-initiated transactions with the payment method.

If you process merchant-initiated transactions without a stored payment method, pass the `transaction_link_id` from the first transaction as `previous_transaction_link_id` on each later transaction.

## Series that started before June 2, 2026

A stored credential series that started before June 2, 2026 has no TLID on file, because Mastercard didn't return one at the time. For these series, Gr4vy only sends a TLID when one is stored on the payment method or supplied in the request.

If you hold a TLID for such a series, for example from your acquirer, store it on the payment method or pass it as `previous_transaction_link_id`.

## Connector coverage

The following table shows TLID support by connector.

### Supported

| Connector | TLID support | PSP enablement needed | Notes |
| - | - | - | - |
| [Adyen](/connections/payments/adyen-card) | Yes | No | |
| [Airwallex](/connections/payments/airwallex-card) | Yes | No | |
| [Chase Orbital](/connections/payments/chaseorbital-card) | Yes | No | |
| [Checkout.com](/connections/payments/checkoutcom-card) | Yes | No | |
| [Cybersource](/connections/payments/cybersource-card) | Yes | No | |
| [dLocal](/connections/payments/dlocal-card) | Yes | No | dLocal returns the TLID subject to acquirer coverage, so it may be missing for some acquirers. |
| [Fiserv IPG](/connections/payments/fiserv-card) | Yes | No | |
| [Mastercard Gateway](/connections/payments/mastercard-card) | Yes | No | |
| Ozpay | Yes | No | |
| [Shift4](/connections/payments/shift4-card) | Yes | No | |
| [Stripe](/connections/payments/stripe-card) | Yes | No | Applies to open-loop. In the default closed-loop configuration, Stripe keeps and replays the TLID itself. |
| [Trust Payments](/connections/payments/trustpayments-card) | Yes | No | |
| [Worldline Connect](/connections/payments/worldlineconnect-card) | Yes | No | Worldline is rolling out the TLID in its responses in phases, by acquiring partner. |

### Supported with PSP action

| Connector | TLID support | PSP enablement needed | Notes |
| - | - | - | - |
| [Ecommpay](/connections/payments/ecommpay-card) | Yes | Yes | Ecommpay must turn on the TLID callback parameters for your production project. |
| [Nuvei](/connections/payments/nuvei-card) | Yes | Yes | Nuvei must enable the TLID on each merchant account. |
| [Worldline TravelHub](/connections/payments/travelhub-card) | Yes | Confirm with Worldline | Worldline is still rolling out the field. |
| [Worldpay WPG](/connections/payments/worldpaywpg-card) | Yes | Yes | Worldpay must enable the TLID on your merchant code. |
| Wpay | Yes | Confirm with Wpay | Wpay forwards the TLID to the scheme once its switch upgrade is in place. |

### Handled by the provider

For these closed-loop connectors, cards are stored with the provider, which keeps and replays the TLID itself. Nothing is needed from you or from Gr4vy.

| Connector | TLID support | PSP enablement needed | Notes |
| - | - | - | - |
| Adyen Vault | Handled by provider | No | |
| [Buckaroo](/connections/payments/buckaroo-card) | Handled by provider | No | |
| [CardPointe](/connections/payments/cardpointe-card) | Handled by provider | No | |
| Eckoh | Handled by provider | No | |
| [Finix](/connections/payments/finix-card) | Handled by provider | No | |
| FreedomPay | Handled by provider | No | |
| [Moneris](/connections/payments/moneris-card) | Handled by provider | No | |
| [NMI](/connections/payments/nmi-card) | Handled by provider | No | |
| [Planet](/connections/payments/planet-card) | Handled by provider | No | |
| [PowerTranz](/connections/payments/powertranz-card) | Handled by provider | No | |
| [Repay](/connections/payments/repay-card) | Handled by provider | No | |
| [Ryft](/connections/payments/ryft-card) | Handled by provider | No | |
| [Shift4 i4Go](/connections/payments/shift4i4go-card) | Handled by provider | No | Tokenization only. You make payments through your own Shift4 integration, so confirm TLID handling with Shift4. |
| Stripe Token | Handled by provider | No | |
| [USAePay](/connections/payments/usaepay-card) | Handled by provider | No | |
| [Windcave](/connections/payments/windcave-card) | Handled by provider | No | |

### Not yet supported

| Connector | TLID support | PSP enablement needed | Notes |
| - | - | - | - |
| [ACI Worldwide](/connections/payments/aci-card) | No | Not applicable | |
| [Authorize.net](/connections/payments/authorizenet-card) | No | Not applicable | The Authorize.net API has no TLID field. |
| [BlueSnap](/connections/payments/bluesnap-card) | No | Not applicable | |
| [Braintree](/connections/payments/braintree-card) | No | Not applicable | Braintree returns the TLID and Gr4vy stores it, but Braintree doesn't yet accept it on merchant-initiated payments for cards stored outside Braintree. |
| [Merchant Warrior](/connections/payments/merchantwarrior-card) | No | Not applicable | |
| [PayPal](/connections/payments/paypal-card) (cards) | No | Not applicable | |
| [Unlimit](/connections/payments/unlimit-card) | No | Not applicable | |
| [Worldpay VAP](/connections/payments/worldpayvap-card) | No | Not applicable | Worldpay plans to add support in its April 2027 release. |

## Enabling the TLID with your PSP

For the following connectors, Gr4vy supports the TLID, but your PSP has to act before it reaches Mastercard.

* **Ecommpay** - For Gr4vy to receive the TLID, Ecommpay must turn on the TLID callback parameters for your production project. Ask your Ecommpay contact to enable them.
* **Nuvei** - Nuvei must enable the TLID on each merchant account. Ask your Nuvei account manager. Until it's enabled, Nuvei accepts the TLID without an error but doesn't pass it on to Mastercard.
* **Worldline TravelHub** - Worldline is still rolling out the field, so confirm availability with Worldline. If you process through Navitaire, Sabre, or Outpayce, take it up with that partner instead.
* **Worldpay WPG** - Worldpay must enable the TLID on your merchant code. Ask your Worldpay account manager.
* **Wpay** - Wpay forwards the TLID to the scheme only once its own switch upgrade is in place. Confirm the timing with Wpay.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.