Note: Payment Links can currently only be configured via APIs. Dashboard-based configuration is under development and this section will be updated once available.
Available Configurations
UI Configurations
Payment Link UI can be configured at the business profile level, and this configuration is used when payment links are created under that profile.
You can also override this by providing UI configurations during individual payment link creation.
Sample Configuration:
{
"theme": "String", // Primary color of the payment link
"logo": "String", // Logo displayed in the details section
"seller_name": "String", // Merchant's name in the details section
"transaction_details": [PaymentLinkTransactionDetails], // Dynamic merchant-related details for the UI
"background_image": PaymentLinkBackgroundImageConfig, // Background image config for the details section
"details_layout": "api_enums::PaymentLinkDetailsLayout", // Layout configuration for the details section
"sdk_layout": "String", // Layout for the payment widget
"display_sdk_only": true, // Show only the payment widget
"enabled_saved_payment_method": true, // Show option to save payment methods (secure links only)
"hide_card_nickname_field": true, // Hide the card nickname input field
"show_card_form_by_default": true, // Show card form by default
"payment_button_text": "String" // Custom text for the Pay button
}
UI Customization Options
Primary Color
The primary color of the payment link UI can be set using the theme field in the configuration. This color is represented as a hex value.
Example: "#2167AE"
Primary theme
Merchant Logo
You can display a custom logo in the details section of the payment links by providing a URL.
Example: https://Pesaswap.io/favicon.ico
Primary theme
Merchant Name
Customize the display name shown in the details section of the payment links.
Example: "Pesaswap Inc."
Custom seller name
Dynamic Details
Include a list of key-value pairs in the details section of payment links. This list can be customized with optional configurations for each entry.
Note: The list is displayed in the specified order. Use the position attribute to control the sequence of entries.
Example:
[
{ "key": "Business Country", "value": "Germany" },
{
"key": "Policy Number",
"value": "938478327648",
"ui_configuration": {
"is_key_bold": false,
"is_value_bold": false,
"position": 2
}
},
{ "key": "Product Name", "value": "Life Insurance Elite" }
]
Background Image
Customize the background image of the details section.
Example:
{
"url": "https://img.freepik.com/free-photo/abstract-blue-geometric-shapes-background_24972-1841.jpg",
"position": "bottom",
"size": "cover"
}
The url specifies the image source, while position and size define its placement and scaling.
For available options, refer to the API reference here.
Background image
Details Section Layout
Choose a layout for the details section of the payment links.
Default Layout
Layout 2
Contact support for custom layout additions.
SDK Layout
Configure the layout for the payment widget using available SDK layouts.
Example: "accordion" or "tabs"
Accordion layout
Set a boolean value to render only the payment widget in the payment links. Defaults to false.
Render only the payment widget
Enable Saved Payment Methods
Enable rendering of saved payment methods and allow customers to save new ones in the payment widget. This is available only for secure payment links.
Save payment method checkbox
Saved payment methods
Hide Card Nickname Field
Set hide_card_nickname_field: true to remove the nickname input for saved cards.
Hidden card nickname field when card is requested to be saved
Visible card nickname field when card is requested to be saved
Set a boolean value to control the default form rendered in the payment widget. Enabling this shows the card payment form by default when a payment link is opened.
Payment Button Text
Customize the call-to-action button.
Example: "Proceed to Payment!"
Custom text for payment widget’s button
Other Configurations (Business Profile Level Only)
{
"domain_name": "String", // Custom domain for hosting links
"business_specific_configs": { "style_id": PaymentLinkConfigRequest }, // Multiple UI styles
"allowed_domains": ["domain1.com", "domain2.com"], // Domains where secure links can be embedded
"branding_visibility": false // Show or hide Pesaswap branding
}
Domain Name
Set a custom domain for hosting payment links.
Must be enabled before use. See docs on [Custom Domain Setup].
Multiple Style IDs
Define multiple styles under a profile using style IDs.
Example:
{
"style1": {
"theme": "#3B845E",
"logo": "https://Pesaswap.io/favicon.ico",
"seller_name": "Pesaswap Inc.",
"display_sdk_only": true
},
"style2": {
"theme": "#B202FF",
"logo": "https://i.pinimg.com/736x/4d/83/5c/4d835ca8aafbbb15f84d07d926fda473.jpg",
"seller_name": "Shopping Store",
"enabled_saved_payment_method": true
}
}
Use the payment_link_config_id field when creating a payment link to apply a specific style.
Allowed Domains
List of trusted domains (used only for secure links) where payment links can be embedded in an iframe.
Example: ["localhost:5500", "my.custom.domain.com"]
Branding Visibility
Control whether Pesaswap branding appears in the payment links.
Visible branding (default behaviour)
Hidden branding
true → Branding shown (default)
false → Branding hidden
Use the following API to set default configurations:
curl --location '{{BASE_URL}}/account/{{MERCHANT_ID}}/business_profile/{{PROFILE_ID}}' \
--header 'Content-Type: application/json' \
--header 'api-key: {{ADMIN_API_KEY}}' \
--data '{
"payment_link_config": {
"theme": "#4E6ADD",
"logo": "https://Pesaswap.io/favicon.ico",
"seller_name": "Pesaswap Inc.",
"sdk_layout": "accordion",
"display_sdk_only": true,
"enabled_saved_payment_method": true,
"hide_card_nickname_field": true,
"show_card_form_by_default": true,
"payment_button_text": "Proceed to Payment!",
"transaction_details": [
{
"key": "Policy Number",
"value": "297472368473924",
"ui_configuration": {
"position": 5,
"is_key_bold": true,
"is_value_bold": true
}
}
],
"business_specific_configs": {
"style1": {
"theme": "#3B845E",
"logo": "https://Pesaswap.io/favicon.ico",
"seller_name": "Pesaswap Inc.",
"display_sdk_only": true
},
"style2": {
"theme": "#B202FF",
"logo": "https://i.pinimg.com/736x/4d/83/5c/4d835ca8aafbbb15f84d07d926fda473.jpg",
"seller_name": "Shopping Store",
"enabled_saved_payment_method": true
}
},
"allowed_domains": ["localhost:5500"],
"domain_name": "my.custom.domain.com",
"branding_visibility": false
}
}'
Default Configuration Values
{
"theme": "#212E46",
"logo": "https://live.Pesaswap.io/payment-link-assets/Merchant_placeholder.png",
"seller_name": "merchant_name",
"transaction_details": null,
"background_image": null,
"details_layout": "layout1",
"sdk_layout": "tabs",
"display_sdk_only": false,
"enabled_saved_payment_method": false,
"hide_card_nickname_field": false,
"show_card_form_by_default": true,
"payment_button_text": "Pay Now"
}