217 lines
11 KiB
JavaScript
217 lines
11 KiB
JavaScript
export const gatewaySchema = {
|
||
key: 'payment.gateway',
|
||
title: '收款接口',
|
||
icon: 'fas fa-credit-card',
|
||
description: '配置支付网关凭据、回调校验口令与运行模式。开启渠道后展开填写配置,可随时收起。',
|
||
defaults: {
|
||
payment_gateway_mode: 'manual_review',
|
||
payment_gateway_test_enabled: true,
|
||
payment_gateway_manual_review: true,
|
||
payment_gateway_callback_secret: '',
|
||
payment_gateway_help: '未接真实支付网关时,建议使用测试网关或人工确认模式完成联调。',
|
||
payment_wechat_enabled: false,
|
||
payment_alipay_enabled: false,
|
||
payment_paypal_enabled: false,
|
||
payment_balance_enabled: true,
|
||
payment_card_pass_enabled: false,
|
||
payment_xunhupay_enabled: false,
|
||
payment_xhpay_enabled: false,
|
||
payment_payjs_enabled: false,
|
||
payment_epay_enabled: false,
|
||
payment_vmq_enabled: false,
|
||
payment_codepay_enabled: false,
|
||
payment_stripe_enabled: false,
|
||
wechat_merchantid: '',
|
||
wechat_appid: '',
|
||
wechat_payment_type: 'native',
|
||
wechat_api_v3_key: '',
|
||
wechat_private_key_path: '',
|
||
wechat_cert_path: '',
|
||
alipay_appid: '',
|
||
alipay_privatekey: '',
|
||
alipay_payment_type: 'page',
|
||
alipay_app_public_cert_path: '',
|
||
alipay_public_cert_path: '',
|
||
alipay_root_cert_path: '',
|
||
paypal_client_id: '',
|
||
paypal_client_secret: '',
|
||
paypal_currency: 'USD',
|
||
paypal_sandbox: true,
|
||
xunhupay_appid: '',
|
||
xunhupay_appsecret: '',
|
||
xhpay_mchid: '',
|
||
xhpay_alipay_v2: '',
|
||
xhpay_wx_h5: '',
|
||
payjs_mchid: '',
|
||
payjs_key: '',
|
||
epay_apiurl: '',
|
||
epay_pid: '',
|
||
epay_key: '',
|
||
stripe_secret_key: '',
|
||
stripe_publishable_key: '',
|
||
stripe_webhook_secret: '',
|
||
stripe_currency: 'usd',
|
||
stripe_test_mode: true,
|
||
},
|
||
groups: [
|
||
{
|
||
key: 'adapter',
|
||
title: '网关适配器',
|
||
icon: 'fas fa-plug',
|
||
fields: [
|
||
{ key: 'payment_gateway_mode', label: '运行模式', type: 'radio', default: 'manual_review', options: [{ label: '人工确认', value: 'manual_review' }, { label: '测试网关', value: 'test_gateway' }, { label: '适配器就绪', value: 'adapter_ready' }] },
|
||
{ key: 'payment_gateway_test_enabled', label: '启用测试网关', type: 'switch', default: true },
|
||
{ key: 'payment_gateway_manual_review', label: '保留人工复核', type: 'switch', default: true },
|
||
{ key: 'payment_gateway_callback_secret', label: '回调校验口令', type: 'input', default: '', help: '真实网关接入时可直接复用该口令字段。' },
|
||
{ key: 'payment_gateway_help', label: '运维说明', type: 'textarea', default: '未接真实支付网关时,建议使用测试网关或人工确认模式完成联调。' },
|
||
],
|
||
},
|
||
{
|
||
key: 'gateways',
|
||
title: '支付渠道开关',
|
||
icon: 'fas fa-toggle-on',
|
||
description: '先开启渠道,下方对应配置卡片会展开;填写凭据后网关状态变为可用。无凭据的内置渠道(余额/卡密)仅开关即可。',
|
||
fields: [
|
||
{ key: 'payment_wechat_enabled', label: '微信支付', type: 'switch', default: false },
|
||
{ key: 'payment_alipay_enabled', label: '支付宝', type: 'switch', default: false },
|
||
{ key: 'payment_paypal_enabled', label: 'PayPal', type: 'switch', default: false },
|
||
{ key: 'payment_stripe_enabled', label: 'Stripe', type: 'switch', default: false },
|
||
{ key: 'payment_xunhupay_enabled', label: '虎皮椒', type: 'switch', default: false },
|
||
{ key: 'payment_xhpay_enabled', label: '小火付', type: 'switch', default: false },
|
||
{ key: 'payment_payjs_enabled', label: 'PayJS', type: 'switch', default: false },
|
||
{ key: 'payment_epay_enabled', label: '易支付', type: 'switch', default: false },
|
||
{ key: 'payment_vmq_enabled', label: 'V免签', type: 'switch', default: false, help: '当前仅开关占位,凭据接入后补齐。' },
|
||
{ key: 'payment_codepay_enabled', label: 'Codepay', type: 'switch', default: false, help: '当前仅开关占位,凭据接入后补齐。' },
|
||
{ key: 'payment_balance_enabled', label: '余额支付', type: 'switch', default: true, help: '需同时在「余额充值」启用余额功能。关闭后用户中心仍可有钱包,但结账不可用余额支付。' },
|
||
{ key: 'payment_card_pass_enabled', label: '卡密充值', type: 'switch', default: false, help: '卡密规则在「卡密设置」;此处仅控制是否作为收款渠道展示。' },
|
||
],
|
||
},
|
||
{
|
||
key: 'wechat',
|
||
title: '微信支付配置',
|
||
icon: 'fab fa-weixin',
|
||
description: '开启「微信支付」后填写商户号与密钥。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_wechat_enabled',
|
||
dependsOn: { key: 'payment_wechat_enabled', value: true },
|
||
fields: [
|
||
{ key: 'wechat_merchantid', label: '商户号', type: 'input', default: '' },
|
||
{ key: 'wechat_appid', label: 'AppID', type: 'input', default: '' },
|
||
{ key: 'wechat_payment_type', label: '支付方式', type: 'select', default: 'native', options: [
|
||
{ label: '扫码支付(Native)', value: 'native' },
|
||
{ label: 'H5支付', value: 'h5' },
|
||
] },
|
||
{ key: 'wechat_api_v3_key', label: 'APIv3密钥', type: 'input', default: '', help: '微信商户平台设置的 APIv3 密钥(32位)。' },
|
||
{ key: 'wechat_private_key_path', label: '商户私钥路径', type: 'input', default: '', help: 'apiclient_key.pem 绝对路径,用于签名。' },
|
||
{ key: 'wechat_cert_path', label: '商户API证书路径', type: 'input', default: '', help: 'apiclient_cert.pem 绝对路径。' },
|
||
],
|
||
},
|
||
{
|
||
key: 'alipay',
|
||
title: '支付宝配置',
|
||
icon: 'fab fa-alipay',
|
||
description: '开启「支付宝」后填写应用与回调地址。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_alipay_enabled',
|
||
dependsOn: { key: 'payment_alipay_enabled', value: true },
|
||
fields: [
|
||
{ key: 'alipay_appid', label: 'AppID', type: 'input', default: '' },
|
||
{ key: 'alipay_privatekey', label: '应用私钥', type: 'textarea', rows: 3, default: '' },
|
||
{ key: 'alipay_payment_type', label: '支付方式', type: 'select', default: 'page', options: [
|
||
{ label: '电脑网站支付(web)', value: 'page' },
|
||
{ label: '手机网站支付(wap)', value: 'wap' },
|
||
] },
|
||
{ key: 'alipay_app_public_cert_path', label: '应用公钥证书路径', type: 'input', default: '', help: 'appCertPublicKey.crt 绝对路径。' },
|
||
{ key: 'alipay_public_cert_path', label: '支付宝公钥证书路径', type: 'input', default: '', help: 'alipayCertPublicKey_RSA2.crt 绝对路径。' },
|
||
{ key: 'alipay_root_cert_path', label: '支付宝根证书路径', type: 'input', default: '', help: 'alipayRootCert.crt 绝对路径。' },
|
||
{ key: 'alipay_notify_help', label: '回调地址说明', type: 'notice', alertType: 'info', alertContent: '异步通知 / 同步返回已固定为 /wp-json/aksrt/v1/payment/alipay/{notify|return},无需在此填写。' },
|
||
],
|
||
},
|
||
{
|
||
key: 'paypal',
|
||
title: 'PayPal 配置',
|
||
icon: 'fab fa-paypal',
|
||
description: '开启「PayPal」后填写 Client 凭据。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_paypal_enabled',
|
||
dependsOn: { key: 'payment_paypal_enabled', value: true },
|
||
fields: [
|
||
{ key: 'paypal_client_id', label: 'Client ID', type: 'input', default: '' },
|
||
{ key: 'paypal_client_secret', label: 'Client Secret', type: 'input', default: '' },
|
||
{ key: 'paypal_currency', label: '货币', type: 'input', default: 'USD' },
|
||
{ key: 'paypal_sandbox', label: '沙箱模式', type: 'switch', default: true },
|
||
],
|
||
},
|
||
{
|
||
key: 'stripe',
|
||
title: 'Stripe 配置',
|
||
icon: 'fab fa-stripe',
|
||
description: '开启「Stripe」后填写 API Key 与 Webhook。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_stripe_enabled',
|
||
dependsOn: { key: 'payment_stripe_enabled', value: true },
|
||
fields: [
|
||
{ key: 'stripe_secret_key', label: 'Secret Key', type: 'input', default: '' },
|
||
{ key: 'stripe_publishable_key', label: 'Publishable Key', type: 'input', default: '' },
|
||
{ key: 'stripe_webhook_secret', label: 'Webhook Secret', type: 'input', default: '', help: 'Stripe Dashboard 配置 Webhook 后获得,用于验签。' },
|
||
{ key: 'stripe_currency', label: '货币', type: 'input', default: 'usd' },
|
||
{ key: 'stripe_test_mode', label: '测试模式', type: 'switch', default: true },
|
||
],
|
||
},
|
||
{
|
||
key: 'xunhupay',
|
||
title: '虎皮椒配置',
|
||
icon: 'fas fa-pepper-hot',
|
||
description: '开启「虎皮椒」后填写 App 凭据。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_xunhupay_enabled',
|
||
dependsOn: { key: 'payment_xunhupay_enabled', value: true },
|
||
fields: [
|
||
{ key: 'xunhupay_appid', label: 'AppID', type: 'input', default: '' },
|
||
{ key: 'xunhupay_appsecret', label: 'AppSecret', type: 'input', default: '' },
|
||
],
|
||
},
|
||
{
|
||
key: 'xhpay',
|
||
title: '小火付配置',
|
||
icon: 'fas fa-fire',
|
||
description: '开启「小火付」后填写商户与通道参数。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_xhpay_enabled',
|
||
dependsOn: { key: 'payment_xhpay_enabled', value: true },
|
||
fields: [
|
||
{ key: 'xhpay_mchid', label: '商户号', type: 'input', default: '' },
|
||
{ key: 'xhpay_alipay_v2', label: '支付宝V2', type: 'input', default: '' },
|
||
{ key: 'xhpay_wx_h5', label: '微信H5', type: 'input', default: '' },
|
||
],
|
||
},
|
||
{
|
||
key: 'payjs',
|
||
title: 'PayJS 配置',
|
||
icon: 'fab fa-js',
|
||
description: '开启「PayJS」后填写商户号与通信密钥。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_payjs_enabled',
|
||
dependsOn: { key: 'payment_payjs_enabled', value: true },
|
||
fields: [
|
||
{ key: 'payjs_mchid', label: '商户号', type: 'input', default: '' },
|
||
{ key: 'payjs_key', label: '通信密钥', type: 'input', default: '' },
|
||
],
|
||
},
|
||
{
|
||
key: 'epay',
|
||
title: '易支付配置',
|
||
icon: 'fas fa-university',
|
||
description: '开启「易支付」后填写接口与商户信息。',
|
||
collapsible: true,
|
||
expandWhen: 'payment_epay_enabled',
|
||
dependsOn: { key: 'payment_epay_enabled', value: true },
|
||
fields: [
|
||
{ key: 'epay_apiurl', label: '接口地址', type: 'input', default: '' },
|
||
{ key: 'epay_pid', label: '商户ID', type: 'input', default: '' },
|
||
{ key: 'epay_key', label: '商户密钥', type: 'input', default: '' },
|
||
],
|
||
},
|
||
],
|
||
}
|