Payment Link

📘

What's new - Oct 2024

  • Admin users can now set the default settings for Payment Link via the Payment Link Settings page - all payment links created via dashboard will now use the values configured in the Settings page by default.
  • Custom field inputted during payment link creation can now be exported as part of transaction report

Payment link provides an easy way to accept payments from your customers. Midtrans generates a link which redirects the customer to Midtrans's hosted checkout page. No technical integration is required. It is suitable for small business owners or sellers on social media platforms such as Instagram, Facebook, WhatsApp and so on.



Creating a Payment Link


To create a Payment Link, login to your MAP account, (optionally switch to your desired environment mode) and follow the steps given below.

  1. Click Payment Link on the left sidebar.
  2. Click Create button as shown below.


After clicking the Create button, you are redirected to Payment Link page. To create a link, the fields such as Order ID, Payment Link ID, Usage Limit, Item Name, and Item Price are required. You can also add a 'Title' to the payment link to show to your customers what the purpose of the payment - this title will then be shown in the Payment Link page that your customer will see.



LabelFieldDescriptionRemarks
1Order IDIt is unique ID for each Payment link.Each time, when you create a Payment Link, Order Id gets generated.
2Payment Link IDIt is the URL address of the Payment link.You can share the URL of Payment Link with your customers or on any social media platform.
3Usage LimitIt is a maximum number of times the Payment link can be used.If this field is set, then you can use the Payment Link for specified number of times.
4Item NameIt is the name of the product or service you are selling.-
5Item PriceIt is the price of the product or service you are charging.Item price of every SKU. Negative amount is also accepted (e.g. -10000) for usecases such as showing Discounts.

If you have a discount component as part as your SKU breakdown, you can incorporate it as part of Item Details as follows :


Additional options are available if (a) you want to send the Payment Link to a specific customer or (b) you want to include an expiration time and date.



If the transaction is intended for a specific customer, the Payment Link is sent straight to the specified customer’s email address.

  • Expiration Date field contains the date and time until when the Payment Link is valid.
  • Maximum Usage field indicates the number of times the link can be accessed.

The Payment Link is valid until either the Maximum Usage number is reached, or the expiration date/time is reached, whichever occurs first.


Dynamic amount support


You can also create a payment link where customer can define the amount when making payment instead of it being predetermined by merchant when creating payment link via the feature 'Dynamic Amount'. This is useful for usecases e.g. donations, repayments, tuition payments, down payments, preorders, and many others.

This feature is available for both dashboard creation flow, bulk create flow, and API creation flow.

To do so when creating payment link via dashboard, follow the steps below :

  1. Click Payment Link on the left sidebar.
  2. Click Create button.
  3. Create payment link as usual, tick Accept any amount in the Transaction amount section.
  4. Fill in additional information as necessary :
    1. Preset amount : amount that you can suggest for your customer to pay. When filled in, payment link's amount will be filled in with the prefilled amount, but can still be changed by user. This is useful for your customers when the amount to be paid is usually the same for every payment, however in some cases there might be some exceptions. This reduces possibility of human error in inputting the correct amount in customer's side as well. Preset amount is optional.
    2. Set limits : min and max amount that you can set as the bottom and top boundary - customer will not be able to input amount lower or higher than the set boundaries. Limits are optional
  5. Click Create Payment Link as usual and share the link to your customers.


Your customer then will see the following screen when they first open the payment link page (below example is when a preset amount is set) :



📘

Note

You cannot input product / SKU details when creating a payment link with Dynamic amount feature.



<br

Bulk Create Payment Link


You can also create payment links in bulk by uploading a CSV file containing the details of the payment links that you want to create. To do so, go to Dashboard > Payment Link then click the Create Button > Bulk Upload.

You can find the CSV templates to fill in order to create payment link via the top right Download CSV Template button.



The following information are mandatory to be filled in :

Field nameDescription / Notes
gross_amountAmount without decimal or currency marker
first_name / last_nameFill in either first name or last name
item_details_quantityCannot be in fractions. Item quantity multiplied by item price should match gross amount
item_details_nameMax 255 char, string
item_details_priceAmount without decimal or currency marker. Item quantity multiplied by item price should match gross amount


Once you've uploaded, you will see the 'Processing' status. Click 'Refresh' to check for the latest upload status - if status is successful, you can download the details under 'Action' column to check which payment links are successfully created and if not, what are the errors. You can also retrieve the payment link URLs for successfully created payment links via this CSV.



Optional : Setup Default Settings


Admin users can configure default settings of every payment links that are created via dashboard. Configuring this setting will auto populate the create payment link form in the dashboard with the values that are configured in the Payment Link Settings page - this is useful to reduce human errors and number of steps needed to create a payment link. Note that this value can still be flexibly changed when creating the payment link, allowing merchants to still be able to create payment links with irregular configurations.

To access the Payment Link Settings page, go to Payment Links page > click the Settings button, or go to Settings menu in the navigation bar > Payment Link.


Payment Link Settings Page

Payment Link Settings Page



Managing Payment Link


After creating the Payment Link, you are redirected to the Payment Link List page where you can view a list of Payment Links created. You can copy and share any of your links to your customers. You can see details of the links as well as you can delete your links from this page.



When you click Details, a page with all of the details of the Payment Link is displayed. Here, you can view the number of orders of the Payment Link and clicking the number shows you the orders on the transaction page.




Payment Link Page


When you send the Payment Link to customers, they can open the link and it will direct them to Midtrans Payment Page. If there is no specified customer, the customer first needs to enter their details such as Name, Phone, and Email to continue. Next, the customer needs to select a payment method and follow the payment instructions. Once the customer has completed the payment, you will receive a notification of the transaction.



Next Step


Sign Up for Midtrans Account


Sign up for a Midtrans Merchant Administration Portal (MAP) account, to get access to your own account dashboard, and Sandbox environment and to test around for free on Sandbox.

If you are planning only to use Payment Link without any other technical integration (non-programmer or don't have any website), most of the time you only need to:

  1. Sign Up,
  2. Learn how to create payment link explained above,
  3. Briefly understand the Midtrans Dashboard.

If you are also planning to use other technical integration method, you may want to explore more integration options.



Optional: Payment Link via API


If you need to create payment link programmatically via API, refer to the following guide.