feat(payment): enhance Mellat gateway with sandbox support and WSDL configuration
This commit is contained in:
@@ -37,6 +37,8 @@ const schema = z.object({
|
||||
// payment gateways
|
||||
payment_test_mode: z.string(),
|
||||
mellat_enabled: z.string(),
|
||||
mellat_sandbox: z.string(),
|
||||
mellat_wsdl_url: z.string(),
|
||||
mellat_terminal_id: z.string(),
|
||||
mellat_username: z.string(),
|
||||
mellat_password: z.string(),
|
||||
@@ -65,6 +67,8 @@ const toForm = (s: Partial<Settings>): FormValues => ({
|
||||
appointment_fee_rials: s.appointment_fee_rials ?? '150000',
|
||||
payment_test_mode: s.payment_test_mode ?? '0',
|
||||
mellat_enabled: s.mellat_enabled ?? '1',
|
||||
mellat_sandbox: s.mellat_sandbox ?? '0',
|
||||
mellat_wsdl_url: s.mellat_wsdl_url ?? '',
|
||||
mellat_terminal_id: s.mellat_terminal_id ?? '',
|
||||
mellat_username: s.mellat_username ?? '',
|
||||
mellat_password: s.mellat_password ?? '',
|
||||
@@ -202,6 +206,7 @@ export default function SettingsPage() {
|
||||
|
||||
const paymentTestMode = watch('payment_test_mode') === '1';
|
||||
const mellatEnabled = watch('mellat_enabled') === '1';
|
||||
const mellatSandbox = watch('mellat_sandbox') === '1';
|
||||
const sepEnabled = watch('sep_enabled') === '1';
|
||||
const apptCommissionEnabled = watch('appointment_commission_enabled') === '1';
|
||||
const upgradeCommissionEnabled = watch('upgrade_commission_enabled') === '1';
|
||||
@@ -423,6 +428,15 @@ export default function SettingsPage() {
|
||||
</div>
|
||||
</Field>
|
||||
</div>
|
||||
<div className="settings-grid" style={{ gridTemplateColumns: '1fr auto', alignItems: 'end', marginTop: 12 }}>
|
||||
<Field label="آدرس WSDL (اختیاری — خالی = عملیاتی)">
|
||||
<input {...register('mellat_wsdl_url')} className="input" dir="ltr" placeholder="https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl" />
|
||||
</Field>
|
||||
<div className="gw-state" style={{ color: mellatSandbox ? 'var(--warning)' : 'var(--text-3)' }}>
|
||||
{mellatSandbox ? 'Sandbox (آزمایشگاه)' : 'واقعی'}
|
||||
<Toggle checked={mellatSandbox} onChange={() => toggle('mellat_sandbox', mellatSandbox)} label="حالت Sandbox ملت" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* سپ */}
|
||||
|
||||
Reference in New Issue
Block a user