
PayByLink
PayByLink allows businesses to send personalised payment links directly to customers via SMS or email. SMS messages have some of the highest open rates compared to other communication channels, typically between 95% and 99%, with an average of around 98%, significantly higher than email open rates, which average 20–30%.
This approach supports traditional digital payment methods while improving engagement and payment completion rates. It gives customers flexibility to pay at a time that suits them, helping businesses collect payments more efficiently and deliver a better overall experience.
Implementing PayByLink is quick and easy. It is ideal for contact centres issuing one-off secure payment links via SMS or email without the costly expense of call masking services. The service is fully PCI secure, making it suitable for work-from-home teams. It can also be used to send regular payment reminders, helping businesses reduce arrears, particularly on small balances that are uneconomical to chase.
The PayByLinks APIs are REST based and communication is conducted over a HTTPS connection using TLS v1.2.
Your API Subscription Key must be specified in each request using the Ocp-Apim-Subscription-Key header and the request body should be in the format of application/json.
The following APIs allow you to create a single Payment Link and view the latest status of the link. They also allow you to upload a batch of requests for payment to be sent out to your customers:
Creating a Payment Link
To create a request for payment or repayment plan using our Pay by Link service a POST request is required containing: ClientTransactionRef, Amount, AccountReference, Reason or passphrase for the request and the customer details including their Mobile Number.
Upon successful submission of the request the API response will contain the Request ID and both the long and short URL to the PaybyLink Hosted Payment Page.
For details on how to create a Payment Links, refer to the detailed API Documentation
Get a list of your Payment Links
To retrieve the details of your Requests for Payment, you will need send a List Requested Payments GET Request which contains at least one query parameter, like the customer name, or the amount of the request payment. A synchronous response is returned containing the details of each Request for Payment that matches the query.
For details on how to get a list of your Payment Links, refer to the detailed API Documentation
Update a Payment Link status
To change the status of a Request for Payment you can send Update Request for Payment PUT request containing the Request Id. An synchronous response containing the result of the request is returned.
For details on how to update the status of a Payment Link, refer to the detailed API Documentation
Batch processing Payment Links
To upload a batch of PaybyLink requests for processing you will first need to POST a Batch Upload Request. A synchronous response is returned contain a Batch Id and Upload URL needed to upload your batch to a blob storage.
For details on how to upload a batch of Payment Links for processing, refer to the detailed API Documentation
Confirm file upload
After you have uploaded your batch file as a blob to the URL you received in the PaybyLink Batch Upload Request response, you will need to confirm the upload by sending a Confirm File Upload POST request containing the BatchId.
For details on how to confirm you have uploaded the batch file, refer to the detailed API Documentation
Get batch processing status
To retrieve the processing status of a Paybylink Batch upload, you will need send a Check Batch Status GET Request which contains the batch Id in the URL.
For details on how to get the status of the processing of the batch, refer to the detailed API Documentation
Get list of batch Payment Links
To get a list of all the Paybylink batch uploaded you will need to send a List Batch Uploads GET request that contains the page number you wish to receive details on.
For details on how to get a list of your batch Payment Links, refer to the detailed API Documentation
Get list of failed batch requests
To get a list of all the PaybyLink batch requests that have failed to be sent, you will need to send a List Failed Batch Records GET request. A synchronous response is returned which lists each line record that has failed and the reason for the failure, allowing you to fix the errors and resend only the failed requests.
For details on how to get a list of your failed batch requests, refer to the detailed API Documentation