Search

Are you looking for test card numbers?

Would you like to contact support?

Point-of-sale icon

In-store Pay by Link

Make in-store payments by scanning a payment link with a mobile phone.

In-store Pay by Link lets you use the payment terminal to direct your shoppers to an online checkout. This also means you can offer additional online (ecommerce) payment methods.

We originally developed this feature in aid of efforts to limit the spread of COVID-19. With Pay by Link, a QR code with a payment link appears on the payment terminal. The shopper scans the QR code with the camera app on their phone and selects the payment link to complete the payment on a secure, Adyen-hosted checkout page.

You can implement in-store Pay by Link in various ways:

  • Default flow: When you initiate a payment, the QR code with the payment link appears after the shopper (or your store staff) selects a menu option on the display of the terminal.

  • Integrated flow: You launch the QR code with the payment link directly from your payment request. This contactless flow is possible with a Terminal API integration.

  • Automatic flow: The QR code with the payment link appears automatically a few seconds after you initiate a payment. This is a fully contactless flow, but the downside is that it is not compatible with offering QR code wallets as payment options on the terminal.

Pay by Link transactions are processed as online payments, but are routed over your existing point-of-sale merchant account or store, with the existing capture settings.

You can use in-store Pay by Link as an extension to your existing Adyen point-of-sale integration. It is supported with Terminal API and Classic integrations, as well as with the Standalone solution.

When you consider using in-store Pay by Link, be aware that it increases the time at checkout, that there are limitations, and that it is separate from Pay by Link for web stores and apps.

Limitations of in-store Pay by Link

Apart from increasing the time at checkout, in-store Pay by Link has some limitations:

  • In-store Pay by Link is not possible when the internet connection is down.

  • A Pay by Link transaction doesn't support special payment features such as tender options, tipping, currency conversion, and tax-free shopping.

  • Your payment terminal needs to be one of the following models: M400, P400 Plus, V240m Plus, V400c Plus, or V400m.

  • In-store Pay by Link supports the following payment methods:

    • Cards: American Express, Cartes Bancaires, China Union Pay, Diners, Discover, EFTPOS, JCB, MasterCard, Visa.
    • Online (ecommerce) payment methods that allow refunds. Currently: iDEAL, PayPal, Swish.

  • You don't have the protection against chargebacks that you have when a shopper presents their card to the terminal. To remedy this, you could use 3D Secure, which offers liability shift for fraud chargebacks.

Default Pay by Link flow

  1. You initiate a payment like you usually do.
  2. When prompted to present their card, the shopper selects the QR code option.
  3. From the list of wallets, the shopper selects Online Checkout.



  4. The terminal shows the payment link QR code and a prompt to scan the code.



  5. The shopper scans the QR code with the camera app on their smartphone and selects the payment link.
  6. Pay by Link obtains the details of your payment request from the terminal, and the terminal shows Follow instructions on your mobile to pay.
  7. The shopper completes the payment on the online checkout page using their preferred payment method.



  8. The terminal receives the payment result from Pay by Link. In a Terminal API or Classic integration, you receive the response to your payment request.
  9. If the payment is successful, the terminal shows Approved and, if it has a built-in printer, prints the receipt.
    If the payment fails, the terminal shows Declined.

Integrated flow

In a Terminal API integration, you can launch the payment link QR code through your payment request.

  1. Verify that the shopper wants to make the payment on an online checkout, using their phone.
  2. Make a payment request with a PaymentTransaction object that additionally contains:

    • TransactionConditions.AllowedPaymentBrand: paybylink

    The next example shows how you would initiate a 27.99 EUR Pay by Link payment from your cash register.

    {
       "SaleToPOIRequest":{
          "MessageHeader":{
             "ProtocolVersion":"3.0",
             "MessageClass":"Service",
             "MessageCategory":"Payment",
             "MessageType":"Request",
             "ServiceID":"0918171608",
             "SaleID":"POSSystemID12345",
             "POIID":"V400m-324688179"
          },
          "PaymentRequest":{
             "SaleData":{
                "SaleTransactionID":{
                   "TransactionID":"8954",
                   "TimeStamp":"2019-09-18T15:16:08+00:00"
                },
             },
             "PaymentTransaction":{
                "AmountsReq":{
                   "Currency":"EUR",
                   "RequestedAmount":27.99
                },
                "TransactionConditions":{
                   "AllowedPaymentBrand":[
                      "paybylink"
                   ]
                }
             }
          }
       }
    }

    This launches the payment link QR code on the terminal.

  3. The flow continues as described for the default flow, from step 4.

Automatic flow

The automatic flow is not compatible with making QR code wallet payments from the terminal. This means your terminals will no longer offer QR code wallets such as Alipay and WeChat Pay as payment options.

  1. You initiate a payment like you usually do.
  2. The payment terminal shows the payable amount and a prompt to complete the payment. At this point, the shopper can still choose to use another payment method.



  3. After a five-second delay, the terminal shows the payment link QR code and a prompt to scan the code. If the shopper doesn't want to pay online, they can select the contactless icon to go back to the previous screen.



  4. The shopper scans the QR code with the camera app on their smartphone and selects the payment link.
  5. The flow continues as described for the default flow, from step 6.

Enable in-store Pay by Link

Before you can offer Pay by Link in your store, you need to:

  1. Make sure that your Terms and Conditions are available on your website. When you customize Pay by Link you need to specify this URL.
  2. Contact our POS Support Team to configure your account.
    Let them know:

    • Whether you want to enable the default flow or the automatic flow of in-store Pay by Link. The default flow also allows the integrated flow when you have a Terminal API integration.
      You can also discuss optional setting. For example, to change these default time-outs:

      • Total time that the QR code remains visible (default 115 seconds).
      • For the contactless flow, the delay before the Pay by Link QR code appears (default 5 seconds).

    • The online (ecommerce) payment methods that you want to add to your account.

    • (Optional) Whether you want to set up 3D Secure.
      Because the shopper is present and fraud is less likely, 3D Secure is not mandatory. But we still recommend you let us set up 3D Secure for you, to make use of the liability shift for fraud chargebacks.

  3. Make sure your API credential has the required permissions:

    1. Log in to your Customer Area.
    2. Go to Account > API credentials.
    3. Enable the Checkout webservice role for the API credential that is used for processing payments.

Customize Pay by Link

Customize the payment page

You can customize the Adyen-hosted payment page with your branding, and include a link to your Terms & Conditions. Your Admin user has access to configure the payment page.

If a different Customer Area user needs access to configure the payment page, ask your Admin user to assign the Pay by Link Settings role. Your Admin user can configure the page, but they need to have the same role assigned to them before they can assign it to others. If your Admin user does not have this role, contact our Support Team.

To customize the payment page:

  1. Log in to your Customer Area.
  2. Select Account > Pay by Link.
  3. Select Appearance.
  4. Enter your company, store, or brand name, upload a brand logo, and add a link to your Terms & Conditions.
  5. Optionally change the background color and upload a background image.
  6. Select Save.

You will receive a confirmation that the payment form has been updated.

On the Settings tab you can enable options to ask the shopper for the name that's on their card and the billing address connected to the card. We don't recommend enabling these options though, because they slow down the checkout process. The other options on this tab don't apply to in-store Pay by Link.

Sort payment methods

The list of payment methods shown by Pay by Link is ordered by popularity, the most popular payment methods in the shopper's country appearing at the top.

If you want to present the payment methods in a different order:

  1. Log in to your Customer Area.
  2. Go to Account > Checkout.
    If Checkout does not appear in the Account menu, ask your Admin user to enable the Change payment methods user role for your user.
  3. Select a Country. The list of payment methods you now see are in the order they will appear to shoppers in this country.
  4. Drag the payment methods into the order that you want them to appear.
  5. Select Submit at the bottom of the page.

Remove payment methods

To remove a payment method from the list shown by Pay by Link, we recommend that you deactivate this payment method:

  1. Log in to your Customer Area.
  2. Go to Account > Payment methods.
  3. Select the check box next to the payment method that you want you disable.
  4. Select Deactivate at the bottom of the page.

Make a payment

To initiate an in-store Pay by Link payment, start a payment like you usually do.

Any transaction conditions or SaleToAcquirerData in your payment request are applied when the shopper pays with a contactless card or mobile wallet, but ignored when the shopper pays with Pay by Link.

Depending on the online (ecommerce) payment methods that you are using, you may receive payment responses with values that you normally don't see in your point-of-sale integration. Other than that, the payment response will contain the usual parameters.

If the payment fails, it will contain the applicable point-of-sale error condition and refusal reason.

If the shopper doesn't complete the payment in ten minutes after scanning the payment link QR code, the transaction times out and the terminal shows a red cross . You can retry the transaction.

If the payment result shown on the online checkout page is not the same as the result shown on the terminal, the result on the terminal is leading.
For example, if the Pay by Link page indicates no payment took place but the terminal shows Approved, the transaction did succeed.

Cancel a payment

You can cancel an in-progress Pay by Link transaction from the cash register or the terminal like you usually do. The terminal will show Cancelled. However, if the shopper has already selected the payment link, the online checkout page doesn't notify the shopper of the cancellation. In this situation, the result on the terminal is leading.

If the shopper cancels the transaction on the online checkout page, the terminal shows Cancelled. In a Terminal API or Classic integration you receive a payment response with the applicable point-of-sale error condition and refusal reason.

Refund a payment

There are various ways to refund an in-store Pay by Link payment:

  • Recommended: Make a referenced refund, specifying the transaction ID and time stamp of the original transaction in a ReversalRequest. Compared to unreferenced refunds, there is a lower risk of return fraud, and the reconciliation is simpler.

  • If the shopper has a card they can present to the terminal, you can make an unreferenced refund, specifying a PaymentRequest with a payment type of Refund.

  • Manually refund a payment from the Customer Area.

See also