Link to Pay lets you accept payments through a unique, shareable link. You can quickly customize, create, manage, and share payment links through various channels, like email, social media, text messages.
When customers click the link, they are directed to a dedicated payment page with a Payment Form. Once a payment is completed, you will receive a notification via webhook, if previously set up.
This service streamlines payment acceptance for businesses of all sizes.
Payment methods
Step 1: Define a template
Before you start using Link to Pay, define in SIBS Backoffice a template for your payment page.
- Go to SIBS Backoffice and find SIBS Payment Gateway > Link To Pay in the left-side menu. Click the Customize Landing Page button.
- Add a name, theme, default language, and upload a logo for your template. Then click Save.
Step 2: Create a payment link
Option 1: Create a payment link in SIBS Backoffice
Option 2: Create a New Link API
Option 1: Create a payment link in SIBS Backoffice
In the Link to Pay menu in the SIBS Backoffice, you can initiate the creation of a new payment link by selecting the “Create New Link” button. This action prompts the interface to generate and save a new payment link along with the associated information.
When generating a new link, you are required to complete two essential sections on this page:
Payment info
This section collects information concerning the chosen payment operation:
Field | Condition | Description |
---|---|---|
Payment Terminal | Mandatory | Merchant’s Terminal list |
Amount | Mandatory | Amount |
Currency | Mandatory | Currency |
Link Validity | Mandatory | 1 – Up to 48 hours; 2 – Up to 72 hours; 3 – Up to 90 days. |
Link type | Mandatory | 1 – Single use; 2 – Multiple use. |
Reference | Mandatory | Reference text |
Description | Mandatory | Small descriptive text |
Allowed Payment Methods | Mandatory | Multiple select drop list element with every available payment method to the Merchant’s terminal |
Customer info
You may wish to collect specific information from your customer. In this section, you will be able to define what information should be collected from the customer.
It consists of the following three categories:
Personal info:
Field | Condition | Description |
---|---|---|
Full Name | Mandatory | Customer’s full name |
Mandatory | Customer’s email address |
Billing address:
Field | Condition | Description |
---|---|---|
Address | Optional | Customer’s Billing Address |
City | Optional | Customer’s Billing City |
Postal Code | Optional | Customer’s Billing Postal Code |
Country | Optional | Customer’s Billing Country |
Shipping address:
Field | Condition | Description |
---|---|---|
Address | Optional | Customer’s Shipping Address |
City | Optional | Customer’s Shipping City |
Postal Code | Optional | Customer’s Shipping Postal Code |
Country | Optional | Customer’s Shipping Country |
Option 2: Create a New Link API
Use the following endpoint to create new links via API and share with your customers:
Environment | URL | Operation Method & Endpoint | Operation Description |
---|---|---|---|
PROD | api.sibsgateway.com | POST /api/v1/link-to-pay/create | Performs a request to create a link |
CER | stargate-cer.qly.site1.sibs.pt | /api/v1/link-to-pay/create | Performs a request to create a link |
Please check below the API structure request to create a new link:
New Link request
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Request Header | Content-Type | String | Mandatory | application/json |
Request Header | Authorization | String | Mandatory | Bearer Token. Based on OAuth2 authentication performed in a pre-step. |
Request Header | x-ibm-client-id | String | Mandatory | Token that identifies a client organization. It is provided during onboarding process and must be used in every call. |
Request Body.paymentInfo.paymentMethods | paymentMethod | PaymentMethodCode | Conditional | Payment method code. Possible values : • CARD-‘Card Payments’ • PYBL-‘Pay By Link’ • BLIK-‘BLIK’ • XPAY-‘XPAY Payments’ • BNCT-‘Bancontact’ • IDEL-‘Ideal’ Condition: at least one payment method must be selected. Max5Text |
Request Body.paymentInfo.amount | Value | Number (double) | Mandatory | Amount in the transaction. |
Request Body.paymentInfo.amount | currency | Currency Code | Mandatory | Currency used in the transaction. ISO 4217 Alpha-3 Code. |
Request Body.paymentInfo | merchant-id | String | Mandatory | Merchant code Max10NumericText |
Request Body.paymentInfo | acceptorId | String | Mandatory | Acceptor code in Merchant Max10NumericText |
Request Body.paymentInfo | terminalId | String | Mandatory | Terminal code. Max10NumericText |
Request Body.paymentInfo | amount | Amount | Mandatory | Amount with the value and currency of the transaction. |
Request Body.paymentInfo | validity | ValidityTypeCode | Mandatory | Validity type code. Possible values: • HR48 – 48 hours; • HR72 – 72 hours; • DY90 – 90 days. Exact4Text |
Request Body.paymentInfo | linkType | LinkTypeCode | Mandatory | Link type code. Possible values: • SNGL – single usage • MLTP – multiple usage Exact4Text |
Request Body.paymentInfo | paymentMethods | PaymentMethods | Mandatory | Array of Allowed Payment Methods |
Request Body.paymentInfo | reference | String | Mandatory | Reference related to link Max35Text |
Request Body.paymentInfo | description | String | Mandatory | Description related to link Max256Text |
Request Body.dataCollection.shippingAddress | shippingAddressCollection | Boolean | Mandatory | Indicates if Shipping Address must be collected. |
Request Body.dataCollection.shippingAddress | shippingCityCollection | Boolean | Mandatory | Indicates if Shipping Address City must be collected. |
Request Body.dataCollection.shippingAddress | shippingPostalCodeCollection | Boolean | Mandatory | Indicates if Shipping Address Postal Code must be collected. |
Request Body.dataCollection.shippingAddress | shippingCountryCollection | Boolean | Mandatory | Indicates if Shipping Address Country must be collected. |
Request Body.dataCollection.customMerchantInfo.parameters.parameter | tag | String | Mandatory | Reference related to link (regarding Link to Pay service) Max35Text |
Request Body.dataCollection.customerInfo | customerName | Boolean | Mandatory | Indicator related to “customer name”: • True – field to be collected from customer; • False – filed to not be present to customer (not necessary to be collected from customer). Must be filled with “True “ |
Request Body.dataCollection.customerInfo | customerEmail | Boolean | Mandatory | Indicator related to “customer email”: True – field to be collected from customer; False – filed to not be present to customer (not necessary to be collected from customer). Must be filled with “True” |
Request Body.dataCollection.billingAddress | billingAddressCollection | Boolean | Mandatory | Indicates if Billing Address must be collected. |
Request Body.dataCollection.billingAddress | billingCityCollection | Boolean | Mandatory | Indicates if Billing Address City must be collected. |
Request Body.dataCollection.billingAddress | billingCountryCollection | Boolean | Mandatory | Indicates if Billing Address Country must be collected. |
Request Body.dataCollection,billingAddress | billingPostalCodeCollection | Boolean | Mandatory | Indicates if Billing Address Postal Code must be collected. |
Request Body.dataCollection | customerInfo | CustomerInfo | Mandatory | Object that set customer information to be collected. |
Request Body.dataCollection | billingAddress Info | BillingAddress | Mandatory | Object that set billing address information to be collected. |
Request Body.dataCollection | shippingAddressInfo | ShippingAddress | Mandatory | Object that set shipping address information to be collected. |
Request Body.dataCollection | customMerchantInfo | CustomMerchantInfo | Optional | Object that set specific merchant information to be collected. |
Request Body | paymentInfo | PaymentInfo | Mandatory | Object that defines payment info related to link generation. |
Request Body | dataCollection | DataCollection | Mandatory | Object that identifies info to be collected from the customer. |
New Link request example
{
"paymentInfo" : {
"merchantId" : "530",
"acceptorId" : "1",
"terminalId" : "450",
"amount" : {
"value" : 4,
"currency" : "PLN"
},
"validity" : "DY90",
"linkType" : "SNGL",
"paymentMethods" : ["BLIK"],
"reference" : "4",
"description" : "Test 4"
},
"dataCollection" : {
"customerInfo" : {
"customerName" : true,
"customerEmail" : true
},
"billingAddressInfo" : {
"billingAddressCollection" : false,
"billingCityCollection" : false,
"billingPostalCodeCollection" : false,
"billingCountryCollection" : false
},
"shippingAddressInfo" : {
"shippingAddressCollection" : false,
"shippingCityCollection" : false,
"shippingPostalCodeCollection" : false,
"shippingCountryCollection" : false
},
"customMerchantInfo" : {
"parameters" : {
"tag" : "t1",
"label" : "tag",
"format" : "jpg"
}
}
}
}
The response from the new Link creation operation is the following:
Response example
{
"linkId": "N2RjMzZiNGMtNDljZC00NTkyLTllYWEtMGE",
"linkURL": "https://www.linkURL.com/linktopay//N2RjMzZiNGMtNDljZC00NTkyLTllYWEtMGE.MjAyNS0wMS0yNiAxNjowMToyMC4wMDE=.Tn4XoWV86LBSm5ndLvYm+5S/jliipSoFs9u0ywoq3QY=",
"linkExpiryDate": "2025-01-26T16:01:20.955Z",
"returnStatus": {
"statusCode": "000",
"statusMsg": "Success",
"statusDescription": "Success"
}
}
Link validity and usability
When using Link to Pay, you can configure the link’s expiration period, ranging from 48 hours, 72 hours or to a maximum of 90 days.
Additionally, you have the choice to set a payment link for either single or multiple uses. In a single-use case, the link is designed for one successful transaction, while in multiple-use case, it can be shared with multiple shoppers without any usage limitations.
Manage payment links
The Link to Pay menu in the SIBS Backoffice displays a list of all generated links.
The menu provides the following information:
Category | Description |
---|---|
Link ID | Unique identifier generated upon the moment the link is created. |
Reference | Link reference text. |
Link creation date | Date creation. |
Link expiry date | Expiry date and time of the link. |
Status | This indicates the status of a payment link: ‘Active’ A Payment Link that has not been used, either newly created or reactivated by the merchant, and whose current date and time are prior to the set expiry date. It can be utilized by the customer to make payment. ‘Inactive’ A single type Payment link that has been used. It cannot be used by the customer to make other payments. ‘Cancelled’: A Payment Link that has been cancelled by the merchant. It cannot be used anymore. ‘Expired’ A Payment Link that has its current date and time surpassing the set Expiry Date defined in the creation. It cannot be used anymore. ‘Deactivated’ A Payment Link that has been deactivated by the merchant and does not enable to perform payments. It can be activated again by the merchant if the Expiry Date has not been surpassed. ‘Suspended’ Indicates that a transaction performed using the Payment Link is pending. It cannot be used. |
You can expand each row and see more details regarding a selected link.
If you click the three dots icon, you may have the following actions at your disposal:
- Copy Link – enables you to quickly copy the link for easy sharing.
- Deactivate Link – temporarily suspends the link. It can be reactivated.
- Cancel Link – permanently terminates the link, rendering it non-functional. It cannot be reactivated.
- Activate Link – turns a previously deactivated link active again.
- Associated Transactions – redirects you to Transactions menu in the SIBS Backoffice displaying a list of all transactions of the last 31 days associated to the selected payment link.