Cycle Logo

Payment Links

A powerful feature for upselling your products. Quickly generate a payment request with a desired amount and send the link to your customer to initiate payment.

Overview

You can create a Payment Link via the Merchant Console or through the API. To create a Payment Link, your account must have the feature enabled. If you’re unsure whether it’s enabled, please reach out to your merchant manager for confirmation.

API Endpoint

POST /api/v3/paymentlinks

Request Parameters

FieldRequiredDescription
countryYes2-letter ISO country code, e.g GH, BJ, MA
currencyYes3-letter ISO currency code, e.g XOF, USD
amountYese.g 12.34
descriptionYesProduct description
orderCommandNoEnum values: AUTHORIZE (fund authorization) or CHARGE (auth and capture, default value)
orderIdNoMerchant order’s ID.
validityPeriodNo(d,h,m) e.g “1,2,3” means the payment link will expire in 1 day, 2 hours and 3 minutes. Default: 90 days from creation.
customerIdNoCustomer’s ID. If the ID is not in the system, a new customer will be created.
customerNameNoCustomer’s name.
customerEmailOptionalCustomer’s email. Required if “sendEmail” is true; payment reminders will be sent here.
cityNoCustomer’s city
stateNoCustomer’s state/province
addressLineNoCustomer’s address
addressLine2NoCustomer’s street number
documentNoCustomer’s document ID, e.g., tax ID
postalCodeNoCustomer’s postal code
phoneNumberNoCustomer’s phone number
birthdayNoCustomer’s birthday, in yyyy-MM-dd format
paymentMethodNoEnum values for the payment method (e.g., CREDIT_CARD, MTN). Contact your account manager for available methods.
languageNo2-letter language name for the payment page (e.g., en, fr, cn)
callbackUrlNoURL to receive server-to-server notifications.
returnUrlNoURL to redirect the customer to after payment completion.
sendEmailNoSend payment reminders to the customer (true or false).

Example Request

{
  "country": "ZA",
  "currency": "ZAR",
  "amount": "1.00",
  "description": "Sample Goods",
  "orderCommand": "CHARGE",
  "orderId": "order-12345"
}

Response Parameters

FieldDescription
tokenThe ID of the payment link, e.g LINK352100251GE26
urlThe entry point of the payment; send this URL to the customer
merchantNameThe name of the merchant.
statusEnum value, the status of the payment link (ACTIVE, DISABLED, EXPIRED)
createdThe creation date, e.g "2025-02-27T05:37:31Z"
lastModifiedThe last modified date, e.g "2025-02-27T05:37:31Z"
expirationDateExpiration date in UTC timezone, format: yyyy-MM-ddTHH:mm:ssZ. E.g "2025-05-28T00:00:00Z"
createdByAPI user that created the payment link.

Example Response

{
    "token": "LINK352100251GE26",
    "url": "https://sandbox.cyclepay.net/pwthree/paybylink/LINK352100251GE26",
    "merchantName": "CycleDemo",
    "country": "ZA",
    "currency": "ZAR",
    "amount": 1.00,
    "description": "Sample Goods",
    "expirationDate": "2025-05-28T00:00:00Z",
    "created": "2025-02-27T05:37:31Z",
    "lastModified": "2025-02-27T05:37:31Z",
    "status": "ACTIVE",
    "orderCommand": "CHARGE",
    "orderId": "order-12345",
    "createdBy": "cycle-api-caller"
}

Example Error Response

{
    "requestId": "be4c37c1-fec2-42b9-a6b3-68f4102a3de1",
    "errorCode": "validation_error",
    "message": "[amount] amount is required "
}