Configure the payment link and hosted payment page to match your brand and business needs.

Branding

The hosted payment page automatically displays your store branding as configured in the Teya Business Portal. This includes your store name and logo.

Checkout & receipt customisation

The following options can be configured in the Pay By Link settings in the Teya Business Portal. These settings apply across all payment links created for your store.

SettingDescriptionWhere it appearsRequired
Message on checkoutA custom message shown to the customer before they pay. Use this for order context, instructions, or any terms the customer should see.Hosted payment pageNo
Message on receiptA custom message shown after a successful payment. Use this for confirmation notes, next steps, or contact details.Receipt pageNo
Privacy policy URLA link to your privacy policy. Customers can review how their data is handled before completing payment.Hosted payment pageNo
Terms & conditions URLA link to your terms and conditions, displayed alongside the privacy policy link.Hosted payment pageNo

Saving a payment method

Consent comes first
Before you store a card, you must obtain and record the customer's agreement to save it and charge it again. That agreement — often called a mandate — defines when, how often, and for how much you can charge the card. It is what makes the later merchant-initiated payments valid.

A payment link can store the customer's card as well as take payment, which makes it a way to put a card on file for a customer who has no account on your site — or when you have no website at all.

Set save_payment_method to true when you create the link. The customer enters their card on the Teya-hosted payment page, so 3D Secure runs there and the card number never touches your systems.

Two fields work together on the link. save_payment_method is what mints the token; transaction_type decides what the customer sees:

transaction_typeamount.valueWhat the payment page shows
ACCOUNT_VERIFICATION0Saves the card without charging it. The pay button shows no price.
SALE (default)The real amountSaves the card alongside a real payment.

If you send transaction_type: ACCOUNT_VERIFICATION with save_payment_method: false, Teya verifies the card but saves nothing.

amount is still required on the request — send a zero value so the customer is not charged:

{
  "transaction_type": "ACCOUNT_VERIFICATION",
  "save_payment_method": true,
  "amount": { "value": 0, "currency": "GBP" },
  "merchant_reference": "save-card-cust-4821",
  "customer": { "email": "john.doe@example.com" },
  "success_url": "https://mywebsite.com/account/cards/saved"
}

The token arrives on the payment.succeeded.v1 webhook as data.token_response.token_id. Store it alongside data.payment_method.brand and last4 so you can render “Mastercard ••••4065” in your UI.

See Card on File for the consent rules and the wider flow, and Charge a Saved Payment Method for charging the token.

Payment links remain active until they are either paid or explicitly cancelled. To cancel an active link:

  • Via the portal: Go to Payment Links in the Teya Business Portal and select Cancel on the relevant link.
  • Via the API: Use the Update Payment Link API endpoint.