---
title: "Generate Payment Link"
method: POST
path: "/PaymentPages/generateLink"
tags: ["Payment Pages"]
---

# Generate Payment Link

`POST /PaymentPages/generateLink`

The PaymentPages/GenerateLink endpoint allows you to generate a payment link for processing transactions. You can configure options like charge methods, amount, and success/failure callbacks.

## Headers

- `api-key` string, required
- `secret-key` string, required

## Request body

- object
  - `payment_page_uid` string, required — UID of the Payment Page
  - `charge_method` 0 | 1 | 2 | 3 | 4 | 5 — 0 - Check (J2) 1 - Charge (J4) 2 - Approval (J5) 3 - Recurring Payments 4 - Refund (J4) 5 - Token (J2) * If not set, default value - what is set in the payment page settings.
  - `charge_default` 'credit-card' | 'bit' | 'multipass' | 'paypal' — Options: credit-card, bit, multipass, paypal, praxell, valuecard, verifone. If your payment page includes multiple options, you can select which tab will be opened by default when the user lands on the payment page.
  - `hide_other_charge_methods` boolean — If you have multiple payment methods in your page with this option you will be able to hide other payment methods and manage the selection in your website
  - `language_code` string — (Transfer the language code that displayed in your page, by default will take the general setting of the page)
  - `amount` number, required — Amount of the page
  - `non_voucher_minimum_amount` integer — Minimum amount of required payment for Credit Card transactions (Apple Pay, Google Pay, Bit, PayPal)
  - `currency_code` string, required — Currency of the page
  - `sendEmailApproval` boolean, required — Send email for successful transaction
  - `sendEmailFailure` boolean, required — Send email for failed transaction
  - `expiry_datetime` string — number, minutes until page expired (if sent we will use it instead of payment page settings)
  - `refURL_success` string — nullable (if sent we will use it instead of payment page settings)
  - `refURL_failure` string — nullable (if sent we will use it instead of payment page settings)
  - `refURL_cancel` string — nullable (if sent we show "Return To Site" and linked to the url provided instead of payment page settings)
  - `refURL_callback` string — nullable (if sent we will use it instead of payment page settings)
  - `send_failure_callback` boolean — (In case you would like to receive the callback also in failure transaction)
  - `custom_invoice_name` string — nullable (In case you have integrated invoice company you can decide if the invoice customer name will be different then the "customer_name" parameter in customer object)
  - `create_token` boolean — nullable (In case you have tokenization permission, you can decide if you would like to return the token of the customer for future charges)
  - `initial_invoice` boolean — nullable (In case you have invoice company and it's activated in your payment page, you can decide if for spesfic transaction invoice will be initial or not, to use default please don't send this parameter at all)
  - `invoice_language` boolean — nullable (In this field you can send the language of the invoice you would like us to send to your invoice company. In case this field will not be sent, language will be default setting)
  - `paying_vat` boolean — nullable (In case you would like that tax document will be include VAT or not included VAT, This parameter is not required)
  - `hide_payments_field` boolean — nullable (Option to hide payments field for foreign transactions that acquires are not supported)
  - `payments` integer — nullable (if sent this will be the amount of installments for the payment)
  - `payments_credit` boolean — nullable (Option to make credit transaction, number of payments will be minimum 3 and maximum based on payments value)
  - `payments_selected` integer — nullable (if sent then the number of the payments will be as selected in the payment page)
  - `payments_first_amount` integer — nullable (Works only if sending "payments_selected" and payplus will calculated other installments. First installment amount can be changed due to other payments)
  - `hide_identification_id` boolean — nullable (Option to hide identification id field for foreign transactions)
  - `send_customer_success_sms` boolean — If SMS package purchased the system will notify your customer by SMS
  - `customer_failure_sms` boolean — If SMS package purchased the system will notify your customer by SMS
  - `add_user_information` boolean — In case you would like to control the customer details form
  - `allowed_cards` string[] — In case you would like to proceed just specific card brands (ex. ["mastercard","visa"])
  - `allowed_bins` string[] — In case you would like to proceed just specific BINs in the specific transaction (6 or 8 digits).
  - `allowed_charge_methods` string[] — In case you would like to show specific payment methods options in the payment page (ex. ["credit-card","google-pay"])
  - `more_info` string — nullable (Additional Information)
  - `more_info_2` string — nullable (Additional Information)
  - `more_info_3` string — nullable (Additional Information)
  - `more_info_4` string — nullable (Additional Information)
  - `more_info_5` string — nullable (Additional Information)
  - `create_hash` string — nullable (Encrypt using Base64 the customer details object in the redirect back to your website and callback)
  - `show_more_info` string — nullable (Show general information of the more_info's on the payment page if they sent)
  - `support_track2` boolean — nullable (Support track2 in payment pages)
  - `close_doc` string — In case you would like to close document in invoice+ by payment confirmation.
  - `customer` object
    - `uid` string — To allocate the payment to specific customer
    - `customer_name` string, required — Important in case you working with invoicing company
    - `email` string, required — By this field we will search for a customer and allocate the payment under the client
    - `customer_external_number` string — This field will be used to pass your external customer id from ERP or other system
    - `vat_number` string — In case email are not sent, we will search for a customer by this field
    - `phone` string
    - `address` string
    - `postal_code` string
    - `city` string
    - `country_iso` string
  - `items` object[] — nullable if send in item "product_uid" we will use this product or send error, if send "name" and not "product_uid" we will create new product with this name. more option to send if ("name" && !product_uid): vat_type, barcode, value,price.last option we will use default product.
    - `name` string — products name
    - `product_invoice_extra_details` string — Add content for invoice for product variant
    - `product_uid` string — Unique identifier for product
    - `image_url` string — Example: https://www.yourwebsite/product/image/url.jpg
    - `category_uid` string — Unique identifier for category
    - `quantity` integer
    - `barcode` string
    - `value` integer
    - `price` number
    - `discount_type` 'percentage' | 'amount' — 'percentage' OR 'amount'
    - `discount_value` number — Required if discount type have value
    - `shipping` boolean — Can be sent if you would like to show another line of shipping instead a product in the order summary table
    - `vat_type` 0 | 1 | 2 — 'vat included' OR 1-'vat not included' OR 2- 'exempt vat'
    - `guide_document_url` string — Mostly used for invoies to send manual docmentation of a product when customer buying product
  - `recurring_settings` object — nullable To use this setting recurring payments should be turn on and charge_method value should be 3
    - `instant_first_payment` boolean, required — Initial first payment immediately
    - `recurring_type` 0 | 1 | 2, required — (0 - daily, 1- weekly, 2- monthly)
    - `recurring_range` integer, required — What is the range of the payment, for example, is choosed in type monthly and in the range 1, then charge will be once a month. if range is 2, then every 2 months.
    - `number_of_charges` integer, required — How much charges will be in the recurring payments, 0 - Unlimited
    - `start_date_on_payment_date` boolean, required — In case you would like to start the recurring payments on specific day.
    - `start_date` integer, required — In case the above parameter is set to false, you have to choose the start date of the recurring payments on specific day of the month for example 15th. In case the date is higher then the choosen day, the system will create for next month.
    - `jump_payments` integer, required — Give free X days. If you would like to give one month free, then you can use 30 in this field and the system will give 30 days free till first charge.
    - `successful_invoice` boolean, required — In case invoice company is integrated, initial invoice for every successful payment
    - `customer_failure_email` boolean, required — Send e-mail to the customer for failure payment and inform him to contact the business to update payment details
    - `send_customer_success_email` boolean, required — Send successful e-mail to customer when charge in placed
    - `end_date` string — When the recurring will stop, in case the recurring is unlimited.
  - `secure3d` object — nullable To use default settings of the customer don't send this object, or if you would like to active or disable for this specific transaction
    - `activate` boolean, required
    - `force_challenge_3ds` boolean — Force 3DS challenge (always ask the customer for 3DS code)
    - `id` string
    - `phone` string
  - `allowed_issuers` string[]
  - `invoice_integration_uid` string
  - `cashier_uid` string

## Response `200`

200

- object
  - `results` object
    - `status` string
    - `code` integer
    - `description` string
  - `data` object
    - `page_request_uid` string
    - `payment_page_link` string
    - `qr_code_image` string

## Other responses

- `422` — 422

---

[API](https://skmtc.net/payplus/apis/payplus-api-documentation-production.md) · [All operations](https://skmtc.net/payplus/apis/payplus-api-documentation-production/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/payplus/payplus-api-documentation-production/versions/2a893057392b/schema)
