Skip to main content

Commerce

Pay by Link: Revolutionizing Secure Payments for Businesses and Customers

Woman Hand Holding Credit Cards And Using Smartphone For Shopping Online With Payment On Internet Banking.

Payment Card Industry (PCI) compliance is a set of security standards established by the major payment providers like Visa and Mastercard. PCI Compliance is to store, retrieve, and transform card holder data securely during the payment process. Organizations that process payments using customers’ card data are required to comply with PCI standards.

Compliance with PCI is mandatory for businesses that handle customer card data, and failure to comply can result in huge penalties, fines, damage to the organization reputation, negative impact on the stock value, facing legal proceedings.

Pay by Link

Pay by Link is one of the popular solutions available for organizations to mitigate all the above risks. With Pay by Link, organizations can accept payments using payment links. Using the Pay by Link, shoppers can pay / submit the payment information (card data) securely at their convenience. The link takes the shopper to a secure payment page where they can make payment with their preferred payment method. Most of the Pay by Link service providers support wide range of payment methods including, Visa, Master Card, Discover, American Express, Apple Pay, Google Pay, Samsung Pay, Alipay, PayPal, Venmo, Gift Card’s, ACH Direct Deposit etc.…

Enabling Pay by Link in Call Center App

Pay by Link is commonly used in call centers applications as a way of securely capturing customers’ payment details. The Call Center Associate generates a link and emails the link to the customer for them to complete the purchase. This removes the need to read card details over the phone, which is a payments security minefield. Pay By Link can be integrated with Chatbots to share a link to the customer.

Chat

Configuring Pay By Link

Organizations can define their own rules when they generate Pay by Link for their customers like, Logo, Pay with a single payment method, Link validity, currency, etc.…

Organizations need to add terms and conditions before generating Pay by Link URL’s. Organizations can interact with Pay by link service providers sales team to do the initial setup and to create users with different roles. Once the account is setup in the System, users can login to their accounts to complete the setup.

Example:

Adyen supports both Test and Live accounts for users/admins to setup their accounts.

Login

Pay By Link’s can be generated in different ways like implementing API Integrations, logging to Customer Area, and generating links, or using iOS App.

Link expiry and reusability

By default, payment links expire after 24 hours. Organizations can extend the expiry of the payment link when the link gets created.

After a shopper makes a successful payment, anyone accessing the same link will display a message “You have already paid”. For some use cases, for example when accepting donations, business might want to override the default behavior so that Organizations can give out the same link to multiple shoppers. Business can override the default payment link expiry and non-reusability when the link gets created.

General Flow

Flow

Pay by Link through the API

Below is an example of Adyen Pay by Link process flow.

Step 1: Create a payment link

Make a POST /paymentLinks request specifying the following information:

Sample Request

String xApiKey = “YOUR_API_KEY”;

Client client = new Client(xApiKey,Environment.TEST);

var paymentLinks = new PaymentLinks(client);

var createPaymentLinkRequest = new CreatePaymentLinkRequest();

var amount = new Amount();

amount.setCurrency(“EUR”);

amount.setValue(4200L);

createPaymentLinkRequest.setAmount(amount);

createPaymentLinkRequest.setReference(“YOUR_PAYMENT_REFERENCE”);

createPaymentLinkRequest.setShopperReference(“YOUR_SHOPPER_REFERENCE”);

createPaymentLinkRequest.setDescription(“Blue Bag – ModelM671”);

createPaymentLinkRequest.setCountryCode(“NL”);

createPaymentLinkRequest.setMerchantAccount(“YOUR_MERCHANT_ACCOUNT”);

createPaymentLinkRequest.setShopperLocale(“nl-NL”);

var response = paymentLinks.create(createPaymentLinkRequest);

 

Sample Response

{
  “amount”: {
      “currency”: “EUR”,
      “value”: 4200
  },
  “countryCode”: “NL”,
  “description”: “Blue Bag – ModelM671”,
  “expiresAt”: “2020-07-25T11:32:20Z”,
  “id”: “PL50C5F751CED39G71”,
  “merchantAccount”: “YOUR_MERCHANT_ACCOUNT”,
  “reference”: “YOUR_PAYMENT_REFERENCE”,
  “shopperLocale”: “nl-NL”,
  “shopperReference”: “YOUR_SHOPPER_REFERENCE”,
  “url”: “https://test.adyen.link/PL50C5F751CED39G71”
}

 

Step 2: Retrieve the Pay by Link URL from the response object and send it back to the Call Center/Source Caller to display it on the Payment Screen. Automate the backend process to send payment link to the shopper using their preferred method.

Ex: – Email, SMS, Chat, etc…

Step 3: Implement listeners to listen to Adyen payment notifications and process the payment authorizations and payment confirmation updates.

 

Process Refunds

Adyen Pay by Link supports two different refund mechanisms.

  • Referenced refund: Referenced refunds are connected to the original payment using the unique identifier of that payment. Adyen supports both full and partial refunds and below is the sample JSON message for full and partial refunds.

Full Refund:

{

    “SaleToPOIRequest”:{

        “MessageHeader”:{

            “ProtocolVersion”:”3.0″,

            “MessageClass”:”Service”,

            “MessageCategory”:”Reversal”,

            “MessageType”:”Request”,

            “SaleID”:”POSSystemID12345″,

            “ServiceID”:”0207111105″,

            “POIID”:”V400m-324688179″

        },

        “ReversalRequest”:{

            “OriginalPOITransaction”:{

                “POITransactionID”:{

                    “TransactionID”:”BV0q001643892070000.VK9DRSLLRCQ2WN82″,

                    “TimeStamp”:”2022-01-31T12:08:45.004Z”

                }

            },

            “ReversalReason”:”MerchantCancel”

        }

    }

}

 

Partial Refund:


{
    “SaleToPOIRequest”:{
        “MessageHeader”:{
            “ProtocolVersion”:”3.0″,
            “MessageClass”:”Service”,
            “MessageCategory”:”Reversal”,
            “MessageType”:”Request”,
            “SaleID”:”POSSystemID12345″,
            “ServiceID”:”207111108″,
            “POIID”:”V400m-324688179″
        },
        “ReversalRequest”:{
            “OriginalPOITransaction”:{
                “POITransactionID”:{
                    “TransactionID”:”BV0q001643892070000.VK9DRSLLRCQ2WN82″,
                    “TimeStamp”:”2022-01-31T12:08:45.004Z”
                }
            },
            “ReversalReason”:”MerchantCancel”,
            “ReversedAmount”:6.00,
            “SaleData”:{
                “SaleToAcquirerData”:”currency=EUR”,
                “SaleTransactionID”:{
                    “TimeStamp”:”2022-02-03T15:04:14.004Z”,
                    “TransactionID”:”rev-708″
                }
            }
        }
    }
}

 

 

  • Unreferenced refund: Unreferenced refunds let business return any amount to any card presented to the payment terminal. For example, business can issue a refund to someone who did not make the original payment, such as a gift recipient.

 

In conclusion, Pay by Link is revolutionizing the way businesses and customers handle transactions. By offering a seamless, secure, and convenient payment option, it not only enhances the customer experience but also streamlines payment processes for businesses. Whether you are a small business looking to simplify your invoicing or a large enterprise aiming to enhance your payment systems, Pay by Link provides a versatile solution that adapts to your organization’s needs.

As digital transactions continue to evolve, adopting innovative solutions like Pay by Link will keep your business ahead of the curve, ensuring that you meet the growing demands of convenience and security from your customers.

Thank you for reading! Stay tuned for more insights and updates on the latest in digital payment solutions.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Hanuman Gali

Hanuman Gali is a Senior Technical Architect at Perficient. He has 19+ years of IT experience and in-depth domain and functional knowledge in Retail, Supply Chain Management, and IBM-Sterling Distributed Order Management.

More from this Author

Categories
Follow Us