-
-
+
+
+
+
+ {{ callbackPaths.notifyUrl }}
+
-
- {{ t('admin.settings.payment.field_notifyUrl') }}:
- {{ callbackBaseUrl || defaultBaseUrl }}{{ callbackPaths.notifyUrl }}
-
-
-
{{ t('admin.settings.payment.field_returnUrl') }}:
-
{{ callbackBaseUrl || defaultBaseUrl }}{{ callbackPaths.returnUrl }}
+
+
+
+
+ {{ callbackPaths.returnUrl }}
+
@@ -231,14 +249,16 @@ const form = reactive({
})
const config = reactive
>({})
const limits = reactive>>({})
-const callbackBaseUrl = ref('')
+const notifyBaseUrl = ref('')
+const returnBaseUrl = ref('')
const limitsExpanded = ref(false)
+const visibleFields = reactive>({})
// --- Computed ---
const defaultBaseUrl = typeof window !== 'undefined' ? window.location.origin : ''
const stripeWebhookUrl = computed(() =>
- form.provider_key === 'stripe' ? (callbackBaseUrl.value || defaultBaseUrl) + WEBHOOK_PATHS.stripe : '',
+ form.provider_key === 'stripe' ? defaultBaseUrl + WEBHOOK_PATHS.stripe : '',
)
const callbackPaths = computed(() => PROVIDER_CALLBACK_PATHS[form.provider_key] || null)
@@ -284,7 +304,9 @@ function onKeyChange() {
function clearConfig() {
Object.keys(config).forEach(k => delete config[k])
Object.keys(limits).forEach(k => delete limits[k])
- callbackBaseUrl.value = ''
+ Object.keys(visibleFields).forEach(k => delete visibleFields[k])
+ notifyBaseUrl.value = ''
+ returnBaseUrl.value = ''
limitsExpanded.value = false
}
@@ -352,12 +374,11 @@ function handleSave() {
filteredConfig[k] = v
}
- // Inject computed callback URLs from base URL + fixed paths
+ // Inject computed callback URLs (each URL = independent base + fixed path)
const paths = PROVIDER_CALLBACK_PATHS[form.provider_key]
if (paths) {
- const base = callbackBaseUrl.value || defaultBaseUrl
- if (paths.notifyUrl) filteredConfig['notifyUrl'] = base + paths.notifyUrl
- if (paths.returnUrl) filteredConfig['returnUrl'] = base + paths.returnUrl
+ if (paths.notifyUrl) filteredConfig['notifyUrl'] = (notifyBaseUrl.value || defaultBaseUrl) + paths.notifyUrl
+ if (paths.returnUrl) filteredConfig['returnUrl'] = (returnBaseUrl.value || defaultBaseUrl) + paths.returnUrl
}
emit('save', {
@@ -402,10 +423,13 @@ function loadProvider(provider: ProviderInstance) {
if (k === 'notifyUrl' || k === 'returnUrl') continue
config[k] = v
}
- // Extract base URL from existing notifyUrl
+ // Extract base URLs from existing callback URLs
const paths = PROVIDER_CALLBACK_PATHS[provider.provider_key]
if (paths?.notifyUrl && provider.config['notifyUrl']) {
- callbackBaseUrl.value = extractBaseUrl(provider.config['notifyUrl'], paths.notifyUrl)
+ notifyBaseUrl.value = extractBaseUrl(provider.config['notifyUrl'], paths.notifyUrl)
+ }
+ if (paths?.returnUrl && provider.config['returnUrl']) {
+ returnBaseUrl.value = extractBaseUrl(provider.config['returnUrl'], paths.returnUrl)
}
}
applyDefaults()