Preference API

API for Snap Preferences. Modifiable features include active payment methods and look and feel customization.



Get Snap Preferences


Retrieve your current Snap Preference settings.

Endpoints: /snap/v3/merchant-preferences
HTTP Method: GET
Headers:

Content-Type: application/json
Accept: application/json

Production: https://app.midtrans.com/snap/v3/merchant-preferences

Sandbox: https://app.sandbox.midtrans.com/snap/v3/merchant-preferences

KeyDescription
AuthorizationBasic Base64Encode(merchantServerKey:)

Response JSON Body Details


{
    "merchant_id": "M007743",
    "display_name": "DEMO STORE",
    "finish_payment_return_url": "https://midtrans.com/finish",
    "error_payment_return_url": "https://midtrans.com/error",
    "locale": "en",
    "other_va_processor": "bri_va",
    "allow_retry": true,
    "hide_order_id": false,
    "brand": {
        "typography": "Poppins",
        "header_color": "#ffffff",
        "button_color": "#0256A7",
        "input_border_radius": 10,
        "button_border_radius": 10,
        "hide_header": false
    },
    "payment_channels": [
        {
            "name": "credit_card",
            "enabled": true
        },
        {
            "name": "bca_va",
            "enabled": true
        }
    ]
}
{
    "error_messages": [
        "Access denied, please check server key"
    ]
}

ParameterTypeDescription
display_nameStringThe name of the merchant or store that will be displayed on the checkout page
finish_payment_return_urlStringThe URL to which the user will be redirected after successfully completing a payment.
error_payment_return_urlStringThe URL for redirecting the user in case an error occurs during the payment process
localeStringSpecifies the language and regional settings for the checkout page
other_va_processorStringAlternative virtual account processor that the merchant can use for transactions. Corresponds to the Other Bank/ATM Bank Processor menu in Snap Preference > System Settings. Options: permata_va, bni_va, bri_va, cimb_va
allow_retryBooleanA boolean value that, when true, allows users to retry payments if their initial attempt fails
hide_order_idBooleanA boolean value that, when set to false, shows the order id on the checkout page.
brand.typographyStringSpecifies the font family to be used on the checkout page.

Options: Arial,Inter,Nunito,Open Sans,Playfair Display,Poppins,Questrial,Roboto,Source Sans Pro
brand.header_colorStringHex code of header color of the checkout page
brand.button_colorStringHex code of the color of buttons on the checkout page.
brand.input_border_radiusStringThese fields define the border radius (in pixels) for input fields, affecting their rounded corners. Max value is 10.
brand.button_border_radiusStringThese fields define the border radius (in pixels) for buttons, affecting their rounded corners. Max value is 10.
brand.hide_headerStringA boolean value that, when set to false, shows the header on the checkout page.
payment_channelsArray of ObjectAn array of objects, each representing a payment method available on the checkout page. Each object has the following properties:

name: The identifier for the payment method (e.g., "credit_card", "bca_va", “gopay”).

enabled: A boolean indicating whether the payment method is available for use.


Update Snap Preference


Update your current Snap Preference settings.

Endpoints: /snap/v3/merchant-preferences
HTTP Method: PATCH
Headers:

Content-Type: application/json
Accept: application/json

Production: https://app.midtrans.com/snap/v3/merchant-preferences

Sandbox: https://app.sandbox.midtrans.com/snap/v3/merchant-preferences


Request Body


{
    "display_name": "DEMO STORE",
    "finish_payment_return_url": "https://midtrans.com/finish",
    "error_payment_return_url": "https://midtrans.com/error",
    "locale": "en",
    "other_va_processor": "bri_va",
    "allow_retry": true,
    "hide_order_id": false,
    "brand": {
        "typography": "Poppins",
        "header_color": "#ffffff",
        "button_color": "#0256A7",
        "input_border_radius": 10,
        "button_border_radius": 10,
        "hide_header": false
    },
    "payment_channels": [
        {
            "name": "credit_card",
            "enabled": true
        },
        {
            "name": "bca_va",
            "enabled": true
        },
        {
            "name": "permata_va",
            "enabled": true
        },
        {
            "name": "other_va",
            "enabled": true
        },
        {
            "name": "echannel",
            "enabled": true
        },
        {
            "name": "indomaret",
            "enabled": true
        },
        {
            "name": "gopay",
            "enabled": true
        },
        {
            "name": "akulaku",
            "enabled": true
        },
        {
            "name": "alfamart",
            "enabled": true
        },
        {
            "name": "bri_va",
            "enabled": true
        },
        {
            "name": "bni_va",
            "enabled": true
        },
        {
            "name": "shopeepay",
            "enabled": true
        },
        {
            "name": "kredivo",
            "enabled": true
        },
        {
            "name": "other_qris",
            "enabled": true
        },
        {
            "name": "cimb_va",
            "enabled": true
        }
    ]
}
{
    "error_messages": [
        "Payment type credit_card is invalid for this merchant"
    ]
}
{
    "error_messages": [
        "Access denied, please check server key"
    ]
}

ParameterTypeDescription
display_nameStringThe name of the merchant or store that will be displayed on the checkout page
finish_payment_return_urlStringThe URL to which the user will be redirected after successfully completing a payment.
error_payment_return_urlStringThe URL for redirecting the user in case an error occurs during the payment process
localeStringSpecifies the language and regional settings for the checkout page
other_va_processorStringAlternative virtual account processor that the merchant can use for transactions. Corresponds to the Other Bank/ATM Bank Processor menu in Snap Preference > System Settings. Options: permata_va, bni_va, bri_va, cimb_va
allow_retryBooleanA boolean value that, when true, allows users to retry payments if their initial attempt fails
hide_order_idBooleanA boolean value that, when set to false, shows the order id on the checkout page.
brand.typographyStringSpecifies the font family to be used on the checkout page.

Options: Arial,Inter,Nunito,Open Sans,Playfair Display,Poppins,Questrial,Roboto,Source Sans Pro
brand.header_colorStringHex code of header color of the checkout page
brand.button_colorStringHex code of the color of buttons on the checkout page.
brand.input_border_radiusStringThese fields define the border radius (in pixels) for input fields, affecting their rounded corners. Max value is 10.
brand.button_border_radiusStringThese fields define the border radius (in pixels) for buttons, affecting their rounded corners. Max value is 10.
brand.hide_headerStringA boolean value that, when set to false, shows the header on the checkout page.
payment_channelsObjectAn array of objects, each representing a payment method available on the checkout page. Each object has the following properties:

name: The identifier for the payment method (e.g., "credit_card", "bca_va", “gopay”).

enabled: A boolean indicating whether the payment method is available for use.