> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Buttons for payment methods

> The BT tags around payment: check, save and search bank data, search credit card data, and the buttons for PayPal Express Checkout, PayPal Checkout with Vault and Klarna Payments.

Payment methods need more buttons than other areas of the shop because the data must be checked before the order can continue. For bank data, this happens in two steps; for external payment services, the service itself takes over part of the flow.

The tags on this page fall into three areas: bank data in the customer account and on the order overview, the search in saved payment data, and the buttons of the connected payment services.

## How the BT tags work

A `BT-` tag outputs the technical name of the button, not its label. The shop uses this name to recognize which button was clicked.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input type="submit" name="~BT-BankSubmit~" value="Bankverbindung speichern">
```

The tag goes into the `name` attribute, the text for the buyer into `value`. The button must submit and must be inside the associated form.

## Bank data

Entering the bank details takes two steps. In the first step, the buyer enters IBAN and BIC; in the second, they confirm the bank determined by the shop. Four tags map this flow.

| Tag | Action |
| - | - |
| `BT-BankProof` | check the input, that is, complete step 1 |
| `BT-BankChange` | go from step 2 back to step 1 |
| `BT-BankSubmit` | submit the input |
| `BT-Bank_Refresh` | refresh the display |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BT-BankProof}
   <input type="submit" name="~BT-BankProof~" value="Eingaben prüfen">
{/BT-BankProof}

{BT-BankChange}
   <input type="submit" name="~BT-BankChange~" value="Eingaben ändern">
{/BT-BankChange}

{BT-BankSubmit}
   <input type="submit" name="~BT-BankSubmit~" value="Bankverbindung speichern">
{/BT-BankSubmit}
```

> [!NOTE]
>
> `BT-BankProof`, `BT-BankChange` and `BT-BankSubmit` are also range tags. This is not a gimmick: the enclosing range shows each button only in the step where it makes sense. Without it, the "change input" button appears before there is anything to change.

> [!NOTE]
>
> `BT-Bank_Refresh` appears in older documentation as `BT-Bank_refresh`. Both spellings work because the shop resolves tag names case-insensitively.

### BT-BankSelection\_OK

Applies the selection of a saved bank account on the order overview page. This tag is also a range tag and thus indicates whether several bank accounts are available for selection at all.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BT-BankSelection_OK}
   <input type="submit" name="~BT-BankSelection_OK~" value="Auswahl übernehmen">
{/BT-BankSelection_OK}
```

Reference: BANK- (bank data)

## Credit card selection

### BT-CCardSelection\_OK

Updates the selection of the saved credit card on the order overview page. As a range tag, the button only applies if the buyer is logged in and saved credit card data exists.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BT-CCardSelection_OK}
   <noscript>
      <input type="submit" name="~BT-CCardSelection_OK~" value="Auswahl übernehmen">
   </noscript>
{/BT-CCardSelection_OK}
```

> [!NOTE]
>
> The button is the fallback for disabled JavaScript, just like `BT-BankSelection_OK` for the bank account. With JavaScript, the selection list triggers the update itself.

Reference: CC- (credit card data)

## Searching saved payment data

Business customers often have several bank accounts and credit cards stored. Two tags trigger the full-text search in them.

| Tag | Searches in | Template | Form |
| - | - | - | - |
| `BT-BankSearch` | the bank data | Bank data management (`ws_bank_manage.htm`) | `FORM-BankSearch` |
| `BT-CCardSearch` | the credit card data | Credit card management (`ws_creditcard_manage.htm`) | `FORM-CCardSearch` |

> [!WARNING]
>
> Both buttons must be inside the form listed for them. In any other form on the same page, the search has no effect.

Guide: Offering full-text search for multiple customer data

## PayPal Express Checkout

With Express Checkout, the buyer starts the order directly in the basket and then returns with the address and payment method from their PayPal account. Three tags are involved, and they are located on two different pages.

| Tag | Button | Template |
| - | - | - |
| `BT-PayPalExpressCheckout` | Start order with PayPal | Basket page (`ws_basket.htm`) |
| `BT-PayPalExpressCheckout_cancel` | Cancel order | Order overview page (`ws_place_order.htm`) |
| `BT-PayPalExpressCheckout_reloadplaceorder` | Refresh order overview | Order overview page |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<form action="~FORM-Basket~" method="post">
   ...
   {ST-PayPalExpressCheckout}
      <input type="submit" name="~BT-PayPalExpressCheckout~"
             value="Bestellen mit PayPal Express Checkout">
   {/ST-PayPalExpressCheckout}
</form>
```

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-PayPalExpressCheckout_selected}
   <input type="submit" name="~BT-PayPalExpressCheckout_reloadplaceorder~" value="aktualisieren">
   <input type="submit" name="~BT-PayPalExpressCheckout_cancel~" value="abbrechen">
{/ST-PayPalExpressCheckout_selected}
```

> [!WARNING]
>
> The cancel button is required. The buyer started the checkout via PayPal and cannot get back to another payment method without it.

### BT-PPCVault\_refresh

Outputs the name of a hidden button for PayPal Checkout with Vault. It is not clicked but triggered via JavaScript.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<button type="submit" name="~BT-PPCVault_refresh~" id="ppcvaultrefresh" hidden></button>
```

> [!NOTE]
>
> The button is intentionally empty and invisible. The payment service's JavaScript triggers it as soon as it has applied a stored payment source.

Guide: PayPal Express Checkout · PayPal Checkout with Vault

## Klarna Payments

### BT-KlarnaPayments\_cancel

Cancels the order with Klarna.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-KlarnaPayments}
   <button type="submit" name="~BT-KlarnaPayments_cancel~">Zahlung abbrechen</button>
{/ST-KlarnaPayments}
```

> [!NOTE]
>
> As with Express Checkout, there is no start button in the BT group here. Klarna is chosen via the normal payment method selection, and only cancellation needs its own tag.

Guide: Klarna Payments

## Tag overview

| Tag | Single tag | Range tag | Negative range tag |
| - | - | - | - |
| `BT-Bank_Refresh` | yes | – | – |
| `BT-BankChange` | yes | yes | yes |
| `BT-BankProof` | yes | yes | yes |
| `BT-BankSearch` | yes | – | – |
| `BT-BankSelection_OK` | yes | yes | yes |
| `BT-BankSubmit` | yes | yes | yes |
| `BT-CCardSelection_OK` | yes | yes | yes |
| `BT-CCardSearch` | yes | – | – |
| `BT-PayPalExpressCheckout` | yes | – | – |
| `BT-PayPalExpressCheckout_cancel` | yes | – | – |
| `BT-PayPalExpressCheckout_reloadplaceorder` | yes | – | – |
| `BT-PPCVault_refresh` | yes | – | – |
| `BT-KlarnaPayments_cancel` | yes | – | – |

None of them is a loop tag.

## Related topics

* Guide: Creating payment methods
* Guide: PayPal Checkout
* Reference: BANK- (bank data)
* Reference: Buttons in the order process


## Related topics

- [Payment methods](https://dokumentation.websale.de/en/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md)
- [payment - Payment methods](https://dokumentation.websale.de/en/konfiguration/payment-zahlungsmethoden.md)
- [PAY- (Displaying and selecting payment methods)](https://dokumentation.websale.de/en/v8s/referenz/tags/pay/zahlungsarten-anzeigen-und-auswaehlen.md)
- [Buttons in the order process](https://dokumentation.websale.de/en/v8s/referenz/tags/bt/bestellprozess.md)
- [PAY- (Additional fields for the payment method)](https://dokumentation.websale.de/en/v8s/referenz/tags/pay/zusatzfelder-zur-zahlungsart.md)


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