Skip to content

Links via API

Use the following endpoint to create and manage links via API, to share with your customers.

EnvironmentURLOperation Method & EndpointOperation Description
PRODapi.sibsgateway.comPOST /api/v1/link-to-pay/createPerforms a request to create a link
TESTstargate.qly.site1.sibs.pt/api/v1/link-to-pay/createPerforms a request to create a link

Create a new link

New Link request
LocationData ElementTypeConditionDescription
Request HeaderContent-TypeStringMandatoryapplication/json
Request HeaderAuthorizationStringMandatoryBearer Token. Based on OAuth2 authentication performed in a pre-step.
Request Headerx-ibm-client-idStringMandatoryToken that identifies a client organization. It is provided during onboarding process and must be used in every call.
Request Body.paymentInfo.paymentMethodspaymentMethodPaymentMethodCodeConditionalPayment method code.
Request Body.paymentInfo.amountValueNumber (double)MandatoryAmount in the transaction.
Request Body.paymentInfo.amountcurrencyCurrency CodeMandatoryCurrency used in the transaction. ISO 4217 Alpha-3 Code.
Request Body.paymentInfomerchant-idStringMandatoryMerchant code
Max10NumericText
Request Body.paymentInfoacceptorIdStringMandatoryAcceptor code in Merchant
Max10NumericText
Request Body.paymentInfoterminalIdStringMandatoryTerminal code.
Max10NumericText
Request Body.paymentInfoamountAmountMandatoryAmount with the value and currency of the transaction.
Request Body.paymentInfovalidityValidityTypeCodeMandatoryValidity type code.

Possible values:
• HR48 – 48 hours;
• HR72 – 72 hours;
• DY90 – 90 days.

Exact4Text
Request Body.paymentInfolinkTypeLinkTypeCodeMandatoryLink type code.

Possible values:
• SNGL – single usage
• MLTP – multiple usage

Exact4Text
Request Body.paymentInfopaymentMethodsPaymentMethodsMandatoryArray of Allowed Payment Methods
Request Body.paymentInforeferenceStringMandatoryReference related to link

Max35Text
Request Body.paymentInfodescriptionStringMandatoryDescription related to link

Max256Text
Request Body.dataCollection.shippingAddressshippingAddressCollectionBooleanMandatoryIndicates if Shipping Address must be collected.
Request Body.dataCollection.shippingAddressshippingCityCollectionBooleanMandatoryIndicates if Shipping Address City must be collected.
Request Body.dataCollection.shippingAddressshippingPostalCodeCollectionBooleanMandatoryIndicates if Shipping Address Postal Code must be collected.
Request Body.dataCollection.shippingAddressshippingCountryCollectionBooleanMandatoryIndicates if Shipping Address Country must be collected.
Request Body.dataCollection.customMerchantInfo.parameters.parametertagStringMandatoryReference related to link (regarding Link to Pay service)

Max35Text
Request Body.dataCollection.customerInfocustomerNameBooleanMandatoryIndicator 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.billingAddresscustomerEmailBooleanMandatoryIndicator 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.billingAddressbillingAddressCollectionBooleanMandatoryIndicates if Billing Address must be collected.
Request Body.dataCollection.billingAddressbillingCityCollectionBooleanMandatoryIndicates if Billing Address City must be collected.
Request Body.dataCollection.billingAddressbillingCountryCollectionBooleanMandatoryIndicates if Billing Address Country must be collected.
Request Body.dataCollectionbillingPostalCodeCollectionBooleanMandatoryIndicates if Billing Address Postal Code must be collected.
Request Body.dataCollectioncustomerInfoCustomerInfoMandatoryObject that set customer information to be collected.
Request Body.dataCollectionbillingAddress InfoBillingAddressMandatoryObject that set billing address information to be collected.
Request Body.dataCollectionshippingAddressInfoShippingAddressMandatoryObject that set shipping address information to be collected.
Request BodycustomMerchantInfoCustomMerchantInfoOptionalObject that set specific merchant information to be collected.
Request BodypaymentInfoPaymentInfoMandatoryObject that defines payment info related to link generation.
Request BodydataCollectionDataCollectionMandatoryObject that identifies info to be collected from the customer.
Request Body.dataCollectionlinkStatusWebhookInfolinkStatusWebhookInfoMandatoryObject that set Link To Pay status webhook 
Request Body.dataCollection.linkStatusWebhookInfolinkToPayWebhookStatusIndicatorBooleanMandatoryIndicates if Link To Pay status webhook must be delivered to Merchant whenever link status changes. 
Possible values are:
• ‘True’ – Link To Pay status webhook to be set to this specific Link To Pay;
• ‘False’ – Link To Pay status webhook not to be set to this specific Link To Pay.
Request Body.dataCollection.linkStatusWebhookInfoemailAddressesEmail Address ListConditionalEmail Address List.
Must be present if linkToPayWebhookStatusIndicator is set with ‘True’.
emailAddresses list is limited to 3 emailAddress
Request Body.dataCollection.linkStatusWebhookInfo,emailAddressesemailAddressEmailAddressConditionalEmail Address
At least one emailAddress must be present.
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://stargate-cer.qly.sibs.pt/linktopay//N2RjMzZiNGMtNDljZC00NTkyLTllYWEtMGE.MjAyNS0wMS0yNiAxNjowMToyMC4wMDE=.Tn4XoWV86LBSm5ndLvYm+5S/jliipSoFs9u0ywoq3QY=",
"linkExpiryDate": "2025-01-26T16:01:20.955Z"
,
"returnStatus": {
"statusCode": "000",
"statusMsg": "Success",
"statusDescription": "Success"
}
}

Get list of links

Get list of links request
LocationData ElementTypeConditionDescription
Request HeaderContent-TypeStringMandatoryapplication/json
Request HeaderAuthorizationStringMandatoryBearer Token. Based on OAuth2 authentication performed in a pre-step.
Request Headerx-ibm-client-idStringMandatoryToken that identifies a client organization. It is provided during onboarding process and must be used in every call.
Request BodymerchantIdMax10NumericTextMandatoryMerchant code
Request BodyacceptorIdMax10NumericTextOptionalAcceptor code
Get list of links request example
{
  "merchantId" : "95",
  "acceptorId" : "1"
}
Response example
{
    "linkThemeDefinitionIndicator": true,
    "links": [
        {
            "linkId": "NGFhZWM1ZGMtMWVmYy00YjQzLTkwYzUtZmQ",
            "paymentInfo": {
                "terminalId": "91",
                "amount": {
                    "value": 10,
                    "currency": "EUR"
                },
                "validity": "HR48",
                "linkType": "MLTP",
                "linkStatus": "EXPR",
                "paymentMethods": [
                    "BNCT",
                    "CARD",
                    "CRTB",
                    "IDEL",
                    "MBWY",
                    "PY24"
                ],
                "reference": "Teste",
                "description": "Teste",
                "linkCreationDate": "2025-10-31T10:28:59.442Z",
                "linkExpiryDate": "2025-11-02T10:28:59.432Z",
                "linkURL": "https://stargate.qly.sibs.pt/linktopay//NGFhZWM1ZGMtMWVmYy00YjQzLTkwYzUtZmQ.MjAyNS0xMS0wMiAxMDoyODo1OS4wMjg=.9kv1rjDzXPMGMcQ5pJk2umxXDx9uPvHYCUR4qlD7NuY="
            }
        },
        {
            "linkId": "OTJlMjBmY2EtNGFmYi00NmM3LWEzNWQtZjl",
            "paymentInfo": {
                "terminalId": "91",
                "amount": {
                    "value": 7,
                    "currency": "EUR"
                },
                "validity": "HR48",
                "linkType": "MLTP",
                "linkStatus": "EXPR",
                "paymentMethods": [
                    "CARD",
                    "CRTB",
                    "IDEL",
                    "MBWY",
                ],
                "reference": "test 7",
                "description": "Test 7",
                "linkCreationDate": "2025-10-27T11:09:44.883Z",
                "linkExpiryDate": "2025-10-29T11:09:44.873Z",
                "linkURL": "https://stargate.qly.sibs.pt/linktopay//OTJlMjBmY2EtNGFmYi00NmM3LWEzNWQtZjl.MjAyNS0xMC0yOSAxMTowOTo0NC4wMDk=.3aK35WcunBVz17U5YYiRDLVT5k4HIOYR5Xlae+uuJuA="
            }
        },
        {
            "linkId": "MTJjNWVlZTQtYjJiNS00MTc0LThjNTktY2U",
            "paymentInfo": {
                "terminalId": "91",
                "amount": {
                    "value": 12.34,
                    "currency": "EUR"
                },
                "validity": "HR48",
                "linkType": "MLTP",
                "linkStatus": "EXPR",
                "paymentMethods": [
                    "CARD",
                    "IDEL",
                    "MBWY",
                ],
                "reference": "123",
                "description": "123",
                "linkCreationDate": "2025-02-07T09:41:15.415Z",
                "linkExpiryDate": "2025-02-09T09:41:15.399Z",
                "linkURL": "https://stargate.qly.sibs.pt/linktopay//MTJjNWVlZTQtYjJiNS00MTc0LThjNTktY2U.MjAyNS0wMi0wOSAwOTo0MToxNS4wNDE=.uqhAMSHP4InR2UkpgKRES6bon3I62zMX2z1agi35mh4="
            }
        }

    ],
    "returnStatus": {
        "statusCode": "000",
        "statusMsg": "Success",
        "statusDescription": "Success"
    }
}

Link Status Update

Link Status Update request
LocationData ElementTypeConditionDescription
PathlinkIDStringMandatoryLink Identifier
Request HeaderContent-TypeStringMandatoryapplication/json
Request HeaderAuthorizationStringMandatoryBearer Token. Based on OAuth2 authentication performed in a pre-step.
Request Headerx-ibm-client-idStringMandatoryToken that identifies a client organization. It is provided during onboarding process and must be used in every call.
Request BodyterminalStringConditionalTerminal related data. Only present in success responses.
Request Body.terminalmerchantIdStringMax10NumericTextMerchant code. 
Request Body.terminalacceptorIdStringMax10NumericTextAcceptor code in Merchant.
Request Body.terminalterminalIdStringMax10NumericTextTerminal Identification. 
Request BodylinkStatusStringMandatoryLink status code.
Possible values:
ACTV – “active”;
INCT – “inactive”;
CNCL – “cancelled”;
EXPR – “expired”;
USED – “used” (Only for Single Use Links).
Link Status Update request example
"terminal": {
        "merchantId": "95",
        "acceptorId": "1",
        "terminalId": "91",
        "linkStatus": "CNCL"
    }
Response example
{
    "returnStatus": {
        "statusCode": "000",
        "statusMsg": "Success",
        "statusDescription": "Success"
    },
    "transactionStatus": "Success"
}

Get Link’s Status

Get Link’s Status request
LocationData ElementTypeConditionDescription
PathlinkIDStringMandatoryLink Identifier
Request HeaderContent-TypeStringMandatoryapplication/json
Request HeaderAuthorizationStringMandatoryBearer Token. Based on OAuth2 authentication performed in a pre-step.
Request Headerx-ibm-client-idStringMandatoryToken that identifies a client organization. It is provided during onboarding process and must be used in every call.
Response example
{
"returnStatus": {
"statusCode": "000",
"statusMsg": "Success",
"statusDescription": "Success"
},
"linkStatus": "EXPR"
}
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.